Mehr als 3 Bedingte Formatierungen in eine

Hallo

Ich möchte mehr als 3 bedingte Formatierungen in eine Excel-Tabelle einbauen. Bin Laie auf dem Gebiet der Macro-Programmierung.
Ich habe eine VVerweis-Abfrage in mehreren Zellen eingebaut und möchte diese in 6 verschiedenen Farben nach der Vorgabe darstellen.

Bsp.: Ergebnis = a dann soll die farbe rot sein
Ergebnis = b dann blau.

das ganze bis zu 6 Farben in einer Spalte.

Bräuchte da mal Eure Hilfe, wie und wo ich so etwas einbinden / programieren kann.

Danke im Voraus für die Hilfe.

Halli hallo Andreas,

kein Problem. Öffne einfach den VBA-Editor in deiner Excel-Mappe (Extras -> Makro -> Visual Basic Editor). Klicke dort doppelt auf den Punkt „Tabelle1 („der Name deines Tabellenblattes“)“, auf der linken Seite unter „VBAProject („der Name deiner Arbeitsmappe“)“, unter „Microsoft Excel Objekte“. Wenn du dieses Makro für die komplette Arbeitsmappe anwenden möchtest, musst du anstatt „Tabelle1 („der Name deines Tabellenblattes“)“, den Punkt „DieseArbeitsmappe“ auswählen. Dieser Schritt war eigentlich der schwierigste Teil … :smile:

Du solltest nun ein leeres Modulfenster sehen. Füge dort einfach folgenden Code ein:

Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 3 Then 'Index der Spalte, die überwacht werden soll - Spalte A = 1, Spalte B = 2, …
If Target.Value = „“ Then Target.Interior.ColorIndex = 0 'falls Zelle leer ist, keine Farbe
If Target.Value = „a“ Then Target.Interior.ColorIndex = 3 'falls Zelle dem Wert „a“ entspricht, Zelle rot färben
If Target.Value = „b“ Then Target.Interior.ColorIndex = 5 'falls Zelle dem Wert „b“ entspricht, Zelle blau färben
If Target.Value = „c“ Then Target.Interior.ColorIndex = 10 'falls Zelle dem Wert „c“ entspricht, Zelle grün färben
If Target.Value = „d“ Then Target.Interior.ColorIndex = 16 'falls Zelle dem Wert „d“ entspricht, Zelle grau färben
If Target.Value = „e“ Then Target.Interior.ColorIndex = 36 'falls Zelle dem Wert „e“ entspricht, Zelle helles gelb färben
If Target.Value = „f“ Then Target.Interior.ColorIndex = 45 'falls Zelle dem Wert „f“ entspricht, Zelle orange färben
End If

End Sub

