Clever-Excel-Forum

Normale Version: Markieren bei Überschreiten eines Datums (xlExpression)
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

leider komme ich nicht weiter und würde mich über Hilfestellung freuen.
Ich möchte ein Rechnungsdatum in Spalte P in roter Schriftart markieren, wenn das Datum dem heutigen entspricht oder überschritten wurde.
In Spalte O steht das Datum, an dem eine Rechnung beglichen wurde - sobald hier ein Datum in der Zelle eingetragen wurde, soll die farbliche Markierung aufgehoben werden.


Code:
'Zahlungsdatum für Rechnungen bei Fristüberschreitung rot markieren
With Sheets("Tabelle1").Range("$P$2:$P$1000")
.FormatConditions.Add Type:=xlExpression, Formula1:="=WENN(UND(ISTLEER(O2); NICHT(ISTLEER(P2)); P2<HEUTE()))"
.FormatConditions(1).Interior.ColorIndex = 3
End With


Was habe ich falsch gemacht?!


PS: vielleicht sollte ich noch erwähnen, dass es für die gleiche Range bereits eine weitere (funktionierende) Formatierung gibt:
Code:
With Sheets("Tabelle1").Range("$P$2:$P$1000")
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:="=WENN(UND(ISTLEER(P2); NICHT(ISTLEER(F2)); NICHT(ISTLEER(A2))); ODER(NICHT(ISTFEHLER(FINDEN(""Rechnung"";C2)))))"
.FormatConditions(1).Interior.Color = RGB(217, 225, 242)
End With
Hallo cgo,

ich weiß nicht, wie der Rest Deines Codes aussieht, aber ändere mal:

Code:
.FormatConditions(1).Interior.ColorIndex = 3
in
Code:
.FormatConditions(2).Interior.ColorIndex = 3


Ich würde erwarten , dass Du immer mit dem Code die erste Bedingte Formatierung einfärbst, da es aber wie du schreibst eigentlich die zweite ist, läuft der Code ins Leere.

Wie sieht der Manager der Bedingten Formatierungen für diesen Bereich nach dem Durchlauf des Makro aus?

Gruß,
Lutz
Danke für die schnelle Antwort, Lutz.

Die Änderung hilft leider nicht, hatte ich bereits probiert.
Der Debugger muckt bei folgender Zeile:

Code:
.FormatConditions.Add Type:=xlExpression, Formula1:="=WENN(UND(ISTLEER(O2); NICHT(ISTLEER(P2)); P2<HEUTE()))"


Fehlermeldung: Laufzeitfehler 5: Ungültiger Prozeduraufruf oder ungültiges Argument.
Hallo cgo,

ich glaube, Du hast zu kompliziert gedacht...
Die Zelle P2 wird rot, wenn in P2 ein Wert steht UND dieser Also
=UND(ISTLEER(O2); NICHT(ISTLEER(P2)); P2
Gruß,
Lutz