Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Setzen der Hintergrundfarbe nach Wertevergleich

Gruppe

Change

Problem

Bei Eingaben oder Änderungen von Formelwerten soll eine Überprüfung mit den Vorgängerwerten stattfinden. Ist der neue Zellwert höher, soll die Hintergrundfarbe auf rot, ist er niedriger, soll sie auf gelb gesetzt werden.

Lösung
Geben Sie den Ereigniscode in das Klassenmodul des Arbeitsblattes ein.

ClassModule: Tabelle1

Private Sub Worksheet_Change(ByVal Target As Range)
   Dim vNew As Variant, vOld As Variant
   If Intersect(Target, Range("B3:C3")) Is Nothing Then Exit Sub
   vNew = Target.Value
   Application.EnableEvents = False
   On Error GoTo ERRORHANDLER
   Application.Undo
   vOld = Target.Value
   Target.Value = vNew
   If vNew > vOld Then
      Target.Interior.ColorIndex = 3
   ElseIf vNew < vOld Then
      Target.Interior.ColorIndex = 6
   Else
      Target.Interior.ColorIndex = xlColorIndexNone
   End If
ERRORHANDLER:
   Application.EnableEvents = True
End Sub