Die Zeile in der das Datum steht, dass ohne Jahreszahl dem aktuellen Datum entspricht
Im Module1
' mehr als eine Zelle wurde geändert
If Target.Count > 1 Then Exit Sub
' Änderung erfolgt in Spalte q
If Target.Column = 18 Then
If CDate(Day(Target) & "." & Month(Target) & "." & Year(Date)) = Date Then
' bei Übereinstimmung mit dem aktuellen Datum Füllfarbe Grün
Range(Target, Target.Offset(0, -2)).Interior.ColorIndex = 4
End If
End If
In der Arbeitsmappe
Private Sub Workbook_Open()
Dim daDatum As Date ' Variable für das Datum
Dim loZeile As Long ' Variable für die Zeile
Dim strNamen As String ' Variable für die Namen
Dim Zeile As Long
' Schleife so lange durchlaufen bis in Spalte R eine Leerzelle vorhanden ist
loZeile = Tabelle1.UsedRange.Rows.Count
For Zeile = 10 To loZeile
' Datum aus Spalte R auf die Variable schreiben
daDatum = Cells(Zeile, 18) 'ab hier wird der Fehler angezeigt
With Range(Cells(Zeile, 2), Cells(Zeile, 18))
If CDate(Day(daDatum) & "." & Month(daDatum) & "." & Year(Date)) = Date Then
' bei Übereinstimmung mit dem aktuellen Datum zeile farbig
.Interior.ColorIndex = 22
' Vor- und Nachname auf die Variable schreiben
strNamen = strNamen & Cells(loZeile, 7) & " " & Cells(loZeile, 6) & vbLf
End If
End With
' Zeilenvariable um 1 erhöhen
Next Zeile
If strNamen <> "" Then
' es wurden Übereinstimmungen gefunden
MsgBox strNamen, vbInformation, "Heute haben Geburtstag:"
End If
End Sub
Gruß
|