Vba: كيفية الحصول على الشهر والسنة من التاريخ
يمكنك استخدام خاصية NumberFormat في VBA للحصول على الشهر والسنة من تاريخ ما.
إليك طريقة شائعة لاستخدام هذه الخاصية عمليًا:
SubGetMonthYear ()
Dim i As Integer
For i = 2 To 11
Range(" C " & i).Value = DateValue(Range(" A " & i))
Range(" C " & i).NumberFormat = " mm/yyyy "
Next i
End Sub
يبحث هذا الماكرو المحدد عن الشهر والسنة لكل تاريخ في النطاق A2:A11 ويعرض هذه القيم في الخلايا المقابلة في النطاق C2:C11 .
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: أضف أيامًا إلى هذا اليوم في VBA
لنفترض أن لدينا مجموعة البيانات التالية في Excel والتي تحتوي على معلومات حول المبيعات التي أجرتها شركة ما في تواريخ مختلفة:
لنفترض أننا نريد الحصول على الشهر والسنة لكل خلية في عمود التاريخ.
يمكننا إنشاء الماكرو التالي للقيام بذلك:
SubGetMonthYear ()
Dim i As Integer
For i = 2 To 11
Range(" C " & i).Value = DateValue(Range(" A " & i))
Range(" C " & i).NumberFormat = " mm/yyyy "
Next i
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
لاحظ أن العمود C يحتوي على الشهر والسنة لكل تاريخ مطابق في العمود A.
لاحظ أننا استخدمنا الخاصية NumberFormat لتنسيق التواريخ باستخدام رقمين للأشهر وأربعة أرقام لسنوات.
يمكننا اختيار عرض هذه القيم بتنسيق مختلف إذا أردنا ذلك.
على سبيل المثال، يمكننا استخدام الصيغة التالية لعرض الشهر برقم واحد (إذا كان الشهر يحتوي على رقم واحد فقط) والسنة برقمين:
SubGetMonthYear ()
Dim i As Integer
For i = 2 To 11
Range(" C " & i).Value = DateValue(Range(" A " & i))
Range(" C " & i).NumberFormat = " m/yy "
Next i
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
لا تتردد في اللعب بخيارات التنسيق المختلفة لعرض قيم الشهر والسنة كما يحلو لك.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في VBA:
كيفية مقارنة التواريخ في VBA
كيفية تحويل السلسلة إلى تاريخ في VBA
كيفية حساب الأيام بين تاريخين في VBA