صريح خيار VBA | كيفية جعل إعلان المتغير إلزاميًا؟
خيار Excel VBA صريح
يعد إعلان المتغيرات مهمًا جدًا في VBA ، حيث يجعل Option Explicit المستخدم إلزاميًا للإعلان عن جميع المتغيرات قبل استخدامها ، وأي متغير غير محدد سيؤدي إلى خطأ أثناء تنفيذ الكود ، ويمكننا كتابة خيار الكلمة الرئيسية بشكل صريح أو يمكننا تمكينه من أجل جميع الرموز من الخيارات من خلال تمكين طلب إعلان متغير.
في VBA ، كل شيء يتعلق بالمتغيرات. من أجل تخزين البيانات ، نحتاج إلى متغيرات بنوع بيانات مناسب. يمكنك أن تسألني لماذا تحتاج إلى متغير بينما يمكنك إضافة القيمة مباشرة إلى جدول البيانات نفسه. هذا بشكل أساسي بسبب تعدد المستخدمين للمصنف ، إذا تم التعامل معه من قبل شخص واحد ، فيمكنك الرجوع مباشرة إلى القيمة إلى الورقة نفسها. من خلال إعلان المتغيرات ، يمكننا إنشاء كود مرن لتخزين البيانات.
ما هو VBA Option Explicit؟
آمل أن تكون قد صادفت الكلمة ذات الخط الأزرق "Option Explicit" في الجزء العلوي من الوحدة النمطية الخاصة بك قبل أن يبدأ أي ماكرو في تلك الوحدة.
في بداية تعلم VBA ، لم أفهم أيضًا ما كان ذلك ، ولكي أكون صريحًا جدًا لم أفكر في هذا على الإطلاق. ليس فقط بالنسبة لي أو لك ولكن الأمر نفسه بالنسبة للجميع في البداية. لكننا سنرى أهمية هذه الكلمة الآن.
"الخيار الصريح" هو معلمنا في التصريح عن المتغير. بإضافة هذه الكلمة يجعل إعلان المتغير عملية إلزامية.
يمكنك تنزيل قالب Excel الصريح لخيار VBA هذا هنا - قالب Excel الصريح لخيار VBAللحصول على مثال ، انظر إلى الكود أدناه لفهمه.
رمز:
المثال الفرعي 1 () i = 25 MsgBox i End Sub
إذا قمت بتشغيل هذا الرمز ، فسنحصل على قيمة المتغير "I" في مربع الرسالة في VBA.
الآن سأضيف كلمة "Option Explicit" في بداية كود VBA.
الآن سأقوم بتشغيل الكود وأرى ما سيحدث. إذا كنت تتدرب معي ، فاضغط على المفتاح F5 لتشغيل الكود.
حصلنا على خطأ في التجميع وهو يقول "المتغير غير محدد" . لم نعلن عن المتغير "i" ولكن على الفور قمنا بتعيين القيمة له على أنها 25.
بما أننا أضفنا كلمة "Option Explicit" ، فهذا يجبرنا على إعلان المتغير بشكل إلزامي.
في الكود أعلاه ، الأبجدية "i" غير معرّفة ، لذلك أضفنا كلمة تحكم المتغير "Option Explicit" ، وهي تمنعنا من استخدام المتغيرات غير المعلنة.
في اللحظة التي تضيف فيها كلمة "Option Explicit" في الجزء العلوي من الوحدة النمطية ، يكون قابلاً للتطبيق على جميع وحدات الماكرو في تلك الوحدة المعينة للإعلان عن المتغيرات بشكل إلزامي.
كيفية جعل إعلان المتغير إلزاميا؟
إذا قمت بإضافة موجه المتغير "Option Explicit" يدويًا في الوحدة النمطية الخاصة بك عند إدخال الوحدة الجديدة ، فلن تحصل على موجه المتغير هذا افتراضيًا.
إذا كنت تعتقد أنه في كل مرة تحتاج إلى إضافة كلمة "Option Explicit" لجميع الوحدات الجديدة يدويًا ، فأنت مخطئ.
لأنه يمكننا جعل هذه الكلمة إلزامية في جميع الوحدات عن طريق إجراء إعداد بسيط. اتبع الخطوات أدناه لضبط الإعدادات.
الخطوة 1: اذهب إلى محرر Visual basic.
الخطوة 2: اذهب إلى TOOLS وانقر على الخيارات.
الخطوة 3: في اللحظة التي تنقر فيها على خيارات ، سترى النافذة أدناه.
الخطوة 4: ضمن هذه النافذة ، انتقل إلى المحرر وحدد الخيار "طلب إعلان متغير" .
الخطوة 5: انقر فوق "موافق" لإغلاق النافذة.
من الآن فصاعدًا ، كلما أضفت وحدة جديدة ، فإنه يقوم تلقائيًا بإدراج كلمة "Option Explicit" افتراضيًا.
الخيار الصريح هو المدخر الخاص بك
يساعدنا الخيار الصريح بعدة طرق ، بدءًا من جعل إعلان المتغير إلزاميًا ، سيساعدنا حتى التنفيذ. انظر إلى الكود أدناه.
رمز:
المثال الفرعي 2 () Dim CurrentValue كـ عدد صحيح CurentValue = 500 MsgBox CurrentValue End Sub
في الكود أعلاه ، أعلنت عن المتغير "CurrentValue" باعتباره عددًا صحيحًا. في السطر التالي ، قمت بتعيين قيمة 500 له. إذا قمت بتشغيل هذا الرمز ، يجب أن أحصل على 500 كنتيجة في مربع رسالة. لكن انظر ماذا سيحدث.
تقول "متغير غير محدد" وسلطت الضوء على السطر الثاني.
إذا نظرنا عن كثب إلى السطر الثاني ، فهناك خطأ إملائي بسيط. اسم المتغير الخاص بي هو "CurrentValue" ولكن في السطر الثاني فقدت تهجئة واحدة مثل "r". تقول "CurrentValue" بدلاً من "CurrentValue". منذ أن جعلت إعلان المتغير إلزاميًا عن طريق إضافة كلمة "Option Explicit" في excel VBA ، فقد سلطت الضوء على الخطأ المطبعي الذي قمت به.
لذلك عندما نصحح الإملاء ونشغل الكود ، سنحصل على النتيجة على النحو التالي.
قل مرحبا للموجه المتغير المعين حديثا !!!