Fertig. Die ganze Sache noch speichern und nicht vergessen, die Option „Makros aktivieren“ anzuklicken, wenn die Mappe geöffnet wird - sonst gibt`s kein Farbenspiel. :smile:)

Übrigens, falls du mit meiner Farbindex-Auswahl nicht zufrieden sein solltest - hier gibt es eine Übersicht
http://www.herber.de/bbs/user/651.xls

Einfach den Wert hinter "…ColorIndex = " ersetzen und schon gibt es die gewünschte Farbe …

Ich hoffe, ich konnte dir helfen. :smile:

viele Grüße und einen schönen Sonntag!
Uni

Hallo,

schick mir am besten mal deine Datei dann bastel ich dir das.

Oder sag mir wie das Tabellenblatt heisst und in welcher Spalte diese Einträge stehen.

Gruß Timo

Du hats Post Timo

Hallo Uni

Das hat mir schon ne menge geholfen nur habe ich da wohl noch einen Fehler drinne. Ich habe es dir mal geschickt. Währe schön, wenn du mir da weiterhelfen könntest.
Danke im Voraus.
Andreas

Hi Andreas,

auch das ist kein Problem. :smile: Hier der neue Code:

Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 5 And Target.Row > 9 And Target.Row 9 And Target.Row 9) bis Zeile 43 (Row

Hi Andreas,

sorry, mein Fehler. Ich vergessen, dass du diese Änderung bei eiener Kalkulation anwenden möchtest. Dann kann man das Event „Worksheet_Change(ByVal As Range)“ nicht verwenden, sondern „Worksheet_Calculate()“.

Lösche daher bitte im VBA-Editor den kompletten Code, so dass das Fenster wieder jungfräulich ist und füge folgenden Code ein:

Private Sub Worksheet_Calculate()

For Each cValue In Range(„E10:E43“)

If cValue = „“ Or cValue „Inf“ Or cValue „Nach“ Or cValue „Pio“ _
Or cValue „San“ Or cValue „Aufkl“ Or cValue „Seels“ Then Cells(cValue.Row, 5).Interior.ColorIndex = 0 'falls Zelle leer ist, keine Farbe
If cValue = „Inf“ Then Cells(cValue.Row, 5).Interior.ColorIndex = 3 'falls Zelle dem Wert „a“ entspricht, Zelle rot färben
If cValue = „Nach“ Then Cells(cValue.Row, 5).Interior.ColorIndex = 5 'falls Zelle dem Wert „b“ entspricht, Zelle blau färben
If cValue = „Pio“ Then Cells(cValue.Row, 5).Interior.ColorIndex = 10 'falls Zelle dem Wert „c“ entspricht, Zelle grün färben
If cValue = „San“ Then Cells(cValue.Row, 5).Interior.ColorIndex = 16 'falls Zelle dem Wert „d“ entspricht, Zelle grau färben
If cValue = „Aufkl“ Then Cells(cValue.Row, 5).Interior.ColorIndex = 36 'falls Zelle dem Wert „e“ entspricht, Zelle helles gelb färben
If cValue = „Seels“ Then Cells(cValue.Row, 5).Interior.ColorIndex = 45 'falls Zelle dem Wert „f“ entspricht, Zelle orange färben

Next

End Sub

So müsste es eigentlich klappen …

viele Grüße
Uni

Hallo Andreas,
vielleicht hilft Dir das weiter.
Je nachdem was in der Zelle steht verändert sich die Farbe.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim objCell As Range
For Each objCell In Target
If Not Intersect(Range(„D7:AL350“), objCell) Is Nothing Then
With objCell
Select Case .Value
Case „EU“
.Font.FontStyle = „Fett“
.Interior.ColorIndex = 6
.Font.ColorIndex = 3
Case „DF“
.Font.FontStyle = „Fett“
.Interior.ColorIndex = 33
.Font.ColorIndex = 2
Case „RB“
.Font.FontStyle = „Fett“
.Interior.ColorIndex = 39
.Font.ColorIndex = 6
Case „LG“
.Font.FontStyle = „Fett“
.Interior.ColorIndex = 50
.Font.ColorIndex = 2
Case „AF“
.Font.FontStyle = „Fett“
.Interior.ColorIndex = 3
.Font.ColorIndex = 6
Case „K“
.Font.FontStyle = „Fett“
.Interior.ColorIndex = 5
.Font.ColorIndex = 6
Case Else
.Font.FontStyle = „Standard“
.Interior.ColorIndex = xlNone
.Font.ColorIndex = 1

End Select
End With
End If
Next
End Sub

Gruß
Udo

Hallo Andreas,

ich würde das so machen.

Format -> Bedingte Formatierung

Zellwert ist -> gleich -> =„a“ (in das Feld schreiben),
dann Format -> Muster, Farbe auswählen.

Zellwert ist -> gleich -> =„b“ (in das Feld schreiben),
dann Format -> Muster, Farbe auswählen.

Und so weiter, jede weitere Zelle neue Bedingung hinzufügen.

Gruß

Hallo!
Leider reichen meine Excel-Kenntnisse nicht, um Deine Frage zu beantworten.
Viele Grüße
Andreas

Hallo Andreas,
meiner Meinung nach kannst Du auf normalem Wege nur 3 bedingte Formatierungen machen. Wenn Du mehr Formatierungen benötigst geht das nur mit VBA. Leider reichen meine Excel-Kenntnisse dafür nicht aus. Ich hätte Dir gern weiter geholfen.
Viele Grüße rostlaube01

Hallo Zusammen,

wie müsste der folgende Code aussehen, wenn die Bedingungen von
A13 bis AI25 gelten sollen.


Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 3 Then 'Index der Spalte, die überwacht werden soll - Spalte A = 1, Spalte B = 2, …
If Target.Value = „“ Then Target.Interior.ColorIndex = 0 'falls Zelle leer ist, keine Farbe
If Target.Value = „a“ Then Target.Interior.ColorIndex = 3 'falls Zelle dem Wert „a“ entspricht, Zelle rot färben
If Target.Value = „b“ Then Target.Interior.ColorIndex = 5 'falls Zelle dem Wert „b“ entspricht, Zelle blau färben
If Target.Value = „c“ Then Target.Interior.ColorIndex = 10 'falls Zelle dem Wert „c“ entspricht, Zelle grün färben
If Target.Value = „d“ Then Target.Interior.ColorIndex = 16 'falls Zelle dem Wert „d“ entspricht, Zelle grau färben
If Target.Value = „e“ Then Target.Interior.ColorIndex = 36 'falls Zelle dem Wert „e“ entspricht, Zelle helles gelb färben
If Target.Value = „f“ Then Target.Interior.ColorIndex = 45 'falls Zelle dem Wert „f“ entspricht, Zelle orange färben
End If

End Sub