بالإضافة إلى التحقق من الشرطين If ... Then ... Else و Select Case ، يمكننا أيضًا استخدام عمليات التحقق التالية:
IsNumeric (الوظيفة التي استخدمناها في الدرس السابق) تُرجع TRUE (TRUE) إذا كانت القيمة رقمًا ، و FALSE (FALSE) إذا - ليس رقمًا:
If IsNumeric(Range("A1")) = True Then 'إذا كانت القيمة هي رقم ...
ينتج عن الكود التالي نفس تأثير الرمز السابق (لا نحتاج إلى تضمين = True لأن البنية نفسها هي فحص شرطي):
If IsNumeric(Range("A1")) = True Then 'إذا كانت القيمة هي رقم ...
إذا أردنا التحقق مما إذا كانت القيمة ليست رقمًا ، فيمكننا القيام بذلك بطريقتين:
If IsNumeric(Range("A1")) = False Then 'إذا كانت القيمة ليست رقمًا ...
If Not IsNumeric(Range("A1")) Then 'إذا كانت القيمة ليست رقمًا ...
لنلقِ نظرة على بعض الوظائف الأخرى المشابهة لـ IsNumeric:
If IsDate(Range("A1")) Then 'إذا كانت القيمة هي التاريخ ...
If IsEmpty(Range("A1")) Then 'إذا كانت فارغة ...
If var_object Is Nothing Then 'إذا لم يتم تحديد الكائن ...
لتنفيذ الأوامر بناءً على نوع المتغير ، سنحتاج إلى استخدام وظيفة VarType.
ستظهر قائمة أنواع المتغيرات بمجرد إدخال علامة "=":
If VarType(my_variable) = vbInteger Then 'إذا كان my_variable نوعًا متغيرًا Integer ...
قيم الثوابت:
ثابت | قيمة |
---|---|
vbEmpty | 0 |
vbNull | 1 |
vbInteger | 2 |
vbLong | 3 |
vbSingle | 4 |
vbDouble | 5 |
vbCurrency | 6 |
vbDate | 7 |
vbString | 8 |
vbObject | 9 |
vbError | 10 |
If VarType(my_variable) = vbInteger Then 'إذا كان my_variable نوعًا متغيرًا Integer ... 'مطابق لـ: If VarType(my_variable) = 2 Then 'إذا كان my_variable نوعًا متغيرًا Integer ...
قبل ذلك بقليل استخدمنا مقتطف الشفرة التالي:
my_variable = "Example 12345" If my_variable = "Example 12345" Then '=> TRUE (TRUE)
في هذه الحالة ، يكون الشريطان متماثلان ، ولكن إذا أردنا التحقق مما إذا كان المتغير يحتوي على القيمة "12345" ؛ دون النظر إلى الأحرف الأخرى ، يجب أن نستخدم الأمر Like والعامل * (العلامة النجمية) قبل وبعد القيمة التي نبحث عنها.
يتم فك تشفير عامل التشغيل * (علامة النجمة) على النحو التالي: أي حرف أو مجموعة من الأحرف:
my_variable = "Example 12345" If my_variable Like "* 12345 *" Then '=> TRUE (TRUE)
عامل التشغيل # (التجزئة) يتم فك ترميزه على النحو التالي: أي حرف رقمي واحد من 0 إلى 9:
my_variable = "Example 12345" If my_variable Like "Example 12###" Then '=> TRUE (TRUE)
المشغل أو العامل؟ (علامة الاستفهام) يتم فك شفرتها على النحو التالي: أي حرف مفرد:
my_variable = "Example 12345" If my_variable Like "?xample?1234?" Then '=> TRUE (TRUE)
يمكننا أيضًا استخدام أحرف محددة أو مجموعة من الأحرف بنفس الطريقة:
my_variable = "Example 12345" If my_variable Like "[DEF] xample 1234 [4-7]" Then '=> TRUE (TRUE)
المشغل أو العامل! (علامة التعجب) المضافة بعد [تعني: أي حرف غير محاط بأقواس مربعة:
my_variable = "Example 12345" If my_variable Like "[! GHIJ] xample 1234 [! 6-9]" Then '=> TRUE (TRUE)