كيفية استخدام خلية كمتغير في vba؟

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

  1. استخدم الكلمة الأساسية “Dim” وأدخل اسم المتغير.
  2. قم بتعريف الكلمة الأساسية كـ Range .
  3. اكتب اسم المتغير.
  4. حدد النطاق الذي تريد تعيينه للمتغير.
استخدم الكلمة الأساسية قاتمة

تعيين التحديد لمتغير النطاق

يمكنك أيضًا استخدام النطاق المحدد لمتغير ثم استخدام هذا المتغير للوصول إلى الخصائص والأساليب. خذ بعين الاعتبار التعليمة البرمجية التالية.

 Sub vba_range_variable() Dim rng As Range Set rng = Selection Selection.Clear End Sub

ولكن هناك شيء واحد يجب عليك توخي الحذر منه، وهو أنه عند تحديد كائن آخر غير النطاق، سيُظهر لك VBA خطأً.

تحديد كائن آخر غير النطاق

ولكنها أيضًا طريقة ديناميكية حيث لا تحتاج إلى تغيير النطاق مرارًا وتكرارًا.

انسخ نطاقًا باستخدام متغير

بمجرد إعلان متغير كنطاق، يمكنك أيضًا نسخ هذا النطاق باستخدام اسم المتغير هذا. لنفترض أنك قمت بتعريف النطاق A1:A10 كمتغير rng (المثال أعلاه)، يمكنك نسخه باستخدام الكود التالي.

ترتيب النسخ باستخدام متغير
 Sub vba_range_variable() Dim rng As Range Set rng = Range("A1:A10") rng.Copy End Sub

استخدام متغير النطاق في دالة

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

 Sub vba_range_variable() Dim iNames As Variant Dim rng As Range Set rng = Range("A1:A10") Range("B1") = WorksheetFunction.Max(rng) End Sub
استخدم متغير النطاق في دالة

يأخذ قيمًا في النطاق A1:A10 وبما أنك تحتاج إلى استخدام المتغير “rng” فقد استخدمنا المتغير في القيمة القصوى لإخراجه.

ذات صلة: كيفية استخدام WorksheetFunction في VBA

حساب عدد الصفوف والأعمدة

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

 Sub vba_range_variable() Dim rng As Range Set rng = Range("A1:A10") MsgBox "This range has " & _ rng.Rows.Count & " row(s) and " & _ rng.Columns.Count & " coulmn(s)." End Sub
حساب عدد الصفوف والأعمدة

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

تعريف ورقة العمل مع النطاق

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

 Dim rng As Range Set rng = Worksheets("Sheet1").Range("A1:A10")

اضف تعليق

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *