VBA: Diagramm- und Zeichnungsfläche formatieren

In einem der letzten Blogbeiträge ging es um Diagrammtitel, Legende und Achsentitel

In diesem Beitrag soll gezeigt werden, wie die Diagramm- 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

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.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s