Zellen hintergrundfarbe ändern mit Makro

Hallo, folgende Problem

In den Zellen A1 bis A10 können Zahlen von 1 - 5 eingetragen werden.

In der Spalte B steht jeweils die Formel z.B. für ‚B1‘ =Wenn(A1=1;„a“;Wenn(A1=2;„b“;Wenn(A1=3;„c“;Wenn(A1=4;„d“;Wenn(A1=5;„e“;"")))))

-> d.h. für 1 (in A1) wird „a“ (in B1) übernommen, für 2 = b, für 3 = c, für 4 = d, für 5 = e und für leere Zelle = leere Zelle.

Nun möchte ich den Hintergrund der Einzelnen Buchstaben in der Spalte B färben.

d.h. Wenn B1 = „a“ dann rot
B1 = „b“ dann grün
B1 = „c“ dann blau
B1 = „d“ dann schwarz
B1 = „e“ dann lila

(natürlich auch für die Zellen B2 bis B10)

Über bedingte Formatierung ist dies ja leider nicht mehr möglich (max. 3 Bedingungen) also bleibt nur noch eine Lösung via Makro.

Habe auch schon einige tolle Ansätze im Internet gefunden, doch handelt es sich hierbei jeweils um Makros, die den Zellhintergrund nur bei ‚direkter Eingabe‘ des Buchstabens z.B. „a“ über die Tastatur ändern.
Nun kommmt der Buchstabe in meinem Fall nicht durch direkte Eingabe zu stande, sondern mittels einer Formel in die Zelle. Hierbei ändert sich der Zellhintergrund nicht.

Könnte mir jemand eine Lösung anbieten??? Wäre super!
Am liebsten wäre mir kein Worksheet-Makro sondern ein Makro dass ich über eine ‚Befehlsschaltfläche‘ ausführen kann und erst durch Klick auf die Schaltfläche wird die Farbe in der Spalte B aktualisiert.

Kleiner Hinweis: Hab hier nur ein Musterbeispiel angegeben. Meine tatsächliche Tabelle ist wesentlich umfangreicher, aber dies soll hier nur anschaulich sein, dass Makro schreibe ich dann speziell auf meine Tabelle um.

Kurz gesagt: Ich möchte in Makro, dass sich die Zellen A1:K100 anschaut was in der Zelle steht (Formelergebnis) und dann entscheidet welche Hintergrundfarbe die Zelle bekommt.

Vielen Dank für eure Hilfe

Mfg
Hannes

Moin aus Wilhelmshaven,

das ist ein spannendes Problem, und leider kann ich es nicht lösen. Aber Danke für Dein Interesse, ich kann nur viel Glück wünschen, dass andere da fitter sind.

Deine Brigitte

Hallo Hannes,

in Excel 2007 kann man beliebig viele „Bedingte Formtaierungen“ erstellen. Wäre also eine Überlegung wert, dass du dir das irgendwo besorgst:smile:

Ansonsten hab ich hier mal einen kleinen Code geschrieben, welcher bei einer Änderung in Spalte „A“ eine Formatierung in Spalte „B“ erzeutg. So wie in deinem kleinen Beispiel:

Private Sub Worksheet_Change(ByVal Target As Range)

For i = 1 To 10

If „$A$“ & i = Target.Address Then

If Range(„A“ & Target.Row).Value = 1 Then
Range(„B“ & Target.Row).Interior.Color = 255
ElseIf Range(„A“ & Target.Row).Value = 2 Then
Range(„B“ & Target.Row).Interior.Color = 5287936
ElseIf Range(„A“ & Target.Row).Value = 3 Then
Range(„B“ & Target.Row).Interior.Color = 15773696
ElseIf Range(„A“ & Target.Row).Value = 4 Then
Range(„B“ & Target.Row).Interior.Color = 11711154
ElseIf Range(„A“ & Target.Row).Value = 5 Then
Range(„B“ & Target.Row).Interior.Color = 10498160
ElseIf Range(„A“ & Target.Row).Value = „“ Then
Range(„B“ & Target.Row).Interior.Pattern = xlNone
End If

End If

Next i

End Sub


Wenn du das alles über einen Button laufen lassen willst, müsstest du in einer doppel Schleife alle Zellen durchgehen, deren Wert ermitteln und die Hintergrundfarbe entsprechend anpassen.