Vba: كيفية تحويل التاريخ إلى رقم الأسبوع


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

 Sub FindWeekNumber()
    
    Dim i As Integer

    For i = 2 To 9
        Range(" B " & i) = WorksheetFunction.WeekNum(Range(" A " & i))
    Next i
    
End Sub

سيجد هذا المثال تحديدًا رقم الأسبوع لكل تاريخ في النطاق A2:A9 وسيعرض النتائج في النطاق B2:B9 .

لاحظ أن أسلوب VBA WeekNum يفترض أن الأسابيع تبدأ يوم الأحد.

لتحديد يوم آخر كبداية للأسبوع، يمكنك إضافة وسيطة ثانية إلى الأسلوب WeekNum :

 Sub FindWeekNumber()
    
    Dim i As Integer

    For i = 2 To 9
        Range(" B " & i) = WorksheetFunction.WeekNum(Range(" A " & i), vbMonday)
    Next i
    
End Sub

يوضح المثال التالي كيفية استخدام الأسلوب WeekNum لتحويل التواريخ إلى أرقام الأسابيع عمليًا.

مثال: تحويل التاريخ إلى رقم الأسبوع في VBA

لنفترض أن لدينا عمود التاريخ التالي في Excel:

لنفترض أننا نريد تحويل كل تاريخ إلى رقم أسبوع وعرض رقم الأسبوع في العمود B.

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

 Sub FindWeekNumber()
    
    Dim i As Integer

    For i = 2 To 9
        Range(" B " & i) = WorksheetFunction.WeekNum(Range(" A " & i))
    Next i
    
End Sub

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

VBA تحويل التاريخ إلى رقم الأسبوع

يعرض العمود B رقم الأسبوع لكل تاريخ في العمود A، على افتراض أن الأسابيع تبدأ يوم الأحد.

إذا كنت تريد تحديد يوم آخر كبداية للأسبوع، على سبيل المثال الاثنين، فيمكنك استخدام الصيغة التالية:

 Sub FindWeekNumber()
    
    Dim i As Integer

    For i = 2 To 9
        Range(" B " & i) = WorksheetFunction.WeekNum(Range(" A " & i), vbMonday)
    Next i
    
End Sub

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

يعرض العمود B الآن رقم الأسبوع لكل تاريخ في العمود B، على افتراض أن الأسابيع تبدأ يوم الاثنين.

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

مصادر إضافية

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

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

Add a Comment

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