Datenreihe per VBA in ein Diagramm schreiben
Schritt-für-Schritt-Anleitung
Um eine Datenreihe per VBA in ein Diagramm zu schreiben, folge diesen Schritten:
-
Öffne den VBA-Editor: Drücke ALT + F11 in Excel.
-
Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" und wähle Einfügen > Modul.
-
Füge den folgenden Code ein:
Sub ReiheAnpassen()
With ActiveSheet.ChartObjects("Diagramm 4").Chart
With .SeriesCollection(5)
.Name = "=ABS!B2"
.Values = Worksheets("ABS").Range("B3:B28")
End With
End With
End Sub
-
Schließe den VBA-Editor und gehe zurück zu Excel.
-
Führe das Makro aus: Drücke ALT + F8, wähle ReiheAnpassen und klicke auf Ausführen.
Häufige Fehler und Lösungen
Fehler 1: Diagramm nicht gefunden
- Lösung: Überprüfe den Namen des Diagramms in der Zeile
ChartObjects("Diagramm 4"). Stelle sicher, dass dieser Name korrekt ist.
Fehler 2: Werte nicht aktualisiert
- Lösung: Vergewissere dich, dass der Bereich
B3:B28 tatsächlich Werte enthält. Ansonsten wird die Datenreihe nicht korrekt aktualisiert.
Fehler 3: Makro läuft nicht
- Lösung: Stelle sicher, dass die Makros in deinen Excel-Einstellungen aktiviert sind. Gehe zu
Datei > Optionen > Trust Center > Einstellungen für das Trust Center > Makroeinstellungen.
Alternative Methoden
Wenn Du nicht mit VBA arbeiten möchtest, kannst Du auch die Folgendes versuchen:
-
Manuelle Anpassung:
- Klicke auf das Diagramm und dann auf die Datenreihe, die Du ändern möchtest.
- Gehe zu den Diagrammtools und wähle die Option zum Bearbeiten der Datenreihe.
-
Formeln verwenden:
- Du kannst die
DATENREIHE-Funktion in einer Zelle verwenden, um die Daten für das Diagramm zu definieren, jedoch ist dies in der Regel weniger flexibel als die Verwendung von VBA.
Praktische Beispiele
Um ein praktisches Beispiel zu zeigen: Angenommen, Du hast in deinem Excel-Dokument ein Diagramm namens „Diagramm 4“ und möchtest die Datenreihe mit neuen Werten aus dem Bereich B3:B28 überschreiben. Mit dem oben genannten VBA-Code kannst Du dies einfach durchführen.
Sub BeispielDatenreihe()
With ActiveSheet.ChartObjects("Diagramm 4").Chart
With .SeriesCollection(1) ' Ändere die Indexnummer für die gewünschte Datenreihe
.Name = "=ABS!B2"
.Values = Worksheets("ABS").Range("B3:B28")
End With
End With
End Sub
Tipps für Profis
-
Nutze Variablen: Um Deinen Code flexibler zu gestalten, kannst Du Variablen für den Diagrammnamen und den Bereich definieren.
Sub FlexiblesDiagramm()
Dim chartName As String
Dim dataRange As Range
chartName = "Diagramm 4"
Set dataRange = Worksheets("ABS").Range("B3:B28")
With ActiveSheet.ChartObjects(chartName).Chart
With .SeriesCollection(1)
.Name = "=ABS!B2"
.Values = dataRange
End With
End With
End Sub
-
Fehlersuche: Verwende Debug.Print innerhalb Deines Codes, um Variablenwerte während der Ausführung zu überprüfen.
FAQ: Häufige Fragen
1. Was mache ich, wenn ich kein Diagramm sehe?
Überprüfe, ob das Diagramm auf dem richtigen Arbeitsblatt vorhanden ist und der Name exakt übereinstimmt.
2. Kann ich mehrere Datenreihen gleichzeitig aktualisieren?
Ja, Du kannst mehrere With .SeriesCollection(n) Blöcke für verschiedene Datenreihen innerhalb des gleichen Makros verwenden.
3. Funktioniert dieser Code in Excel 2016?
Ja, der bereitgestellte VBA-Code funktioniert in Excel 2016 sowie in neueren Versionen.