mittels Makro weise ich zu bestimmten Zellen eine bedingte Formatierung zu. Jedoch zeigt Excel das Format erst an, wenn ich in der jeweiligen Zelle manuell etwas änder und nicht in Abhängigkeit vom tatsächlichen Inhalt.
In Spalte J steht ein Datum, in Spalte K steht ob der Auftrag erledigt wurde, oder noch offen ist. Die Daten für Spalte J und K werden aus einem anderen Datenblatt gezogen (hier fiktiv aus Spalte A und B). Wenn Datum älter als Heute ist und der Auftrag noch offen ist, soll das Datum rot angezeigt werden.
Nach dem das Makro durchgelaufen ist, zeigt Excel zwar für die Zelle an, dass eine bedingte Formatierung vorliegt, aber die Zelle ist nicht formatiert. Wenn ich dann aber in die Zelle reingehe (F2) und Enter drücke wird sofort das richtige Format angezeigt. Ich hab im Makro schon Calculate und RefreshAll verwendet, aber es funktioniert nicht
Wo liegt mein Fehler?
for i = 1 to 10
StrFormel = "=UND($J & i & HEUTE();$K & i & =offen)" 'siehe Bemerkung unten
Set rng = Range("J" & i)
with rng
.FormatConditions.Delete
.NumberFormat = "dd.mm.yyyy"
.FormatConditions.Add Type:=xlExpression, Formula1:=strFormel
.FormatConditions(1).Interior.Color = RGB(255, 0, 0)
end with
Range("J" & i).Value = Range("A" & i).Value 'Datum
Range("K"& i).Value = Range("B" & i).Value 'offen oder erledigt
next
Die Formel wird leider nicht richtig angezeigt.
# = "
kleiner =
StrFormel = #=UND($J# & i & # kleiner HEUTE();$K# & i & #=##offen##)#