|
Wie viele Tage der Monat eines bestimmten Datums hat, können Sie
schnell bestimmen, indem Sie vom Ersten des Folgemonats einen Tag
abziehen:
Public Function DaysOfMonth(ByVal TestDate As Date) _
As Integer
DaysOfMonth = Day(CDate(DateSerial(Year(TestDate), _
Month(TestDate) + 1, 1) - 1))
End Function
Etwas variabler verwendbar ist die Funktion DaysOfMonthEx:
Public Function DaysOfMonthEx(Optional ByVal TestMonth _
As Integer, Optional ByVal TestYear As Integer, _
Optional ByVal TestDate As Date) As Integer
If TestDate > 0 Then
DaysOfMonthEx = Day(CDate(DateSerial(Year(TestDate), _
Month(TestDate) + 1, 1) - 1))
Else
Select Case TestMonth
Case 1 To 12
If TestYear > 0 Then
DaysOfMonthEx = Day(CDate(DateSerial(TestYear, _
TestMonth + 1, 1) - 1))
Else
DaysOfMonthEx = Day(CDate(DateSerial(Year(Now), _
TestMonth + 1, 1) - 1))
End If
Case 0
If TestYear > 0 Then
DaysOfMonthEx = Day(CDate(DateSerial(TestYear, _
Month(Now) + 1, 1) - 1))
Else
DaysOfMonthEx = Day(CDate(DateSerial(Year(Now), _
Month(Now) + 1, 1) - 1))
End If
End Select
End If
End Function
Ihr können Sie ebenfalls ein gegebenes Datum übergeben, aber
auch nur eine Monats- und/oder eine Jahresangabe. Geben Sie nur den
Monat an, wird als Jahr das aktuelle Jahr angenommen, geben Sie nur
das Jahr an, wird der aktuell Monat angenommen. Geben Sie gar nichts
an, wird die Zahl der Tage des Monats vom aktuellen Datum ermittelt.
|