VBA - Hintergrundfarbe von Zellen bei best. Werten

Hallo,

Ich versuche gerade die mickrigen 3 Bedingten Formatierungen von Excel per VBA auszuweiten.

Das soll Excel machen:

Ich habe eine Tabelle mit verschiedenen Werten im Bereich H4:AL43

darunter auch „f“ „s“ „n“ „sk“ „fk“

Jetzt wäre ich überglücklich, wenn Excel während der Eingabe oder auch auf Knopfdruck jede Zelle mit diesen Werten einfärbt; also s=grün f=blau usw.

Ich hab ewigkeiten nix mehr progrmammiert und kriegs nicht hin… völlig eingerostet :smile:

MfG Steve

Hm…

Vielleicht reichen die 3 Bedingungen auch aus, wenn es eine möglichkeit gibt bei 1 bedingten Formatierung 2 Werte anzugeben, so ungefähr

wenn die Zelle den Wert „f“ oder „fk“ hat soll sie blau eingefäbrt werden.

Gibt es da eine Möglichkeit mit eine & oder UND verknüpfung?

Hallo steve,

wenn die Zelle den Wert „f“ oder „fk“ hat soll sie blau
eingefäbrt werden.

Gibt es da eine Möglichkeit mit eine & oder UND verknüpfung?

ja zum Beispiel so, wenn die bedingte Formatierung auf die Zelle A1 angewendet werden soll:

„Formel ist“
=ODER($A$1=„f“;$A$1=„fk“)

Gruß
Marion

Das funktioniert ja dann nur, wenn ich die Zelle angebe (a1), die ich einfärben möchte.

Ich möchte aber jede Zelle die den Wert enthält einfärben…

Das funktioniert ja dann nur, wenn ich die Zelle angebe (a1),
die ich einfärben möchte.

Ich möchte aber jede Zelle die den Wert enthält einfärben…

Hallo Steve,

markiere den gesamten Zellenbereich für den das gelten soll, nimm die Formel von Marion, wirf die Dollarzeichen raus.
Wenn A1 nicht zum Zellenbereich gehört, trage die linke obere Zelle des Bereiches ein.

Gruß
Reinhard

Super, nachdem ich auch mal von „Zellenwert ist“ auf „Formel ist“ umgestellt habe funktioniert der Spaß jetzt.

Vielen Dank.

F und fk sind jetzt blau
s und sk sind grün
n ist schwarz

Das sorgt schonmal für Übersicht, und die Bedingte Formatierung ist fast voll ausgenutzt, denke ich.

Gibt es jetzt ein kleines makro, dass evtl. noch den Bereich H4:AL43 bei Knopfdruck oder beim Drucken automatisch überprüft und

X und K Rot färbt
und FB lila

Dann wäre der Plan perfekt.

Abe schonmal vielen Dank

Das sorgt schonmal für Übersicht, und die Bedingte
Formatierung ist fast voll ausgenutzt, denke ich.

Gibt es jetzt ein kleines makro, dass evtl. noch den Bereich
H4:AL43 bei Knopfdruck oder beim Drucken automatisch überprüft
und

Hallo Steve,

mit Makro bist du nicht auf 3 bed. Formatierungen beschränkt sondern kannst alle 40 Farben benutzen.

Alt+F11, Einfügen–Modul, Code von „Farbe“ reinkopieren, Farbwerte und Bedingungen abändern.
Mitten in den Code stellen und F5 drücken.

Dann Doppelklick links auf den Blattnamen, z.B. Tabelle1, dort den zweiten Code reinkopieren, auch die Werte anpassen.
Der zweite Code läuft automatisch, immer wenn du in dem Bereich einen Wert manuell änderst wird di Farbe angepasst.

Um die Farbwerte für rot, lila usw. rauszufinden, laße einmal den dritten Code durchlaufen. In einem neuen Blatt entspriht dann die Zeilennummer dem Farbwert der farbe.

Gruß
Reinhard

Code in Modul1:

Sub Farbe()
Dim Zelle As Range
Application.ScreenUpdating = False
For Each Zelle In Range("H4:AL43")
 With Zelle
 Select Case .Value
 Case "f", "s"
 .Interior.ColorIndex = 3
 Case "n"
 .Interior.ColorIndex = 7
 Case "fk"
 .Interior.ColorIndex = 10
 Case "sk"
 .Interior.ColorIndex = 12
 Case Else
 .Interior.ColorIndex = xlNone
 End Select
 End With
Next Zelle
Application.ScreenUpdating = True
End Sub

Code in Tabbelle1:

Private Sub Worksheet\_Change(ByVal Target As Range)
Dim Zelle As Range
Set Target = Intersect(Target, Range("H4:AL43"))
If Target Is Nothing Then Exit Sub
Application.ScreenUpdating = False
For Each Zelle In Target
 With Zelle
 Select Case .Value
 Case "f", "s"
 .Interior.ColorIndex = 3
 Case "n"
 .Interior.ColorIndex = 7
 Case "fk"
 .Interior.ColorIndex = 10
 Case "sk"
 .Interior.ColorIndex = 12
 Case Else
 .Interior.ColorIndex = xlNone
 End Select
 End With
Next Zelle
Application.ScreenUpdating = True
End Sub

Auch in Modul1:

Sub Farbwahl()
Dim Zei As Long
Application.ScreenUpdating = False
Worksheets.Add after:=Worksheets(Worksheets.Count)
For Zei = 1 To 56
 Cells(Zei, 1).Interior.ColorIndex = Zei
Next Zei
Application.ScreenUpdating = True
End Sub

Hallo (deinen Namen weiß ich immer noch nicht),

Super, nachdem ich auch mal von „Zellenwert ist“ auf „Formel
ist“ umgestellt habe funktioniert der Spaß jetzt.

cool, hast du gelesen, was ich geschrieben habe oder biste selbst draufgekommen? :smile:

Gruß
Marion