Uwe Zimprich
2005-01-30 10:30:14 UTC
Ich habe mehrere Zellen die ich farblich unterschiedlich darstellen möchte.
Gibt es eine möglichkeit diese Zellen einzufärben mit mehr als 3
Bedingungen?
Wenn eine Zelle ein bestimmten Begriff enthält soll sie eine bestimmte Farbe
annehmen
z.B
Begriff1 - Blau
Begriff2 - Gelb
Begriff3 - Grün
Begriff4 - Schwarz
usw.
Von Herbert Taferner habe ich darauf hin folgende Lösung bekommen.
das geht nur mit VBA,
z. B. so
Bereich Zellwerte und Farben anpassen
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngCell As Range
Dim bytColor As Byte
' Bereich der überwacht wird
Set Target = Intersect(Target, Range("A1:D20"))
If Target Is Nothing Then Exit Sub
For Each rngCell In Target
Select Case rngCell.Value
Case "a"
bytColor = 3 ' Rot
Case "b"
bytColor = 4 ' Grün
Case "c"
bytColor = 5 ' Blau
Case "d"
bytColor = 6 ' Gelb
Case "e"
bytColor = 7 ' Rosa
' usw....
'........
Case Else
bytColor = 0 ' keine Farbe
End Select
rngCell.Interior.ColorIndex = bytColor
Next rngCell
End Sub
Meine Frage nun:
Die Überwachung funktioniert prima.
wenn ich die Eingabe in der Zelle direkt vornehme wird die Farbe geändert.
Wenn ich aber die Eingabe der Zelle über eine Gültigkeitprüfung mit
einer Liste vornehme von einer bestimmten Quelle, wird die Farbe nicht
geändert.
Gibt es da auch noch eine Möglichkeit damit das funktioniert?
mfg Uwe
Gibt es eine möglichkeit diese Zellen einzufärben mit mehr als 3
Bedingungen?
Wenn eine Zelle ein bestimmten Begriff enthält soll sie eine bestimmte Farbe
annehmen
z.B
Begriff1 - Blau
Begriff2 - Gelb
Begriff3 - Grün
Begriff4 - Schwarz
usw.
Von Herbert Taferner habe ich darauf hin folgende Lösung bekommen.
das geht nur mit VBA,
z. B. so
Bereich Zellwerte und Farben anpassen
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngCell As Range
Dim bytColor As Byte
' Bereich der überwacht wird
Set Target = Intersect(Target, Range("A1:D20"))
If Target Is Nothing Then Exit Sub
For Each rngCell In Target
Select Case rngCell.Value
Case "a"
bytColor = 3 ' Rot
Case "b"
bytColor = 4 ' Grün
Case "c"
bytColor = 5 ' Blau
Case "d"
bytColor = 6 ' Gelb
Case "e"
bytColor = 7 ' Rosa
' usw....
'........
Case Else
bytColor = 0 ' keine Farbe
End Select
rngCell.Interior.ColorIndex = bytColor
Next rngCell
End Sub
Meine Frage nun:
Die Überwachung funktioniert prima.
wenn ich die Eingabe in der Zelle direkt vornehme wird die Farbe geändert.
Wenn ich aber die Eingabe der Zelle über eine Gültigkeitprüfung mit
einer Liste vornehme von einer bestimmten Quelle, wird die Farbe nicht
geändert.
Gibt es da auch noch eine Möglichkeit damit das funktioniert?
mfg Uwe