خلايا VBA Excel | كيفية استخدام خاصية مرجع الخلية مع كائن النطاق؟

الخلايا هي في الواقع خلايا من ورقة العمل وفي VBA عندما نشير إلى الخلايا على أنها خاصية نطاق ، فإننا نشير بالفعل إلى الخلايا الدقيقة ، بمعنى آخر ، يتم استخدام الخلية مع خاصية النطاق وطريقة استخدام خاصية الخلايا هي كما يلي النطاق ( .Cells (1،1)) الآن الخلايا (1،1) تعني الخلية A1 الوسيطة الأولى للصف والثانية لمرجع العمود.

مراجع خلايا VBA

لا تحتاج إلى أي مقدمة خاصة حول ماهية خلية VBA. في مفاهيم VBA ، الخلايا هي نفسها أيضًا ولا تختلف عن خلايا Excel العادية. اتبع هذه المقالة للحصول على مزيد من المعرفة بمفهوم خلايا VBA.

ما هو نطاق VBA وخلية VBA؟

أنا متأكد من أن هذا هو السؤال الذي يدور في ذهنك الآن. في VBA Range هو كائن ولكن الخلية هي خاصية في ورقة Excel. في VBA ، لدينا طريقتان للإشارة إلى كائن خلية ، أحدهما من خلال النطاق والآخر من خلال الخلايا.

على سبيل المثال ، إذا كنت تريد الإشارة إلى الخلية C5 ، فيمكنك استخدام طريقتين للإشارة إلى الخلية C5.

باستخدام أسلوب النطاق: المدى ("C5")

باستخدام طريقة الخلايا: الخلايا (5 ، 3)

وبالمثل ، إذا كنت تريد إدخال قيمة "Hi" في خلية C5 ، فيمكنك استخدام الكود أدناه.

باستخدام أسلوب النطاق: Range ("C5"). القيمة = "Hi"

باستخدام طريقة الخلايا: الخلايا (5 ، 3). القيمة = "مرحبًا"

الآن إذا كنت تريد تحديد خلايا متعددة ، فيمكننا فقط التحديد من خلال كائن النطاق. على سبيل المثال ، إذا كنت أرغب في تحديد خلايا من A1 إلى A10 أدناه ، يوجد الرمز.

الرمز: النطاق ("A1: A10") حدد

لكن لسوء الحظ ، يمكننا فقط الإشارة إلى خلية واحدة في كل مرة باستخدام خاصية CELLS. يمكننا استخدام الخلايا مع كائن النطاق مثل أدناه

النطاق (“A1: C10”) الخلايا (5،2) تعني في النطاق A1 إلى C10 الصف الخامس والعمود الثاني ، أي خلية B5.

صيغة خاصية الخلايا في VBA

ألقِ نظرة على صيغة خاصية CELLS.

  • مؤشر الصف: هذا لا شيء سوى الصف الذي نشير إليه.
  • فهرس العمود: هذا لا شيء سوى العمود الذي نشير إليه.
  • الخلايا (1 ، 1) تعني الخلية A1 ، الخلايا (2 ، 1) تعني الخلية A2 ، الخلايا (1 ، 2) تعني الخلية B1.
  • الخلايا (2 ، 2) تعني خلية B2 ، الخلايا (10 ، 3) تعني خلية C10 ، الخلايا (15 ، 5) تعني خلية E15.

# 1 - كيفية استخدام خاصية CELLS في VBA؟

الآن سوف أعلمك كيفية استخدام خاصية CELLS هذه في VBA.

يمكنك تنزيل قالب Excel لخلايا VBA من هنا - قالب Excel لخلايا VBA

افترض أنك تعمل في اسم الورقة المسمى البيانات 1  وتريد إدراج قيمة "مرحبًا" في الخلية A1.

الكود أدناه سيفعل ذلك من أجلك.

 Cells_Example () خلايا فرعية (1، 1) .Value = "Hello" End Sub 

نتيجة:

الآن سأنتقل إلى اسم الورقة المسمى Data 2 وسأقوم بتشغيل الكود. حتى هناك سيتم إدراج كلمة "مرحبًا".

