Diagramme

Einleitung

Ein Diagramm ist eine visuelle Darstellung von Daten. Ein Diagramm kann viele Datenpunkte in einem einzigen Bild zusammenfassen. Ein Diagramm sollte die zugrunde liegenden Daten erklären. Es aber auch ermöglichen, Problempunkte zu identifizieren, die einer weiteren Analyse bedürfen.

Ein Diagramm in Excel einfügen

Die Schritte für das Einfügen eines Diagramms in ein Tabellenblatt sind wie folgt

  1. Die Daten für das Diagramm auswählen.
  2. Auf den Reiter „Einfügen“ klicken.
  3. In der Rubrik „Diagramme“ auf die gewünschte Diagrammkategorie klicken. In dem in der Abbildung gezeigten Beispiel wird ein Diagramm der Kategorie „Punkt (XY)“ ausgewählt. Diagramme dieser Katewgorie werden zur Darstellung von Daten aus dem wissenschaftlichen oder technischen Bereich verwendet. Es öffnet sich ein Pop-Up Fenster, in dem die Diagrammtypen angezeigt werden.
  4. Auf den den gewünschten Diagrammtyp klicken.

Dann wird das Diagramm in das Tabellenblatt eingefügt.

Ein Punkt (XY) Diagramm in ein Tabellenblatt einfügen.
Eingefügtes Diagrann

Klickt man mit der linken Maustaste in den Diagrammbereich öffnet sich der Reiter „Diagrammentwurf“. Dort lässt sich das eingefügte Diagramm an die eigenen Wünsche anpassen. Man kann beispielsweise ein Schnelllayout auswählen oder Diagrammelemente wie Achsentitel oder Diagrammtitel hinzufügen.

Klickt man mit der rechten Maustaste auch einen der Datenpunkte im Diagramm erscheint ein Pop_up Fenster. Dort kann man

  • mit einem Klick auf „Datenreihen-Diagrammtyp ändern …“ den Diagrammtyp ändern.
  • mit einem Klick auf „Daten auswählen“ z. B. eine weitere Datenreihe hinzufügen.
  • mit einem Klick auf den Pfeil rechts neben „Datenbeschriftung hinzufügen“ Datenbeschriftungen oder Datenlegenden hinzufügen.
  • mit einem Klick auf „Trendlinie hinzufügen…“ eine Trendlinie einfügen.
  • mit einem Klick auf „Datenreihen formattieren…“, das Format der Datenreihen ändern. Beispielsweise kann man die Datenpunkte durch eine Linie verbinden oder das Aussehen der Symbole für die Datenpunkte ändern.

Außerdem werden die Datenreihen mit einem Rahmen markiert. Durch Ziehen mit der Maus an den Ziehkästchen rechts unten lässt sich die Zahl der ausgewählten Zellen erweitern oder verkürzen.

Diagramm ändern

Diagrammkategorien und Diagrammtypen

in Microsoft 365 gibt es 16 Diagrammkategorien und 57 Diagrammtypen, die in den beiden folgenden Tabellen aufgeführt sind. Nicht alle Kategorien und Diagrammtypen sind in allen Excel Versionen verfügbar. Die xlChartType Konstanten in Spalte 3 werden für VBA benötigt. Die unterschiedlichen Diagrammtypen können unterschiedliche Anforderungen an die Daten haben.

Diagrammkategorien und Diagrammtypen

Diagramme in VBA erstellen oder ändern

In VBA werden die Diagrammtypen durch die Konstanten der Auflistung „XlChartType“ in den beiden Tabellen repräsentiert.

Diagramm in einem Tabellenblatt einfügen

Hierfür gibt es zwei Möglichkeiten

Möglichkeit 1

