المتغيرات العالمية لـ VBA | كيف تعلن المتغير العالمي في VBA؟

يتم تعريف بعض الوظائف داخل دالة ويتم استخدامها داخل الوظائف ويتم تعريف بعض المتغيرات خارج الوظائف ويتم استخدامها بواسطة جميع الوظائف ويتم استخدام هذه المتغيرات كمتغيرات عامة ، على سبيل المثال ، المتغيرات المعلنة تحت الوظيفة الفرعية هي المعروفة باسم المتغيرات العالمية.

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

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

ما هي المتغيرات العالمية في Excel VBA؟

المتغيرات العالمية لـ VBA هي متغيرات يتم الإعلان عنها قبل بدء أي ماكرو في الوحدة النمطية. عندما يتم التصريح عن المتغيرات باستخدام إما "عام" أو "عام" ، فإنها تصبح "متغير عالمي".

لا يمكن استخدام متغيرات الإجراء الفرعي في أي مكان

عادةً ما نعلن عن المتغير داخل الروتين الفرعي في vba باستخدام كلمة "Dim".

انظر إلى الصورة أعلاه لقد أعلنت أن المتغير "k" كعدد صحيح داخل الإجراء الفرعي Global_Example1.

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

كما هو موضح في الصورة أعلاه ، لا يمكن استخدام المتغير "k" الذي تم الإعلان عنه في الإجراء الفرعي Global_Example1 في الإجراء الفرعي Global_Example2.

وبالمثل ، لا يمكن استخدام المتغير "j" المعلن في الإجراء الفرعي Global_Example2 في الإجراء الفرعي Global_Example1 على الرغم من وجود كلا الإجراءين الفرعيين في نفس الوحدة النمطية.

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

فيما يلي طرق إعلان متغير عام في Excel VBA.

# 1 - يمكن استخدام متغيرات الوحدة النمطية في أي إجراء فرعي في نفس الوحدة

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

في الصورة أعلاه ، لقد أعلنت المتغير في بداية الوحدة فقط. لقد أعلنت أن المتغير "MyNumber" هو عدد صحيح في الوحدة 1 .

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

المشكلة هي أننا لا نستطيع استخدامها في أي من الوحدات الأخرى. في هذه الحالة ، لا يمكن استخدام المتغير "MyNumber" المعلن في الوحدة 1 في الوحدة 2.

 # 2 - يمكن استخدام المتغيرات العالمية في أي إجراء فرعي وأيضًا في أي وحدة نمطية

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

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

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

في لقطة الشاشة أعلاه ، أعلنت عن المتغير في الوحدة رقم 1. لدي وحدتان أخريان باسم الوحدة 2 والوحدة 3.

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

ليس فقط "عام" ، ولكن يمكننا أيضًا استخدام كلمة "عالمي" للإعلان عن المتغير.

Global & Public هما الكلمتان الأساسيتان للإعلان عن المتغير وإتاحتهما عبر الوحدات النمطية في VBA.

أشياء للذكرى

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

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