(Korrigiert am 06.05.2021)
In einem der letzten Blogbeiträge hast Du sehen können, wie mit VBA ein einfaches Diagramm erstellt werden kann.
Dem Diagramm fehlte ein Diagrammtitel, es fehlte die Legende und es fehlten Achsentitel.
In diesem Beitrag soll auf die fehlenden Aspekte eingegangen werden.
1. Einen Diagrammtitel vergeben
Das erstellte Diagramm hat bisher keinen Diagrammtitel erhalten.
In einem ersten Schritt willst Du einen solchen in Dein Diagramm einfügen.
Dazu musst Du das Diagramm konkret nennen, das machst Du mit „With“ und ein Element „ChartTitle“ setzen.
Mit der With-Anweisung wird es möglich, eine Reihe von Anweisungen für ein angegebenes Objekt auszuführen, ohne den Objektnamen jeweils neu aufzurufen.
Mit „.HasTitle=True“ weist Du an, dass das Titelelement eingeblendet ist.
Danach kannst Du dem Diagramm mit einem erneuten „With“ den Diagrammtitel „Produktionsmengen“ geben und u.a. eine Schriftfarbe festlegen.
Mit „End With“ schließt Du einen With-Block ab.
Sub Diagrammelemente1()
With Worksheets(“Tabelle1”).ChartObjects(“Diagramm 1”).Chart
.SetElement (msoElementChartTitleAboveChart)
.HasTitle = True
With .ChartTitle
.Characters.Text = “Produktionsmengen”
.Font.ColorIndex = 5
End With
2. Achsentitel vergeben
In VBA werden die x- und die y-Achse unterschiedlich benannt.
Die x-Achse wird „Axes(xlCategory)“ und die y-Achse „Axes(xlValue)“ genannt.
Zuerst bestimmst Du mit einer neuen With-Anweisung das Objekt Axes(xlCategory) und legst mit „.HasTitle=True“ wiederum die Sichtbarkeit fest.
With .Axes(xlCategory)
.HasTitle = True
With .AxisTitle
.Characters.Text = “Monate”
.Font.ColorIndex = 5
End With
End With
Darunter programmierst Du eine neue With-Anweisung für den Achsentitel. Das geschieht mit „With AxisTitle“. Definiere nun den Achsentitel „Monate“ und die Schriftfarbe.
Schließe die Bestimmung des Achsentitels mit End With ab und schließe den With-Block zur x-Achse ebenfalls mit End With ab.
Mit der y-Achse verfährst Du analog. Du legst die Sichtbarkeit fest, vergibst den Achsentitel „Menge“ und legst die Schriftfarbe fest.
With .Axes(xlValue)
.HasTitle = True
With .AxisTitle
.Characters.Text = “Menge”
.Font.ColorIndex = 5
End With
End With
Diesen Teil des Codes beendest Du wiederum mit zweimaligem End With.
3. Eine Legende einfügen
Du rufst, wie anfangs beim Diagrammtitel, das Objekt Diagramm auf. Dann setzt Du mit einer Set-Anweisung das Element „Legende“ und bestimmst gleichzeitig, dass die Legende sich rechts im Diagramm befinden soll.
With Worksheets(“Tabelle1”).ChartObjects(“Diagramm 1”).Chart
.SetElement (msoElementLegendBottom)
End With
Diesen Teil des Codes beschließt Du mit End With.
4. Ergebnis nach Ausführen des Makros
Den gesamten Code musst Du dann nochmals mit End With und mit End Sub abschließen.
Der Code lautet zusammengefasst:
Sub Diagrammelemente1()
With Worksheets(“Tabelle1”).ChartObjects(“Diagramm 1”).Chart
.SetElement (msoElementChartTitleAboveChart)
.HasTitle = True
With .ChartTitle
.Characters.Text = “Produktionsmengen”
.Font.ColorIndex = 5
End With
With .Axes(xlCategory)
.HasTitle = True
With .AxisTitle
.Characters.Text = “Monate”
.Font.ColorIndex = 5
End With
End With
With .Axes(xlValue)
.HasTitle = True
With .AxisTitle
.Characters.Text = “Menge”
.Font.ColorIndex = 5
End With
End With
With Worksheets(“Tabelle1”).ChartObjects(“Diagramm 1”).Chart
.SetElement (msoElementLegendBottom)
End With
End With
End Sub
Lasse nun das Makro ausführen. Das Diagramm wird entsprechend mit den Elementen versehen.
In einem nächsten Beitrag wird es um die weitere Gestaltung des Diagramms gehen.
Entdecke mehr von Clevercalcul
Subscribe to get the latest posts sent to your email.
Ein Gedanke zu „Diagrammelemente mit VBA bearbeiten“