نطاق مجموعة VBA | دليل لتعيين مجموعة من الخلايا في Excel VBA Code

اضبط النطاق في Excel VBA

مجموعة النطاق في vba تعني أننا نحدد نطاقًا معينًا للكود أو الإجراء المطلوب تنفيذه ، إذا لم نوفر نطاقًا معينًا لكود ، فسوف يفترض تلقائيًا النطاق من ورقة العمل التي تحتوي على الخلية النشطة ، لذا فهي مهمة جدًا في رمز مجموعة متغير النطاق.

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

ما هو كائن المدى؟

يشار إلى النطاق في VBA ككائن. يمكن أن يحتوي النطاق على خلية واحدة ، أو عدة خلايا ، أو صف أو عمود ، إلخ ...

في VBA يمكننا تصنيف النطاق على النحو التالي.

"التطبيق >>> المصنف >>> ورقة العمل >>> النطاق"

أولاً ، نحتاج إلى الوصول إلى التطبيق ، ثم ضمن هذا ، نحتاج إلى الإشارة إلى المصنف الذي نشير إليه وفي المصنف ، نشير إلى ورقة العمل التي نشير إليها ثم في ورقة العمل نحتاج إلى ذكر نطاق الخلايا.

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

كيفية الوصول إلى مجموعة من الخلايا في Excel VBA؟

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

في تشفير VBA ، يمكننا الرجوع إلى الخلية باستخدام خاصية VBA CELLS وكائن RANGE. على سبيل المثال ، إذا كنت تريد الرجوع إلى الخلية A1 ، فسنرى أولاً استخدام كائن RANGE.

داخل الإجراء الفرعي ، نحتاج أولاً إلى فتح كائن RANGE.

رمز:

 Range_Examples فرعي () نطاق (End Sub 

كما ترى أعلاه ، يسأل كائن RANGE عن الخلية التي نشير إليها. لذلك نحن بحاجة إلى إدخال عنوان الخلية بين علامتي اقتباس.

رمز:

 Range_Examples فرعي () نطاق ("A1") End Sub 

بمجرد توفير عنوان الخلية ، نحتاج بعد ذلك إلى اتخاذ قرار بشأن ما يجب فعله بهذه الخلية باستخدام الخصائص والطرق. الآن ضع نقطة لمعرفة خصائص وأساليب كائن RANGE.

إذا أردنا إدخال القيمة في الخلية ، فنحن بحاجة إلى اختيار خاصية "القيمة".

رمز:

 نطاق Range_Examples () فرعي ("A1"). قيمة نهاية فرعية 

لتعيين القيمة ، نحتاج إلى وضع علامة يساوي وإدخال القيمة التي نريد إدراجها في الخلية A1.

رمز:

 نطاق Range_Examples () فرعي ("A1"). القيمة = "فئة Excel VBA" End Sub 

قم بتشغيل الكود من خلال خيار التشغيل وشاهد السحر في الخلية A1.

كما هو مذكور في الكود ، حصلنا على القيمة في الخلية A1.

وبالمثل ، يمكننا الرجوع إلى الخلية باستخدام خاصية CELLS أيضًا. افتح خاصية CELLS وانظر بناء الجملة.

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

بعد ذكر عنوان الخلية يمكننا استخدام الخصائص والطرق للعمل مع الخلايا. لكن المشكلة هنا تختلف عن كائن النطاق بعد وضع النقطة ، لا يمكننا رؤية قائمة التحسس.

لذلك ، يجب أن تكون خبيرًا للإشارة إلى الخلايا باستخدام خاصية CELLS.

رمز:

 خلايا CELLS_Examples () فرعية (1 ، 1). القيمة = "فئة Excel VBA" End Sub 

الوصول إلى خلايا متعددة وإعداد مرجع النطاق في VBA

أحد الاختلافات الكبيرة بين CELLS & RANGE هو استخدام CELLS يمكننا الوصول إلى خلية واحدة فقط ولكن باستخدام RANGE يمكننا الوصول إلى خلايا متعددة أيضًا.

على سبيل المثال بالنسبة للخلايا A1 إلى B5 إذا أردنا القيمة 50 ، فيمكننا كتابة الكود على النحو التالي.

رمز:

 نطاق Range_Examples () فرعي ("A1: B5"). القيمة = 50 End Sub 

سيؤدي هذا إلى إدراج القيمة 50 من الخلية A1 إلى B5.

بدلاً من الإشارة إلى الخلايا مباشرةً ، يمكننا استخدام المتغير للاحتفاظ بمرجع الخلايا المحددة.

أولاً ، حدد المتغير على أنه كائن "Range".

رمز:

 Sub Range_Examples () Dim Rng As Range End Sub 

بمجرد تعريف المتغير على أنه كائن "Range" ، نحتاج إلى تعيين المرجع لهذا المتغير حول ماهية عناوين الخلية التي ستحتفظ بالمرجع إليها.

لتعيين المرجع ، نحتاج إلى استخدام الكلمة الأساسية "SET" وإدخال عناوين الخلية باستخدام كائن RANGE.

رمز:

 Sub Range_Examples () Dim Rng As Range Set Rng = Range ("A1: B5") End Sub 

الآن يشير المتغير "Rng" إلى الخلايا من A1 إلى B5.

بدلاً من كتابة نطاق عنوان الخلية ("A1: B5") يمكننا ببساطة استخدام اسم المتغير "Rng".

رمز:

 Sub Range_Examples () Dim Rng As Range Set Rng = Range ("A1: B5") Rng.Value = "إعداد النطاق" End Sub 

الآن سيؤدي هذا إلى إدراج القيمة المذكورة من خلية A1 إلى خلية B5.

افترض أنك تريد أن تكون الخلية المحددة مرجعًا ، ثم يمكننا تعيين المرجع على النحو التالي.

رمز:

 Sub Range_Examples () Dim Rng As Range Set Rng = Selection Rng.Value = "إعداد النطاق" End Sub 

هذا جمال لأنني إذا حددت أيًا من الخلايا وقمت بتشغيله ، فسيتم إدراج القيمة في تلك الخلايا أيضًا.

على سبيل المثال ، سأختار خلايا معينة.

الآن سأنفذ الكود ونرى ما سيحدث.

تم إدراج القيمة لجميع الخلايا المحددة.

مثل هذا ، يمكننا تعيين مرجع النطاق من خلال إعلان المتغيرات في VBA.

أشياء للذكرى

  • يمكن للنطاق تحديد خلايا متعددة ولكن يمكن لـ CELLS تحديد خلية واحدة في كل مرة.
  • RANGE هو كائن و CELLS هو خاصية.
  • أي متغير كائن يجب تعيين مرجع للكائن باستخدام الكلمة الأساسية SET.

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