في الواقع ، يمكننا دمج خاصية CELLS مع اسم ورقة معين أيضًا. للإشارة إلى ورقة معينة ، استخدم كائن WORKSHEET.

أوراق العمل ("البيانات 1"). الخلايا (1،1). القيمة = "مرحبًا"

سيؤدي هذا إلى إدراج كلمة "مرحبًا" في الورقة "البيانات 1" بغض النظر عن الورقة التي أنت فيها.

# 2 - كيفية استخدام خاصية CELLS مع Range Object؟

في الواقع ، يمكننا استخدام خاصية CELLS مع كائن RANGE. على سبيل المثال ، انظر إلى الكود أدناه.

النطاق ("C2: E8"). الخلايا (1 ، 1). حدد

لفهم أفضل ، لقد أدخلت بعض الأرقام في ورقة Excel.

نطاق الكود أعلاه ("C2: E8") خلايا (1 ، 1) حدد يقول في النطاق C2 إلى E8 حدد الخلية الأولى. قم بتشغيل هذا الرمز وانظر ماذا يحدث.

 Sub Cells_Example () Range ("C2: E8"). خلايا (1 ، 1). حدد End Sub 

لقد حددت الخلية C2. لكن الخلايا (1 ، 1) تعني الخلية A1 ، أليس كذلك؟

سبب تحديدها للخلية C2 لأنه باستخدام كائن النطاق ، أصررنا على النطاق مثل C2 إلى E8 ، لذلك تعامل خاصية Cells النطاق من C2 إلى E8 ، وليس من خلية A1 العادية. في هذا المثال ، C2 هو الصف الأول والعمود الأول ، لذلك الخلايا (1 ، 1). حدد خلية C2.

الآن سوف أقوم بتغيير الكود إلى Range (“C2: E8”) خلايا (3، 2) اختر وشاهد ما سيحدث.

قم بتشغيل هذا الرمز وتحقق من الخلية التي ستختارها بالفعل.

 Sub Cells_Example () Range ("C2: E8"). خلايا (3، 2). حدد End Sub 

لقد حدد الخلية D4 أي رقم 26. الخلايا (3،2) تعني بدءًا من الخلية C2 تم نقلها لأسفل بمقدار 3 صفوف وتحريك عمودين إلى اليمين ، أي الخلية D4.

# 3 - خاصية الخلايا مع الحلقات

تمتلك خاصية CELLS مع الحلقات علاقة جيدة جدًا في VBA. لنلقِ نظرة على مثال إدخال الأرقام التسلسلية من 1 إلى 10 باستخدام FOR LOOP. انسخ والصق الكود أدناه في الوحدة الخاصة بك.

 Sub Cells_Example () Dim i As Integer For i = 1 إلى 10 Cells (i، 1) .Value = i Next i End Sub 

لقد أعلنت هنا المتغير I كعدد صحيح.

ثم تقدمت بطلب FOR LOOP مع I = 1 إلى 10 أي أن الحلقة تحتاج للتشغيل 10 مرات.

الخلايا (i ، 1) .value = i

هذا يعني أنه عند تشغيل الحلقة لأول مرة ، ستكون قيمة "I" هي 1 ، لذلك حيثما تكون قيمة "I" هي 1 أي خلية (1،1) .value =

عندما تعرض الحلقة قيمة "I" للمرة الثانية ، تكون 2 ، لذا أينما كانت قيمة "I" ، فهي 2. i .e. الخلية (2،1). القيمة = 2

سيتم تشغيل هذه الحلقة 10 مرات وإدراج قيمة I من A1 إلى A10.

أشياء يجب تذكرها في خلايا VBA

  • CELLS هي خاصية ولكن النطاق هو كائن. يمكننا استخدام خاصية مع كائنات ولكن لا نعترض عليها.
  • عندما يتم توفير النطاق ، ستنظر الخلايا في هذا النطاق فقط ، وليس النطاق العادي.
  • الخلايا (1 ، 2) هي خلية B1 ، وبالمثل الخلايا (1 ، "B") هي أيضًا خلية B1.

$config[zx-auto] not found$config[zx-overlay] not found