متغيرات VBA وأنواع البيانات والثوابت في Excel

⚡ ملخص ذكي

تُستخدم متغيرات VBA وأنواع البيانات والثوابت في Excel لتخزين القيم التي يتعامل معها البرنامج وتسميتها. تشرح هذه الصفحة قواعد تسمية المتغيرات، والإعلان الضمني والصريح باستخدام Dim، وأنواع البيانات الرقمية وغير الرقمية، وكيفية تعريف ثابت باستخدام Const.

  • 📦 متغير: قيمة مُسماة محفوظة في الذاكرة يقوم البرنامج بتخزينها ثم قراءتها لاحقًا.
  • 🔤 قواعد التسمية: الاسم يتكون من أقل من 255 حرفًا، ولا يحتوي على مسافات، ولا يبدأ برقم، ولا يحتوي على نقطة.
  • ✍️ إعلان: تُعلن الكلمة المفتاحية Dim عن متغير بشكل صريح، على سبيل المثال Dim Num As Integer.
  • 🔢 الأنواع الرقمية: بايت، عدد صحيح، عدد طويل، مفرد، Doubleتختلف العملات والأرقام العشرية في التخزين والنطاق.
  • 🔠 الأنواع غير الرقمية: تحتوي الأنواع String و Boolean و Date و Object و Variant على النصوص، والقيم المنطقية (صواب أو خطأ)، والتواريخ، والكائنات.
  • 🔒 ثابت: تُعلن الكلمة المفتاحية Const عن قيمة لا يمكن تغييرها، مثل Const DaysInYear = 365.

متغيرات VBA وأنواع البيانات والثوابت في Excel

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

متغيرات VBA

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

لتسمية المتغير في VBA، يجب عليك اتباع القواعد التالية.

  • يجب أن يكون أقل من 255 حرفًا
  • لا يسمح بأي مسافة
  • يجب ألا يبدأ برقم
  • الفترة غير مسموح بها

فيما يلي بعض الأمثلة للأسماء الصالحة وغير الصالحة للمتغيرات في VBA.

متغيرات VBA الأسماء الصالحة متغيرات VBA أسماء غير صالحة
ساعتي ساعتي
نيوكار1 1_سيارة جديدة (لا تبدأ برقم)
الموظف معرف الموظف (غير مسموح بالمساحة)

In VBA، نحتاج إلى الإعلان عن المتغيرات قبل استخدامها عن طريق تعيين الأسماء ونوع البيانات.

في VBA، يتم الإعلان عن المتغيرات ضمنيًا أو صراحةً.

  • بشكل ضمني: فيما يلي مثال للمتغير المعلن ضمنيًا.
  • التسمية = المعلم99
  • الحجم = 4
  • صراحة: فيما يلي مثال للمتغير المعلن بشكل صريح. يمكنك استخدام الكلمة الأساسية "Dim" في بناء الجملة
  • خافت رقم كعدد صحيح
  • خافت كلمة المرور كسلسلة

متغير VBA لا يختلف عن لغات البرمجة الأخرى. للإعلان عن متغير في VBA يمكنك استخدام الكلمة الأساسية "خافت."

بناء الجملة لمتغير VBA،

للإعلان عن متغير في VBA، اكتب Dim متبوعًا بالاسم:

Sub Exercise ()
        Dim <name>
End Sub

قبل أن نقوم بتنفيذ المتغيرات علينا تسجيل أ ماكرو في إكسللتسجيل ماكرو، قم بما يلي:

الخطوة 1): سجل الماكرو 1

الخطوة 2) : إيقاف ماكرو 1

الخطوة 3): افتح محرر الماكرو، وأدخل رمز المتغير في ملف Macro1

الخطوة 4): قم بتنفيذ الكود الخاص بـ Macro 1

على سبيل المثال، لمتغير VBA

Sub Macro1()
	Dim Num As Integer
	Num = 99
	MsgBox " Guru " & Num
End Sub

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

متغيرات VBA

أنواع بيانات Excel VBA

لا يستطيع الحاسوب التفريق بين الأرقام (1,2,3،XNUMX،XNUMX..) والسلاسل (a،b،c،..). ولإجراء هذا التفريق نستخدم أنواع البيانات.

يمكن تقسيم أنواع بيانات VBA إلى نوعين

  • أنواع البيانات الرقمية
النوع التخزين مدى من القيم
بايت بايت 1 0 إلى 255
عدد صحيح بايت 2 -32,768 ل32,767
طويل بايت 4 -2,147,483,648 ل2,147,483,648
غير متزوجة بايت 4 -3.402823E+38 إلى -1.401298E-45 للقيم السالبة، 1.401298E-45 إلى 3.402823E+38 للقيم الموجبة.
Double بايت 8 -1.79769313486232e+308 إلى -4.94065645841247E-324 للقيم السالبة
4.94065645841247E-324 إلى 1.79769313486232e+308 للقيم الإيجابية.
العملة بايت 8 -922,337,203,685,477.5808 ل922,337,203,685,477.5807
عشري بايت 12 +/- 79,228,162,514,264,337,593,543,950,335 إذا لم يتم استخدام علامة عشرية +/- 7.9228162514264337593543950335 (28 منزلة عشرية)
  • أنواع البيانات غير الرقمية
