كيفية مقارنة التواريخ في vba (مع أمثلة)
يمكنك استخدام بناء الجملة الأساسي التالي في VBA لمقارنة تاريخين:
SubCompareDates ()
Dim i As Integer
For i = 2 To 5
If CDate(Range(" A " & i)) < CDate(Range(" B " & i)) Then
Result = " First Date is Earlier "
Else
If CDate(Range(" A " & i)) > CDate(Range(" B " & i)) Then
Result = “ First Date is Later ”
Else
Result = " Dates Are Equal "
End If
End If
Range(" C " & i) = Result
Next i
End Sub
سيقوم هذا المثال تحديدًا بمقارنة التواريخ في الخلايا المقابلة في النطاقين A2:A5 و B2:B5 وإرجاع نتيجة مقارنات التواريخ في النطاق C2:C5 .
ملاحظة : تقوم الدالة CDate بتحويل قيمة خلية معينة إلى تاريخ.
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: مقارنة التواريخ في VBA
لنفترض أن لدينا العمودين التاليين مع التواريخ في Excel:
لنفترض أننا نريد مقارنة التواريخ في كل صف مطابق وعرض نتائج مقارنة التواريخ في العمود C.
يمكننا إنشاء الماكرو التالي للقيام بذلك:
SubCompareDates ()
Dim i As Integer
For i = 2 To 5
If CDate(Range(" A " & i)) < CDate(Range(" B " & i)) Then
Result = " First Date is Earlier "
Else
If CDate(Range(" A " & i)) > CDate(Range(" B " & i)) Then
Result = “ First Date is Later ”
Else
Result = " Dates Are Equal "
End If
End If
Range(" C " & i) = Result
Next i
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
يتم الآن عرض نتائج مقارنات التاريخ في العمود C.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في VBA:
فبا: كيفية فرز ورقة حسب أعمدة متعددة
فبا: كيفية حساب عدد الصفوف في النطاق
فبا: كيفية تصفية عمود