Zelle abhängig vom enthaltenen Datum formatieren

Hallo und guten Morgen liebe Experten,

ich habe eine Excel 2007-Datei mit einer Zelle, die den aktuellen Stand / das letzte Bearbeitungsdatum enthält (Schema-Beispiel: „September 2011“, wird vom Nutzer selbst gepflegt; Auwahl aus einer DropDown-Liste). Abhängig vom Inhalt soll die Zelle formatiert werden (Font.ColorIndex & Interior.ColorIndex). Wenn der Inhalt nicht dem aktuellen Datum entspricht, soll dieser geändert (farbig hervorgehoben) werden.

Wie kann ich das elegant umsetzen?
Ich bin nicht so sehr bewandert in VB. Konkret weiß ich nicht, wie ich die Datumsabfrage realisiere und den Zelleninhalt richtig abfrage. Testweise habe ich es hinbekommen, den Inhalt mittels Case-Anweisung abzufragen und für die einzelnen Fälle jeweils die Formatierung angegeben, was aber mehr als unelegant ist:

' change text color depending on content of cell F2
If Target.Column = 6 Then
 If Target.Cells.Count \> 1 Then Exit Sub

 Rows(Target.Row).Font.ColorIndex = 1

 Select Case Target
 Case "Januar 2010"
 Range("F2").Font.ColorIndex = 3 ' red colored text
 Range("F2").Font.Bold = True ' bold text
 Range("F2").Interior.ColorIndex = 36 ' yellow colored backgr.
 ' next case ...

Für eure Hilfe bedanke ich mich im Voraus,

Enzo

ich habe eine Excel 2007-Datei mit einer Zelle, die den
aktuellen Stand / das letzte Bearbeitungsdatum enthält
(Schema-Beispiel: „September 2011“, wird vom Nutzer selbst
gepflegt; Auwahl aus einer DropDown-Liste). Abhängig vom
Inhalt soll die Zelle formatiert werden (Font.ColorIndex &
Interior.ColorIndex). Wenn der Inhalt nicht dem aktuellen
Datum entspricht, soll dieser geändert (farbig hervorgehoben)
werden.

Hallo Enzo,

mal ein Ansatz:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim JaNein As Boolean
’ change text color depending on content of cell F2
If Target.Count > 1 Then Exit Sub
If Target.Column 6 Then Exit Sub
Rows(Target.Row).Font.ColorIndex = 1
JaNein = Target.Value = Format(Now, „MMMM YYYY“)
Range(„F2“).Font.ColorIndex = IIf(JaNein, 3, 0) ’ red colored text
Range(„F2“).Font.Bold = JaNein ’ bold text
Range(„F2“).Interior.ColorIndex = IIf(JaNein, 36, xlNone) ’ yellow colored backgr.
End Sub

Gruß
Reinhard

Super!
Vielen Dank!
Das ist was ich wollte.