القائمة الرئيسية

الصفحات

نطاق المتغيرات في لغة VBA

سنتعرف في هذا الدرس على نطاق المتغيرات Variable Scope أي نطاق الكود الذي يمكننا استخدام المتغير فيه .






قم بإضافة وحدة برمجية جديدة عن طريق فتح قائمة Insert ثم الضغط على Module


نطاق المتغيرات في لغة VBA





سيتم اضافة وحدة برمجية جديدة اسمها Module1


نطاق المتغيرات في لغة VBA




داخل الوحدة البرمجية الجديدة قم بتعريف اجراء اسمه sub1 يقوم بعمل التالي :

- تعريف المتغير var من النوع Integer

- اسناد المتغير var القيمة 5

- عرض قيمة المتغير var في مربع رسالة .


ثم قم بتعريف اجراء أخر اسمه sub2 يقوم بعمل التالي :

- اسناد المتغير var القيمة 7

- عرض قيمة المتغير var في مربع رسالة .


نطاق المتغيرات في لغة VBA





قم بإضافة الكود التالي داخل الحدث Click الخاص بزر الأمر . هذا الكود بقوم بإستدعاء الاجراء sub1 والاجراء sub2


نطاق المتغيرات في لغة VBA





عند الضغط على زر الأمر سيقوم بتنفيذ الاجراء sub1 واظهار قيمة المتغير var وهي 5


نطاق المتغيرات في لغة VBA




لكن عند تنفيذ الاجراء sub2 سيقوم برنامج Excel بعرض رسالة خطأ أن المتغير var غير معرف , والسبب في ذلك أن المتغير var تم تعريفه داخل الاجراء sub1 لذا لا يمكنك استخدامه خارج الاجراء sub1 وهذا ما يسمى بنطاق المتغير Variable Scope


نطاق المتغيرات في لغة VBA





قم بإيقاف تنفيذ الكود عن طريق الضغط على زر Stop


نطاق المتغيرات في لغة VBA





لحل هذه المشكلة قم بتعريف المتغير var في بداية الكود قبل أي اجراء أو دالة بذلك سيكون المتغير عام ويمكنك استخدامه في أي مكان داخل الكود .


نطاق المتغيرات في لغة VBA





الأن عند الضغط على زر الأمر سيقوم بتنفيذ الاجراء sub1 واظهار قيمة المتغير var وهي 5


نطاق المتغيرات في لغة VBA




ثم سيقوم بتنفيذ الاجراء sub2 واظهار قيمة المتغير var الجديدة وهي 7


نطاق المتغيرات في لغة VBA