Vba: كيفية استخدام الدالة match مع التواريخ
يمكنك استخدام بناء الجملة التالي لاستخدام الدالة MATCH للعثور على تاريخ في VBA:
SubMatchDate ()
'attempt to find date in range
On Error GoTo NoMatch
MyMatch = WorksheetFunction.Match(CLng(CDate(" 4/15/2023 ")), Range(" A2:A10 "), 0)
MsgBox (MyMatch)
End
'if no date found, create message box to tell user
NoMatch:
MsgBox (" No Match Found ")
End
End:
End Sub
يبحث هذا المثال تحديدًا عن التاريخ 15/04/2023 في النطاق A2:A10 .
إذا تم العثور على التاريخ، فسيظهر مربع رسالة يخبر المستخدم بالصف الموجود في النطاق الذي يحتوي على التاريخ.
إذا لم يتم العثور على التاريخ، فسيظهر مربع رسالة يقول “لم يتم العثور على تطابقات” حتى يعرف المستخدم أن التاريخ غير موجود في النطاق.
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
ملاحظة : تقوم الدالة CDate بتحويل سلسلة نصية إلى تاريخ في VBA.
مثال: استخدام الدالة MATCH مع التواريخ في VBA
لنفترض أن لدينا قائمة التواريخ التالية في النطاق A2:A10 في Excel:
يمكننا إنشاء الماكرو التالي للعثور على رقم الصف الذي يحتوي على التاريخ 15/04/2023 في النطاق A2:A10 :
SubMatchDate ()
'attempt to find date in range
On Error GoTo NoMatch
MyMatch = WorksheetFunction.Match(CLng(CDate(" 4/15/2023 ")), Range(" A2:A10 "), 0)
MsgBox (MyMatch)
End
'if no date found, create message box to tell user
NoMatch:
MsgBox (" No Match Found ")
End
End:
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
يخبرنا مربع الرسالة أنه تم العثور على التاريخ 15/04/2023 في السطر السابع من النطاق A2:A10 .
لاحظ أنه إذا بحثنا بدلاً من ذلك عن التاريخ 25/04/2023 فسنحصل على النتيجة التالية:
يخبرنا مربع الرسالة أنه لم يتم العثور على التاريخ 25/04/2023 في النطاق.
ملاحظة : يمكنك العثور على الوثائق الكاملة لأسلوب المطابقة في VBA هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في VBA:
فبا: كيفية استخدام XLOOKUP
فبا: كيفية استخدام مطابقة الفهرس
VBA: كيفية استخدام INDEX MATCH مع معايير متعددة