كيفية استخدام eomonth في vba (مع مثال)


يمكنك استخدام أسلوب EoMonth في VBA لإرجاع اليوم الأخير من الشهر لتاريخ محدد.

فيما يلي طريقة شائعة لاستخدام هذه الطريقة عمليًا:

 Sub LastDayOfMonth()

Dim i As Integer

For i = 2 To 11
    Range(" C " & i).Value = Application.WorksheetFunction.EoMonth(Range(" A " & i), 0)
    Range(" C " & i).NumberFormat = " m/d/yyyy "
Next i

End Sub

يبحث هذا الماكرو المحدد عن اليوم الأخير من الشهر لكل تاريخ في النطاق A2:A11 ويعرض هذا التاريخ في الخلية المقابلة في النطاق C2:C11 .

يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.

مثال: كيفية استخدام EoMonth في VBA

لنفترض أن لدينا مجموعة البيانات التالية في Excel والتي تحتوي على معلومات حول المبيعات التي أجرتها شركة ما في تواريخ مختلفة:

لنفترض أننا نريد العثور على اليوم الأخير من الشهر لكل تاريخ في العمود A وعرضه في العمود C.

يمكننا إنشاء الماكرو التالي للقيام بذلك:

 Sub LastDayOfMonth()

Dim i As Integer

For i = 2 To 11
    Range(" C " & i).Value = Application.WorksheetFunction.EoMonth(Range(" A " & i), 0)
    Range(" C " & i).NumberFormat = " m/d/yyyy "
Next i

End Sub

عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:

لاحظ أن العمود C يحتوي على اليوم الأخير من الشهر لكل تاريخ مطابق في العمود A.

لاحظ أننا استخدمنا خاصية NumberFormat لعرض قيم التاريخ بتنسيق تاريخ يمكن التعرف عليه في العمود C بدلاً من الأرقام التسلسلية، وهو التنسيق الافتراضي في Excel.

لاحظ أيضًا أن الوسيطة الأخيرة لأسلوب EoMonth تحدد عدد الأشهر المقبلة أو المتأخرة التي سيتم استخدامها عند حساب اليوم الأخير من الشهر.

في هذا المثال، استخدمنا القيمة 0 لتحديد أننا نريد العثور على اليوم الأخير من الشهر الحالي.

ومع ذلك، يمكننا بدلاً من ذلك استخدام القيمة -1 لتحديد أننا نريد العثور على اليوم الأخير من الشهر السابق أو القيمة 1 لتحديد أننا نريد العثور على اليوم الأخير من الشهر التالي.

ملاحظة : يمكنك العثور على الوثائق الكاملة لأسلوب EoMonth في VBA هنا .

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في VBA:

كيفية مقارنة التواريخ في VBA
كيفية تحويل السلسلة إلى تاريخ في VBA
كيفية حساب الأيام بين تاريخين في VBA

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *