Hallo,
mit diesem Code kann z.B. bei einem Digramm Typ "Gruppierte Balken" die Anzeige des erste Balkens angepasst werden:
Sub FormatChartSeries()
Dim sc As Series
Set sc = ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)
With sc
If .Values(1) > 90 Then
.Format.Fill.ForeColor.RGB = RGB(255, 0, 50)
Else
.Format.Fill.ForeColor.RGB = RGB(0, 0, 255)
End If
End With
End Sub
Damit die Ausführung dynamisch erfolgt, kann der Aufruf auch in der Tabelle direkt erfolgen:
Private Sub Worksheet_Change(ByVal Target As Range)
FormatChartSeries
End Sub
In diesem Fall wird die Anzeige direkt nach dem Ändern des Wertes angepasst.
Wichtige Info: Falls in der Tabelle mehr als ein Diagramm vorhanden sein sollte, kann das Chart-Objekt auf diese Weise nicht zuverlässig angesprochen werden, da Excel die IDs ändern kann. Es dient lediglich zur Demonstration, dass es möglich ist, die Anzeige der Balken auch mit VBA-Befehlen zu verändern.
LG, BigBen
|