Ein Diagramm mit der „Shape.AddCharts2“ Methode in ein Tabellenblatt einfügen. Die Syntax ist
ausdruck.AddChart2(Style, XlChartType, Left, Top, Width, Height, NewLayout)
wobei

  • ausdruck – Variable, die ein Shape-Objekt darstellt.
  • Style – Optional, Diagrammformat. Verwenden Sie „-1“, um die Standardformatvorlage für den in XlChartType angegebenen Diagrammtyp abzurufen.
  • XlChartType – Optional, Diagrammtyp
  • Left – Optional, Position (in Punkt) des linken Rands des Diagramms relativ zum Anker.
  • Top – Optional, Position (in Punkt) des oberen Rands des Diagramms relativ zum Anker.
  • Width – Optional, Breite des Diagramms in Punkt.
  • Height – Optional, Höhe des Diagramms in Punkt.
  • NewLayout – Optional, Wenn NewLayout = True, wird das Diagramm mit den neuen dynamischen Formatierungsregeln eingefügt (Titel ist aktiv, und Legende ist nur aktiv, wenn mehrere Reihen vorliegen).
Sub Punkt_Diagramm_Einfuegen_1()
Dim ws As Worksheet, sh As Shape, ch As Chart
Set ws = Worksheets("Punkt")
'
' Variante 1
'ws.Shapes.AddChart2(240, xlXYScatter).Select
'ActiveChart.SetSourceData Source:=ws.Range("A1:B11")
'
' Variante 2
'ws.Range("A1:B11").Select
'Set sh = ws.Shapes.AddChart2(240, xlXYScatter)
'
' Variante 3
Set sh = ws.Shapes.AddChart2(240, xlXYScatter)
Set ch = sh.Chart
ch.SetSourceData Source:=ws.Range("A1:B11")
' Gleichwertig: ch.SetSourceData Source:=ws.Range(Cells(1, 1), Cells(11, 2))
'
Set ws = Nothing
Set sh = Nothing
End Sub

Möglichkeit 2

Ein Diagramm mit der „ChartObject.Add“ Methode in ein Tabellenblatt einfügen. Die Syntax ist
ausdruck.Add(Links, Oben, Breite, Höhe)
wobei:

  • Ausdruck – Variable, die ein ChartObject darstellt.
  • Links – Erforderlich, Koordinate der linken Seite des Diagramms (in Punkt), relativ zur linken Seite der ausgewählten Zelle in einem Tabellenblatt.
  • Oben – Erforderlich, Koordinate der oberen Seite des Diagramms (in Punkt), relativ zur oberen Seite der ausgewählten Zelle in einem Tabellenblatt.
  • Breite – Erforderlich, Breite des Diagramms in Punkt.
  • Höhe – Erforderlich, Höhe des Diagramms in Punkt.
Sub Punkt_Diagramm_Einfuegen_2()
Dim ws As Worksheet, ch As ChartObject, rng As Range
Set ws = Worksheets("Punkt")
'
' Datenbereich für das Diagramm
Set rng = ws.Range("A1:B12")

' Diagramm einfügen
Set ch = ws.ChartObjects.Add( _
  Left:=ws.Cells(2, 4).Left, _
  Width:=450, _
  Top:=ws.Cells(2, 4).Top, _
  Height:=250)
'
' Den Diagrammtyp festlegem
ch.Chart.ChartType = xlXYScatter
'
' Den Datenbereich zuweisen
ch.Chart.SetSourceData Source:=rng
'
Set ws = Nothing
Set ch = Nothing
End Sub

Diagramm als gesondertes Blatt in eine Excel Arbeitsmappe einfügen

Ein Diagramm mit der „Charts.Add2“ Methode als gesondertes Blatt in eine Excel Arbeitsmappe einfügen. Die Syntax ist
ausdruck. Add2 (Before, After, Count, NewLayout)
wobei

  • Ausdruck – Variable, die ein Charts-Objekt darstellt.
  • Before – Optional, Worksheet Objekt, das das Tabellenblatt angibt, vor dem das neue Diagramm Blatt eingefügt wird.
  • After – Optional, Worksheet Objekt, das das Tabellenblatt angibt, hinter dem das neue Diagramm Blatt hinzugefügt wird.
  • Count – Optional, Anzahl der hinzuzufügenden Zeilen. Der Standardwert lautet eins.
  • NewLayout – Optional, Wenn NewLayout = True, wird das Diagramm mit den neuen dynamischen Formatierungsregeln eingefügt (Titel ist aktiv, und Legende ist nur aktiv, wenn mehrere Reihen vorliegen).
Sub Punkt_Diagramm_Einfuegen_4()
Dim MeinDiagramm As Chart, ws As Worksheet
'
Set ws = Worksheets("Punkt")
'
' Neues Blatt als Diagrammblatt hinzufuegen
Set MeinDiagramm = Charts.Add2(After:=ws)
'
With MeinDiagramm
     ' Hier kommt es auf die Reihenfolge an
     ' Diagrammtyp setzen
     .ChartType = xlXYScatter
     ' Quelldaten zuweisen
     .SetSourceData ws.Range("A1:B12")
End With
'
Set ws = Nothing
Set MeinDiagramm = Nothing
End Sub

Diagramm anpassen

Mit folgendem Beispiel Code lässt sich ein Diagramm an die eigenen Wünsche anpassen.Es gibt viele Möglichkeiten, ein Diagramm anzupassen. Daher ist es nicht immer einfach, die benötigten Anweisungen zu finden.

Sub Punkt_Diagramm_Anpassen()
Dim ws As Worksheet, ch As ChartObject
Set ws = Worksheets("Punkt")
'
Set ch = ws.ChartObjects("Diagramm 6")

With ch.Chart
'    Sicher stellen, dass das Diagramm einen Titel hat
     .HasTitle = True
'    Den Titel des Diagramms ändern
     .ChartTitle.Text = "Kurve"
End With
'
ch.Chart.SetSourceData Source:=ws.Range("A1:B12")
' Gleichwertig: ch.Chart.SetSourceData Source:=ws.Range(Cells(1, 1), Cells(12, 2))
'
' Achsentitel einfuegen
' Achsentitel für die horizontale Achse einfügen
With ch.Chart.Axes(xlCategory)
    .HasTitle = True
    .AxisTitle.Text = "x-Achse"
    .HasMajorGridlines = True
    .HasMinorGridlines = True
End With
' Achsentitel für die vertikale Achse einfügen
With ch.Chart.Axes(xlValue)
    .HasTitle = True
    .AxisTitle.Text = "y-Achse"
    .HasMajorGridlines = True
    .HasMinorGridlines = True
End With
'
' Verbindungslinie formattieren
With ch.Chart.FullSeriesCollection(1).Format.Line
    .Visible = msoTrue
    .ForeColor.RGB = RGB(0, 0, 255)
    .Weight = 0.75
End With
'
' Ränder des Diagramms ändern
With ch.Chart
    .ChartArea.Border.LineStyle = xlContinuous ' xlDash
    .ChartArea.Border.Weight = xlThin ' xlThick
    .ChartArea.Border.Color = RGB(0, 0, 0)
    .ChartArea.Format.Fill.ForeColor.RGB = RGB(255, 0, 0)
    .PlotArea.Border.LineStyle = xlContinuous ' xlDot
    .PlotArea.Border.Weight = xlThin ' xlThick
    .PlotArea.Border.Color = RGB(0, 0, 0)
    '.PlotArea.Format.Fill.ForeColor.RGB = RGB(255, 0, 0)
    '.PlotArea.Format.Fill.ForeColor = xlNone
End With

Set ws = Nothing
Set ch = Nothing
End Sub

Den Namen des Diagramms findet man, in dem man mit der linken Maustaste in den Diagrammbereich klíckt. Dann wird der Diagrammname im blau markierten Bereich angezeigt.

Der Diagrammname wird im blau markierten Bereich angezeigt

Schreibe einen Kommentar