Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Balkendiagramm simulieren

Gruppe

Change

Problem

Wie kann ich in einem Tabellenblatt die Hintergrundfarbe von Zellen bei Zelleingaben so verändern, daß der Eindruck eines Balkendiagramms entsteht?

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

ClassModule: Tabelle11

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
   Dim iCounter As Integer
   If Target.Row <> 18 Then Exit Sub
   If Target.Column Mod 3 = 1 Or _
      Target.Column > 18 Then Exit Sub
   If IsNumeric(Target.Value) = False Then
      Beep
      MsgBox "Nur Zahlen zwischen 0 und 10 erlaubt!"
      End
   End If
   If Target.Value > 10 Or Target.Value < 0 Then
      Beep
      MsgBox "Nur Zahlen zwischen 0 und 10 erlaubt!"
      End
   End If
   For iCounter = 11 To 11 - Target.Value + 1 Step -1
      With Cells(iCounter, Target.Column)
         If IsEmpty(Target.Offset(0, -1)) Then
            .Interior.ColorIndex = 5
            .Font.ColorIndex = 3
         Else
            .Interior.ColorIndex = 3
            .Font.ColorIndex = 5
         End If
      End With
   Next iCounter
   For iCounter = 11 - Target.Value To 2 Step -1
      With Cells(iCounter, Target.Column)
         If IsEmpty(Target.Offset(0, -1)) Then
            .Interior.ColorIndex = xlNone
            .Font.ColorIndex = 3
         Else
            .Interior.ColorIndex = xlNone
            .Font.ColorIndex = 3
         End If
      End With
   Next iCounter
End Sub