HERBERS Excel-Forum - das Archiv
Bedingte Formatierung-VBA?
Fridolin

Hallo Leute
Ich suche eine Möglichkeit, um eine Liste mit 6 unterschiedlichen Hintergrundfarben zu versehen.
Wert (Hintergrund) in A1 muss grün sein, wenn in A7 "Oberhofen" steht,
Wert (Hintergrund) in A1 muss jedoch blau sein wenn in A7 "Thun" steht,
Wert (Hintergrund) in A1 muss gelb sein, wenn in A7"Interlaken" steht,
Wert (Hintergrund) in A1 muss violett sein, wenn in A7 "Betrieb" steht
Wert (Hintergrund) in A1 muss rosa sein, wenn in A7 "privat",
Wert (Hintergrund) in A1 muss grau sein, wenn in A7 "Bern" steht.
Wie löse ich das am Besten? Vielen Dank für eure Unterstützung
Es geht um eine ganze Tabelle (Schlüsselverzeichnis).
Grüsse aus der Schweiz Fridolin

AW: Bedingte Formatierung-VBA?
Hajo_Zi

Hallo Fridolin,
mehr als 3 Formatierungen

AW: Bedingte Formatierung-VBA?
Mustafa

Hallo Fridolin,
meinst du sowas hier:
https://www.herber.de/bbs/user/53695.xls
Rückmeldung wäre nett.
Grüße aus Köln.

AW: Bedingte Formatierung-VBA?
Matthias

Hallo
Die Farben mußt Du aber selbst anpassen.
Wenn in A7 ein anderer Wert steht als vorgegeben wird der Hintergrung auf xlNone gesetzt.


Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim StrgZellText
If Selection.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("A7")) Is Nothing Then
StrgZellText = Target.Value
If StrgZellText = "Oberhofen" Or StrgZellText = "Thun" Or StrgZellText = "Interlaken"  _
Or StrgZellText = "Betrieb" Or StrgZellText = "privat" Or StrgZellText = "Bern" Then
Select Case StrgZellText
Case Is = "Oberhofen"
Cells(1, 1).Interior.ColorIndex = 1
Case Is = "Thun"
Cells(1, 1).Interior.ColorIndex = 3
Case Is = "Interlaken"
Cells(1, 1).Interior.ColorIndex = 5
Case Is = "Betrieb"
Cells(1, 1).Interior.ColorIndex = 6
Case Is = "privat"
Cells(1, 1).Interior.ColorIndex = 7
Case Is = "Bern"
Cells(1, 1).Interior.ColorIndex = 9
End Select
Else
Cells(1, 1).Interior.ColorIndex = xlNone
End If
End If
End Sub


Gruß Matthias

AW: Bedingte Formatierung-VBA?
Backowe

Hi,
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
'Code in das entsprechende Tabellenblatt
If Not Intersect(Target, [A7]) Is Nothing And Target.Count = 1 Then
  If LCase(Target.Value) = "oberhofen" Then
    [A1].Interior.ColorIndex = 10
  ElseIf LCase(Target) = "thun" Then
    [A1].Interior.ColorIndex = 5
  ElseIf LCase(Target) = "interlaken" Then
    [A1].Interior.ColorIndex = 6
  ElseIf LCase(Target) = "betrieb" Then
    [A1].Interior.ColorIndex = 17
  ElseIf LCase(Target) = "privat" Then
    [A1].Interior.ColorIndex = 7
  ElseIf LCase(Target) = "bern" Then
    [A1].Interior.ColorIndex = 15
  Else
    [A1].Interior.ColorIndex = xlNone
  End If
End If
End Sub

AW: Bedingte Formatierung-VBA?
Fridolin

Hey, genial!
Erste Versuche haben mich zum Ziel gebracht, wobei ich die Feinheiten erst in den nächsten Tagen vollbringen werden kann.
Herzlichen Dank für eure Unterstützung und für die prompte Reaktion.
Liebe Grüsse Fridolin

AW: Bedingte Formatierung-VBA?
Fridolin

Danke, eure Vorschläge haben mir wunderbar geholfen und meine Tabelle sieht wunderschön aus und ist absolut zweckmässig!
Schlussendlich habe ich mich auf einen "Mix" eingelassen; alle eure Vorschläge waren jedoch umsetz- und anwendbar.
Liebe Grüsse aus der regnerischen Schweiz. Fridolin