In Tabelle1 sind Zellen die eine benutzerdefinierte Formatierung bekommen sollen (Hintergrundfarbe).
Der Wert in der ausschlaggebenden Zelle soll mit einem Wert in Tabelle2 (Data) verglichen werden. Die Farbe, die verwendet werden soll liegt auch in Tabelle2 (Data)
Wollte das ganze nun kurz programmieren. Das wäre eine Schleife ja glaube ich nicht schlecht.
ABER:
colorArea.FormatConditions(1).Interior.Color
Da kann ich anstelle der (1) den Zähler (counter) der Schleife nicht verwenden, dann funktioniert das nicht.
Wie muss man das machen?
Will ja nicht für 30 Bedingungen den Code manuell anpassen. Ausserdem soll es dynamisch werden. Wenn noch mehr Bedingungen dazu kommen soll es trotzdem noch funktionieren.
Sub fixafarger3()
Dim colorArea As Range
Dim villkorArea As Range
Dim areaAll As Range
Dim Counter As Integer
Set colorArea = Blad1.Range("C8:J11") ', C16:J19, C22:J26")
Set areaAll = Blad1.Range("C7:J26")
areaAll.FormatConditions.Delete
For Counter = 1 To 30
colorArea.FormatConditions.Add Type:=xlExpression, Formula1:="=OM(C$8=data!$A$" & _
Counter & ";SANT;"""")" 'SANT bedeutet WAHR
colorArea.FormatConditions(1).Interior.Color = Data.Cells(Counter, 2).Interior. _
Color
Next Counter
End Sub
Hier eine Beispiel Dateihttps://www.herber.de/bbs/user/107823.xlsm
Viele Grüsse
Daniel