المتغيرات العامة لـ VBA | كيفية الإعلان عن المتغيرات العامة في VBA (أمثلة)

المتغيرات العامة في VBA

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

كيف تصرح عن المتغيرات العامة في VBA؟

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

يمكنك تنزيل قالب Excel للمتغيرات العامة لـ VBA هنا - قالب Excel للمتغيرات العامة لـ VBA

في كل مرة نكتب إجراءًا فرعيًا جديدًا نعلن عن متغيرات جديدة مع أنواع البيانات المخصصة لها. لكننا اليوم سوف نقول وداعًا للمتغيرات المتكررة عبر الإجراءات الفرعية.

دعنا نتذكر النمط القديم ، فيما يلي الكود الذي كتبته باستخدام متغير واحد.

في الإجراء الفرعي "Public_Variable" لقد أعلنت هذا المتغير. الآن لا يمكنني استخدام أي من الوحدات الأخرى.

الآن في الإجراء الفرعي "Public_Variable1" لا يمكننا استخدام المتغير "Var1" الذي تم الإعلان عنه في الإجراء الفرعي الأول "Public_Variable". هذا هو الحد من التصريح عن المتغيرات داخل الإجراءات الفرعية.

# 1 - متغيرات مستوى الوحدة النمطية

كما نعلم جميعًا ، نكتب وحدات ماكرو في وحدات ، يمكننا إدخال عدد من الوحدات. يمكننا أن نعلن عن نوعين من "المتغيرات العامة" في VBA ، أحدهما هو استخدام المتغيرات لجميع الإجراءات الفرعية في نفس الوحدة والثاني هو استخدام المتغيرات لجميع الإجراءات الفرعية عبر جميع الوحدات.

أولاً ، سنرى الإعلان عن المتغيرات العامة في VBA على مستوى الوحدة.

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

يوجد أدناه مثال على لقطة الشاشة لتفهمك.

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

داخل الإجراء الفرعي ، يبدأ في كتابة اسم المتغير ، يمكنك رؤية قائمة IntelliSense وستظهر أسماء المتغيرات.

الآن يمكننا استخدام هذه المتغيرات في جميع وحدات الماكرو التي نكتبها في "Module1".

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

في الوحدة 2 لا يمكنني استخدام تلك المتغيرات التي أعلنا عنها في "الوحدة 1".

لذا ، كيف يمكننا جعل هذه المتغيرات عامة في VBA لاستخدامها في جميع الوحدات النمطية وعبر جميع الإجراءات الفرعية؟

# 2 - قم بتعريف المتغيرات واستخدمها علنًا

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

طريقتنا التقليدية في استخدام كلمة "DIM" أعلنا عن هذه المتغيرات.

عندما نستخدم كلمة "DIM" فقط ، يقتصر استخدامها على جميع وحدات الماكرو ولكن في نفس الوحدة.

بدلاً من كلمة "DIM" نحتاج إلى استخدام كلمة "PUBLIC" أو "GLOBAL" لجعلها متاحة للاستخدام عبر جميع وحدات وحدات الماكرو.

لقد استخدمت كلمة "Global" لجعل إعلان المتغير عامًا. يمكنك أيضًا استخدام كلمة "عام".

لذلك ، باستخدام الكلمتين "عالمي" و "عام" ، يمكننا إعلان المتغيرات التي يمكن استخدامها لجميع وحدات الماكرو عبر الوحدات النمطية.

أشياء للذكرى

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

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