Guten Tag. In Spalte D einer Excel Tabelle werden Geburtsdaten eingetragen. Dann soll überprüft werden ob der Geburtstag in den nächsten 21 Tagen liegt. Wenn ja, dann soll die Zeile in rot erscheinen. So weit so gut.
Sub Geburtstag()
Dim Geburtsdaten As Range
For Each Geburtsdaten In Sheets("Tabelle1").Range("D2:D8")
Range("A" & Geburtsdaten.Row & ":E" & Geburtsdaten.Row).Interior.ColorIndex = xlNone
If IsDate(Geburtsdaten.Value) Then
Select Case DateSerial(1, Month(Geburtsdaten.Value), Day(Geburtsdaten.Value))
Case DateSerial(1, Month(Now), Day(Now)) To DateSerial(1, Month(Now), Day(Now) + 21)
Range("A" & Geburtsdaten.Row & ":E" & Geburtsdaten.Row).Interior.Color = vbRed
End Select
End If
Next
End Sub
Klappt wunderbar aber wird nun z.B. 01.01.1990 als Geburtsdatum eingetragen, wird dies nicht rot markiert, obwohl der Geburtstag in den nächsten 21 Tagen ist. Das Programm hat irgendwie Schwierigkeiten mit dem Jahreswechsel. Danke im Vorraus. |