Um die Anzahl der Tage eines bestimmten Monats zu ermitteln, habe ich die nachfolgende Funktion geschrieben. Schaltjahre werden natürlich beachtet.
Parameter
Parameter Name
Parameter Wert
DDate
Das Datum das überprüft werden soll! Es muss ein komplettes Datum sein, da sonst die Schaltjahre nicht berücksichtigt werden können.
Rückgabe
Rückgabe Typ
Rückgabe Wert
Integer
Anzahl der Tage
Beispiel
debug.Print MaxDayMonth("12.2.2016")
29
Code
Public Function MaxDayMonth(DDate As Date) As Integer
Dim M As Integer
Dim Y As Integer
M = Month(DDate)
Y = Year(DDate)
M = M + 1
While M > 12
M = M - 12
Y = Y + 1
Wend
MaxDayMonth = Day(DateSerial(Y, M, 1) - 1)
End Function