كيفية استعمال الشروط في الماكرو VBA | اكسيل الجزء 2
في هذه التدوينة سنكمل تعلم كيفية استعمال الشروط في
الماكرو - اكسيل الجزء الثاني
دالة ISNUMERIC
سنقوم
بالرجوع الى دالة ISNUMERIC التي
رأيناها في التدوينة السابقة الجزء الأول من كيفية استعمال الشروط إذا كانت القيمة رقمية True و False إذا لم تكن كذلك:
If IsNumeric(Range("A1")) = True Then
If IsNumeric(Range("A1")) Then
هذان
الخطان متطابقان (ليس من الضروري ادخال True= لأننا
نحاول معرفة ما إذا كان التعبير صحيحًا
اذا
أردنا أردنا التحقق مما إذا كانت القيمة ليست رقمية ، فلدينا أيضًا احتمالان:
If IsNumeric(Range("A1")) = False Then 'Si la
valeur n'est pas numérique
If Not IsNumeric(Range("A1")) Then 'Si la valeur n'est pas numérique
هناك
العديد من الوظائف الأخرى التي يمكنك استخدامها في ظروفك أو بشكل عام في أكواد VBA
وظائف التاريخ
هناك
العديد من وظائف التاريخ والوقت التي يمكن استخدامها سنخصص لها تدوينة خاصة بها لاحقا ، مايلي بعض
الأمثلة.
ترجع الدالة IsDate
صحيح إذا كانت قيمة تاريخ أو خطأ إذا لم تكن كذلك:
If IsDate(Range("A1")) Then 'Si la valeur est une date
تتيح
لك وظيفة Day استخراج
اليوم من التاريخ:
If Day(Range("A1")) = 1 Then 'Si c'est le premier jour du mois
تسمح لك وظيفة Year باستخراج
السنة من تاريخ:
If Year(Range("A1")) = 2021 Then 'Si c'est une date de l'année 2021
ترجع الدالة Weekday رقم يوم الأسبوع:
If Weekday(Range("A1"), 2) >= 6 Then 'Si c'est un samedi ou un dimanche
تقوم
دالة Date بإرجاع التاريخ الحالي:
If Range("A1") < Date Then 'Si la date est passée
ISEMPTY دالة
ترجع الدالة ISEMPTY
القيمة True إذا تمت تهيئة المتغير أو False إذا لم يكن متغيرًا:
If IsEmpty(maVariable) Then 'Si la variable a été initialisée
في
هذا المثال ، يكون الشرط صحيحًا لأنه لم يتم تعيين أي نوع أو قيمة له maVariable
Sub exemple()
Dim maVariable
If IsEmpty(maVariable) Then
MsgBox "Ma variable n'a pas été initialisée !"
Else
MsgBox "Ma variable contient : " & maVariable
End If
End Sub
الشرط وفقًا لمقارنة سلاسل مكونة من حرفين
حتى
الآن رأينا هذا فقط:
maVariable = "Exemple 12345"
If maVariable = "Exemple 12345" Then '=> Vraiفي
هذه الحالة ، تكون السلاسل المكونة من حرفين متطابقة ، وبالتالي يكون التعبير
صحيحًا.
الآن
للتحقق مما إذا كان المتغير يحتوي على القيمة 12345 بغض النظر عن الأحرف الأخرى ، سنستخدم عامل التشغيل Like كما * أمام وخلف القيمة التي يجب العثور عليها.
الخاصية * يمكن أن تحل محل لا شيء ، حرف واحد أو أكثر:
maVariable = "Exemple 12345"
If maVariable Like "*12345*" Then '=> Vrai
الخاصية # يمكن أن يحل محل حرف رقمي من 0 إلى 9:
maVariable = "Exemple 12345"
If maVariable Like "Exemple 12###" Then '=> Vrai
الخاصية ؟ يمكن
أن تحل محل أي حرف:
maVariable = "Exemple 12345"
If maVariable Like "?xemple?1234?" Then '=> Vrai
يمكننا أيضًا استبدال حرف بناءً على مجموعة من الأحرف أو أحرف
محددة:
- [abc] : استبدل أحد الأحرف التالية: abc
- [ag] : استبدل أحد الأحرف التالية: abcdefg
- [369] : يستبدل أحد الأحرف التالية: 3 6 9
- [2-5] : يستبدل أحد الأحرف التالية: 2 3 4 5
- [؟ * #] : استبدل أحد الأحرف التالية :؟ * #
maVariable = "Exemple 12345"
If maVariable Like "[BIEN]xemple 1234[4-7]" Then '=> Vrai
لاستبدال
حرف غير مضمن في القيم الموجودة بين قوسين ، ! يجب أن تضاف بعد [ :
maVariable = "Exemple 12345"
If maVariable Like "[!FAUX]xemple 1234[!6-9]" Then '=> Vrai