Excel VBA Frage nach Zählenwenn Abfrage -- andere Zelle automatisch farbig markieren

...komplette Frage anzeigen Excel - (Excel, VBA)

2 Antworten

Also meine Lösung sähe SO aus:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then
    Dim Zelle As Range
    Dim loLetzte As Long
    loLetzte = IIf(IsEmpty(Cells(Rows.Count, 1)), _
    Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)

    For Each Zelle In Range(Cells(1, 2), Cells(loLetzte, 2))
        Select Case Zelle.Offset(0, -1).Value
        Case 0
        Zelle.Offset(0, -1).Interior.ColorIndex = xlColorIndexNone
        Zelle.Offset(0, 1).Interior.ColorIndex = xlColorIndexNone
        Case 1
        Zelle.Offset(0, -1).Interior.ColorIndex = 6
        Zelle.Offset(0, 1).Interior.ColorIndex = 6
        Case 2
        Zelle.Offset(0, -1).Interior.ColorIndex = 10
        Zelle.Offset(0, 1).Interior.ColorIndex = 10
        Case 3
        Zelle.Offset(0, -1).Interior.ColorIndex = 3
        Zelle.Offset(0, 1).Interior.ColorIndex = 3
        Case 4
        Zelle.Offset(0, -1).Interior.ColorIndex = 5
        Zelle.Offset(0, 1).Interior.ColorIndex = 5
        Case Is > 4
        Zelle.Offset(0, -1).Interior.ColorIndex = 28
        Zelle.Offset(0, 1).Interior.ColorIndex = 28
        End Select
    Next Zelle
End If
End Sub

Diesen Code in das Modul des Tabellenblattes kopieren (Rechstklick auf den Tabellenreiter (unten, wo z.B. Tabelle1 steht) und dann "Code anzeigen")
Er wird immer ausgeführt, wenn in Spalte B ein Wert geändert wird.
MIt Case 1 wird abgefragt, wo in Spalte A der Wert 1 ist. Dann wird die Farbe auf "ColorIndex= 6" gesetzt. 6 entspricht gelb. Die anderen Fälle entsprechend.
Bei Werten über 4 habe ich mal 28 (türkis) gewählt.
Die Case-Fälle kannst Du nach diesem Muster beliebig erweitern.
Wenn Du eine Aufstellung der Farben und ihrer Nummern brauchst, dann gehe auf ein LEERES Tabellenblatt, klicke dort wieder auf Code anzeigen, kopiere diese Code in den VBA-Editor:

Sub FarbenIndex()
Dim I As Integer
For I = 1 To 56
Cells(I, 2).Interior.ColorIndex = I
Cells(I, 1).Value = I
Next I
End Sub   

...setzt den Cursor irgendwo in den Code und drücke F5.
Danach siehst Du in der Tabelle die Farben und ihre ColorIndex-Codes.

Kommst Du klar? Sonst frage einfach nochmal nach.

Hat super geklappt!!! Perfekte Lösung für mich!!!

0

Hier nochmals das Bild dazu

Excel - (Excel, VBA)

Was möchtest Du wissen?