In einem der letzten Blogbeiträge ging es um Diagrammtitel, Legende und Achsentitel
In diesem Beitrag soll gezeigt werden, wie die Diagrammfläche und die Zeichnungsfläche eines Säulendiagramms formatiert werden können.
1. Die Diagrammfläche formatieren
Du hast eine Säulendiagramm wie im Beitrag gezeigt, erstellt.
Nun soll die Diagrammfläche eine Hintergrundfarbe und einen Rahmen erhalten.
Dazu aktivierst Du das ChartObject „Diagramm 1“.
ActiveSheet.ChartObjects(“Diagramm 1”).Activate
Als erstes sprichst Du die Füllung mit „Fill“ an und weist Sichtbarkeit an.
With ActiveSheet.Shapes(“Diagramm 1”).Fill
.Visible = msoTrue
Mit der Anweisung
.ForeColor.ObjectThemeColor = msoThemeColorBackground1
gibt VBA eine Farbe zurück, die dem Farbschema eines Designs zugeordnet wird oder legt diese fest.
Die Anweisung
.ForeColor.TintAndShade = 0
gibt einen Single-Wert zurück, der eine Farbe aufhellt oder abdunkelt, oder legt diesen Wert fest.
Jetzt kannst Du noch die Leuchtdichte des angegebenen Objektes festlegen. Das geschieht mit der Anweisung
.ForeColor.Brightness = -0.150000006
(Den Wert „-0.150000006“ hat mir die Makroaufzeichnung geliefert)
Die Transparenz einer Füllfarbe bestimmst Du mit
.Transparency = 0
In diesem Fall soll es keine Transparenz geben.
Mit
.Solid
legst Du die angegebene Füllung auf eine einheitliche Farbe fest.
Um einen Rahmen um die Diagrammfläche zu legen, verwendest Du die Anweisung
With ActiveSheet.Shapes(“Diagramm 1”).Line
Du weist wieder Sichtbarkeit an und bestimmst eine Farbe für den Rahmen.
.ForeColor.ObjectThemeColor = msoThemeColorText1
Entscheide noch über Aufhellung oder Abdunklung, die Leuchtdichte und die Transparenz.
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = -0.150000006
.Transparency = 0
.Solid
Mit
.Weight = 0.75
schließlich legst Du die Strichstärke fest.
Jetzt noch das Makro im Zusammenhang:
Sub Diagrammfläche()
ActiveSheet.ChartObjects(“Diagramm 1”).Activate
With ActiveSheet.Shapes(“Diagramm 1”).Fill
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorBackground1
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = -0.150000006
.Transparency = 0
.Solid
End With
With ActiveSheet.Shapes(“Diagramm 1”).Line
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorText1
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = 0
.Weight = 0.75
End With
End Sub
Letztlich das Diagramm nach Ausführen des Makros:
2. Die Zeichnungsfläche formatieren
Jetzt soll noch die Zeichnungsfläche etwas formatiert werden. Dazu willst Du ihr eine Hintergrundfarbe und einen Rahmen geben.
Dazu aktivierst Du wieder das ChartObject „Diagramm 1“.
ActiveSheet.ChartObjects(“Diagramm 1”).Activate
Als erstes sprichst Du die Füllung mit „Fill“ an und weist Sichtbarkeit an.
With ActiveSheet.Shapes(“Diagramm 1”).Fill
.Visible = msoTrue
Mit der Anweisung
.ForeColor.RGB = RGB(255, 255, 153)
gibt VBA eine Farbe zurück, die mit einem RGB-Wert festgelegt wird.
Die Transparenz einer Füllfarbe bestimmst Du mit
.Transparency = 0
In diesem Fall soll es keine Transparenz geben.
Mit
.Solid
legst Du die angegebene Füllung auf eine einheitliche Farbe fest.
Um um die Zeichnungsfläche einen Rahmen zu setzen, verwendest Du die Anweisung
With Selection.Format.Fill
Du weist wieder Sichtbarkeit an und bestimmst eine Farbe für den Rahmen.
.ForeColor.ObjectThemeColor = msoThemeColorText1
Entscheide noch über Aufhellung oder Abdunklung, die Leuchtdichte und die Transparenz.
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = 0
.Transparency = 0
.Solid
Mit
.Weight = 0.5
schließlich legst Du die Strichstärke fest.
Jetzt noch das Makro im Zusammenhang:
Sub Zeichnungsfläche()
ActiveSheet.ChartObjects(“Diagramm 1”).Activate
ActiveChart.PlotArea.Select
With Selection.Format.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 255, 153)
.Transparency = 0
.Solid
End With
With Selection.Format.Line
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorText1
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = 0
.Weight = 0.5
End With
End Sub
Letztlich das Diagramm nach Ausführen des Makros:
3. Zusammenfassung Diagramm und VBA
In dieser kleinen Serie hast Du sehen können, wie mit VBA
- ein Diagramm erstellt werden kann
- Diagrammtitel, Achsentitel und Legende eingefügt werden können
- Diagramm- und Zeichnungsfläche formatiert werden können (in diesem Beitrag)
Nach Ausführung dieser drei Makros ist das Diagramm auf diesem Stand fertig:
Viele weitere Formatierungen lassen sich an einem Diagramm vornehmen.
Nicht behandelt wurde z.B. die Formatierung der Datenreihe und die Formatierung der Achsenbeschriftungen. Vielleicht werde ich das später noch beschreiben.
Entdecke mehr von Clevercalcul
Subscribe to get the latest posts sent to your email.