Microsoft Excel

Herbers Excel/VBA-Archiv

Zellen färben

Betrifft: Zellen färben von: Andre
Geschrieben am: 07.09.2020 14:29:23

Hallo Zusammen

Ich habe mal eine Frage was ist an diesen Code falsch.
In Spalte O steht eine Formel die mir das gewünschte Ergebnis aus gibt.
Leider färben sich die Zellen nicht.
Bestätige ich die Formel mit ENTER färben sich die Zellen.
Woran liegt das muss ich noch was hinzufügen bei diesen Code.
ach ja hier die Formel die Spalte O steht.

Private Sub Worksheet_Change(ByVal Target As Range)

Dim rngCell As Range
Dim bytColor As Byte

' Bereich der überwacht wird
Set Target = Intersect(Target, Range("O4:O300"))
If Target Is Nothing Then Exit Sub

For Each rngCell In Target
Select Case rngCell.Value 'Wert in Großbuchstaben umwandeln
Case "Erledigt"
bytColor = 4
Case "In Arbeit"
bytColor = 6

Case Else
bytColor = 0 ' keine Farbe
End Select

Range(Cells(Target.Row, 2), Cells(Target.Row, 15)).Interior.ColorIndex = bytColor 'Spalte A und  _
B
Next rngCell
End Sub

Betrifft: AW: Zellen färben
von: Daniel
Geschrieben am: 07.09.2020 14:39:07

Hi
das Change-Event reagiert nur, wenn du den Formeltext selbst änderst.
es reagiert nicht, wenn sich das Formelergebnis ändert.

das Calculate-Event spricht an, wenn Formeln neu berechnet werden.
Es kann aber nicht erkennen, welche Zellen neu berechnet wurden und ob sich ein Formelergebnis dabei verändert hat.

aber für diese Aufgabenstellung hat Excel doch die Bedingte Formatierung, so dass du eigentlich nichts programmieren müsstest.

wenns unbedingt per Code laufen soll, könntest du entweder:
a) im Change-Event bleiben, hier aber die Zellen überwachen, die das Formelergebnis von Spalte O beeinflussen
b) das Calculate-Event verwenden.

Gruß Daniel

Betrifft: AW: Zellen färben
von: Andre
Geschrieben am: 08.09.2020 10:16:50

Hallo Daniel

Vielen Dank für deine Antwort. Ich habe den Code umgestellt auf das das Calculate-Event läuft super

bleib Gesund
Gruß Andre

Beiträge aus dem Excel-Forum zum Thema "Zellen färben"