نوع البيانات وحدات البايت المستخدمة مدى من القيم
سلسلة (طول ثابت) طول الخيط من 1 إلى 65,400 حرفًا
سلسلة (طول متغير) الطول + 10 بايت من 0 إلى 2 مليار حرف
منطقية بايت 2 صحيحة أو خاطئة
التاريخ بايت 8 من 1 يناير 100 إلى 31 ديسمبر 9999
هدف بايت 4 أي كائن مضمن
البديل (رقمي) بايت 16 أي قيمة كبيرة مثل Double
البديل (النص) الطول+22 بايت نفس السلسلة ذات الطول المتغير

في VBA، إذا كان لم يتم تحديد نوع البيانات، وسوف يعلن تلقائيا المتغير كمتغير.

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

الخطوة 1) كما هو الحال في البرنامج التعليمي السابق، سنقوم بإدخال الأمر CommandButton1 في ملفنا ورقة اكسل.

أنواع بيانات Excel VBA

الخطوة 2) في الخطوة التالية، انقر بزر الماوس الأيمن على الزر وحدد عرض الرمز. سيتم فتح نافذة الكود كما هو موضح أدناه.

أنواع بيانات Excel VBA

الخطوة 3) في هذه الخطوة،

  • احفظ ملفك بالضغط على زر حفظ أنواع بيانات Excel VBA
  • ثم اضغط على أيقونة إكسل أنواع بيانات Excel VBA في نفس النافذة لإرجاع ورقة Excel.
  • يمكنك أن ترى أن وضع التصميم "قيد التشغيل" مظلل باللون الأخضر

أنواع بيانات Excel VBA

الخطوة 4) قم بإيقاف تشغيل وضع التصميم، قبل النقر فوق زر الأمر

أنواع بيانات Excel VBA

الخطوة 5) بعد إيقاف تشغيل وضع التصميم، ستنقر على commandButton1. سيظهر المتغير التالي كإخراج للنطاق الذي أعلناه في الكود.

  • الاسم
  • تاريخ الانضمام
  • الدخل بالعملة

أنواع بيانات Excel VBA

ثابت في VBA

الثابت يشبه المتغير، لكن لا يمكنك تعديله. للإعلان عن ثوابت VBA، يمكنك استخدام الكلمة الأساسية CONST.

هناك نوعان من الثوابت،

  • مدمج أو جوهري يقدمه التطبيق.
  • رمزية أو محددة من قبل المستخدم

يمكنك إما تحديد النطاق كـ خاص بشكل افتراضي أو جمهور. فمثلا،

أيام الإنشاء العامة في السنة = 365

أيام العمل الخاصة = 250

قم بتنزيل Excel الذي يحتوي على الكود أعلاه

قم بتنزيل ملف Excel أعلاه Code

نطاق المتغير والخيار الصريح

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

البحث عن كلمة مجال حياة
خافت (داخل الساندويتش الفرعي) الإجراء الوحيد الذي تم الإعلان عنه فيه أعد ضبط الإعدادات في كل مرة يتم فيها تشغيل الإجراء
ساكن الإجراء فقط، ولكن القيمة محفوظة يتم تذكره بين المكالمات
خاص (في أعلى الوحدة) كل إجراء في تلك الوحدة يسكن أثناء فتح دفتر التمارين
عام (في أعلى الوحدة) كل وحدة في المشروع يسكن أثناء فتح دفتر التمارين

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

الأسئلة الشائعة

يُخزّن المتغير قيمةً يمكن للبرنامج تغييرها أثناء تشغيله. أما الثابت، فيُخزّن قيمةً ثابتةً باستخدام Const ولا يمكن تغييرها. استخدم الثابت لقيمة لا تتغير أبدًا، مثل نسبة الضريبة.

لا يستوعب نوع البيانات Integer إلا قيمًا تتراوح بين -32,768 و32,767، لذا فإن عدد الصفوف أو قيمة كبيرة جدًا تتسبب في تجاوز سعته. أما نوع البيانات Long فيستوعب قيمًا أكبر بكثير، Microsoft يوصي الآن باستخدام Long للأعداد الصحيحة في VBA الحديثة.

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

نعم. تقرأ برامج الذكاء الاصطناعي المساعدة في كتابة التعليمات البرمجية كيفية استخدام المتغير وتقترح نوعًا مناسبًا، مثل Long للعداد أو String للنص. يؤكد المطور الاختيار ويضيف Option Explicit.

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

تلخيص هذه التدوينة بـ: