Diagramme ermöglichen es, Zahlen grafisch darzustellen, die sich dann oftmals besser verstehen und vergleichen lassen.
Die manuelle Erstellung von Diagrammen war schon mehrfach Thema im Blog.
In diesem Beitrag soll es darum gehen, ein Diagramm mit einem VBA-Makro aufzubauen.
1. Die Wertetabelle
Als Grundlage steht eine Tabelle zur Verfügung, aus der die produzierte Anzahl eines Produktes über ein Jahr abzulesen ist.
2. Ein Makro schreiben
Gehe im Menü Entwicklertools / Code auf „Visual Basic“. Es öffnet sich eine Maske zur Eingabe des Codes.
Die erste und die letzte Zeile eines Codes sind lediglich dazu da, den Code einzuleiten und abzuschließen.
Das Schlüsselwort zur Eröffnung ist „Sub“. Dann folgt ein sinnvoller Name für das Makro. Die erste Zeile wird mit einer öffnenden und einer schließenden Klammer abgeschlossen.
Schreibe z.B.
Sub ErstellenDiagramm()
Gib nun die Anweisung, ein Diagramm zu erstellen. Lege dann den Diagrammtyp „Gruppierte Säulen“ fest.
Charts.Add
ActiveChart.ChartType=xlColumnClustered
Weise jetzt an, welche Daten dem Diagramm zugrunde gelegt werden sollen.
ActiveChart.SetSourceData _
Source:=Sheets(„Tabelle1“).Range(„$B$4:$C$15“), PlotBy:=xlColumns
Im nächsten Schritt ist anzugeben, wo denn das Diagramm erscheinen soll.
ActiveChart.Location Where:=xlLocationAsObject Name:=“Tabelle1“
„xlChart.Location“ spezifiziert den Ort der Hinterlegung und kann wie folgt besetzt werden:
xlLocationAsNewSheet (neues Diagrammblatt)
xlLocationAsObject (im Arbeitsblatt als Objekt)
xlLocationAutomatic (automatische Positionierung)
Jetzt kannst Du noch entscheiden, ob dem Diagramm eine Legende hinzugefügt werden soll oder nicht.
Wenn ja, dann schreibe:
ActiveChart.HasLegend=True
Wenn nein, dann schreibe:
ActiveChart.HasLegend=False
Für das Beispiel wurde False gewählt.
Schließe das Makro mit
End Sub
ab.
Das vollständige Makro lautet:
Sub ErstellenDiagramm()
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets(“Tabelle1”).Range(“$B$4:$C$15”), PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:=”Tabelle1″
ActiveChart.HasLegend = False
End Sub
Nun lass das programmierte Makro ausführen.
Setze den Cursor im Editor in den Code, gehe dann auf Ausführen und klicke „Sub/Userform ausführen“ an.
Befindet sich der Cursor außerhalb des Codes, rufst Du genauso „Sub/Userform ausführen“ auf und wählst dann das Makro aus.
Das Makro läuft jetzt ab und erstellt im Arbeitsblatt „Tabelle1“ das gewünschte Diagramm.
3. Ausblick
Dem Diagramm fehlt noch einiges. Es hat noch keinen Titel, es fehlt die Legende, es fehlen Achsentitel. Eventuell vermisst Du Datenbeschriftungen.
Die Datenreihe hat eine automatische Farbe erhalten, das könnte noch geändert werden.
Möglich ist, Achsen auszublenden.
Letztlich fehlen vielleicht noch Formatierungen des Diagrammbereiches und der Zeichnungsfläche.
Auf diese und andere Aspekte soll in weiteren Beiträgen eingegangen werden.
Entdecke mehr von Clevercalcul
Subscribe to get the latest posts sent to your email.
Ein Gedanke zu „Ein Diagramm per VBA erstellen“