Zellfarbe aufgrund Formelergebnis ändern
26.06.2008 15:49:00
sharky1000
in einer Excel-Tabelle hole ich mir die Zellinhalte aus einer anderen Excel-Datei (Referenzdatei).
Abhängig von den geholten Zellwerten möchte ich die Zellen mit mehr als drei Optionen einfärben.
Mit dem Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich
Set Bereich = Range("B2:Z366")
If Intersect(Target, Bereich) Is Nothing Then
Else
If Target.Value = "a" Then Target.Interior.ColorIndex = 6
If Target.Value = "b" Then Target.Interior.ColorIndex = 3
If Target.Value = "c" Then Target.Interior.ColorIndex = 5
If Target.Value = "d" Then Target.Interior.ColorIndex = 4
End If
End Sub
klappt das einmalige Einfärben ganz gut.
Wenn sich aber in der Referenzdatei die Werte außerhalb des definierten Values ändern werden die ursprünglichen Farbwerte nicht mehr zurückgesetzt.
Ich möchte, dass für jede Zelle, bei der sich der Wert auf einen nicht vorher definierten Wert wie z.B. "k" "0" "" etc. ändert der Target.Interior.ColorIndex ohne weiteres Zutun wieder auf 0 gesetzt wird.
Meine zweite Frage betrifft die Aktualisierung der Farben.
Wie stößt man die Aktualisierung der Farben bzw. die Ausführung des o.g. Makros an? Bisher behelfe ich mir mit dem suchen / ersetzen Befehl. - Sicherlich gibt es eine bessere Lösung.
Ich freue mich über jede Anregung.
Marco