السلام عليكم ورحمة الله
أخي الكريم، لم أفهم ما كنت تريده في الأول، بالنسبة للمعادلة التي وضعتَها في ردك السابق
=DAY(DATE(Year;Month+1;1)-1)
يمكن تبسيطها على الشكل :
=DAY(DATE(Year;Month+1;0)
أما الكود فقد تم تعديله بالنسبة لعدد أيام شهر فبراير حسب السنوات ويكون بالشكل :
Function MonthNumbers(Optional MIndex)
Dim AllNumbers As Variant
xx = Day(DateValue("01/03/" & Year(Date)) - 1)
AllNumbers = Array(31, xx, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
If IsMissing(MIndex) Then
MonthNumbers = AllNumbers
Else
Select Case MIndex
Case Is >= 1
MonthVal = ((MIndex - 1) Mod 12)
MonthNumbers = AllNumbers(MonthVal)
Case Is <= 0 ' Vertical array
MonthNumbers = Application.Transpose(AllNumbers)
End Select
End If
End Function
حدث خلل في الرد ولست أدري ما السبب وقد تم تعديله...
والله أعلم
عدد أيام الشهر.rar