Excel VBA Diagramm erstellen
Schritt-für-Schritt-Anleitung
Um ein einfaches Diagramm mit VBA zu erstellen, befolge diese Schritte:
-
Öffne Excel und drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.
-
Füge ein neues Modul hinzu:
- Klicke mit der rechten Maustaste auf „VBAProject (DeinWorkbookName)“.
- Wähle „Einfügen“ und dann „Modul“.
-
Kopiere und füge den folgenden Code ein, um ein einfaches Säulendiagramm zu erstellen:
Sub EinfachesDiagrammErstellen()
Dim wks As Worksheet
Set wks = ActiveSheet
With wks.ChartObjects.Add(150, 150, 400, 300).Chart
.ChartType = xlColumnClustered
.SetSourceData Source:=Union(wks.Range("A10:A45"), wks.Range("AH10:AH45"))
End With
End Sub
-
Führe das Makro aus:
- Gehe zurück zu Excel und drücke
ALT + F8.
- Wähle „EinfachesDiagrammErstellen“ und klicke auf „Ausführen“.
Häufige Fehler und Lösungen
-
Fehler: „Diagramm kann nicht erstellt werden“
- Lösung: Stelle sicher, dass die Quellbereiche nicht leer sind. Überprüfe die angegebenen Zellen.
-
Fehler bei älteren Versionen (z.B. Excel 2010)
- Lösung: Verwende die
AddChart-Methode anstelle von AddChart2, da Letztere erst ab Excel 2013 verfügbar ist. Beispiel:
ActiveSheet.ChartObjects.Add(Left:=100, Top:=100, Width:=375, Height:=225).Chart
Alternative Methoden
Wenn du ein Diagramm in Excel VBA erstellen möchtest, kannst du auch die AddChart-Methode verwenden. Hier ist ein Beispiel:
Sub DiagrammMitAddChart()
Dim wks As Worksheet
Set wks = ActiveSheet
Dim diagramm As Chart
Set diagramm = wks.Shapes.AddChart(xlColumnClustered).Chart
diagramm.SetSourceData Source:=wks.Range("A10:A45,AH10:AH45")
End Sub
Diese Methode ist besonders nützlich, wenn du mit älteren Excel-Versionen arbeitest und dennoch ein VBA Diagramm erstellen möchtest.
Praktische Beispiele
Hier sind einige Beispiele, wie du verschiedene Diagrammtypen erstellen kannst:
-
Liniendiagramm erstellen:
Sub LiniendiagrammErstellen()
Dim wks As Worksheet
Set wks = ActiveSheet
With wks.ChartObjects.Add(150, 150, 400, 300).Chart
.ChartType = xlLine
.SetSourceData Source:=wks.Range("A10:A45")
End With
End Sub
-
Tortengrafik erstellen:
Sub TortengrafikErstellen()
Dim wks As Worksheet
Set wks = ActiveSheet
With wks.ChartObjects.Add(150, 150, 400, 300).Chart
.ChartType = xlPie
.SetSourceData Source:=wks.Range("A10:A20")
End With
End Sub
Tipps für Profis
-
Verwendung von With-Anweisungen: Dies reduziert den Code und macht ihn übersichtlicher.
-
Automatisierung von Diagrammen: Du kannst Diagramme automatisch erstellen lassen, indem du das Diagramm direkt nach dem Hinzufügen bearbeitest, ohne es zu aktivieren.
-
Diagramme anpassen: Nutze Eigenschaften wie .HasLegend, um Legenden hinzuzufügen oder anzupassen:
diagramm.HasLegend = True
FAQ: Häufige Fragen
1. Wie kann ich ein Diagramm automatisch erstellen?
Du kannst ein Excel Diagramm automatisch erstellen, indem du den AddChart oder AddChart2-Befehl in deinem Makro verwendest.
2. Funktioniert das Makro auch in Excel 2010?
Ja, du kannst Diagramme auch in Excel 2010 erstellen, indem du die AddChart-Methode anstelle von AddChart2 verwendest.
3. Wie kann ich den Diagrammtyp ändern?
Ändere den Wert der ChartType-Eigenschaft in deinem VBA-Code. Zum Beispiel, um ein Liniendiagramm zu erstellen, setze .ChartType = xlLine.