Diagramm-Quelle in Excel mit VBA ändern
Schritt-für-Schritt-Anleitung
Um die Datenquelle eines Diagramms in Excel über VBA zu ändern, befolge diese Schritte:
-
Öffne den VBA-Editor:
- Drücke
ALT + F11
, um den Visual Basic for Applications (VBA)-Editor zu öffnen.
-
Füge ein neues Modul hinzu:
- Rechtsklicke im Projekt-Explorer auf "VBAProject (DeinDateiname)".
- Wähle "Einfügen" und dann "Modul".
-
Füge den folgenden Code ein:
Sub DiagrammDatenbereichAendern()
Dim chaDiagram As ChartObject
Set chaDiagram = Worksheets("Statistic").ChartObjects("Test")
chaDiagram.Chart.SetSourceData Source:=Worksheets("Overview").Range("B10:D10"), PlotBy:=xlRows
End Sub
- Achte darauf, dass du die Namen von Arbeitsblättern und Diagrammen an deine Gegebenheiten anpasst.
-
Führe das Makro aus:
- Drücke
F5
oder wähle das Makro aus und klicke auf "Ausführen".
Häufige Fehler und Lösungen
Alternative Methoden
Wenn du die Datenquelle eines Diagramms ändern möchtest, gibt es auch andere Ansätze:
-
Manuelle Änderung:
Klicke mit der rechten Maustaste auf das Diagramm und wähle "Daten auswählen". Ändere dort den Datenbereich manuell.
-
Verwendung von Formeln:
Du kannst auch dynamische Bereiche mit Formeln erstellen, um den Datenbereich eines Diagramms automatisch zu aktualisieren, wenn sich die Daten ändern.
Praktische Beispiele
Hier sind einige praktische Beispiele zur Verwendung von VBA zur Änderung des Diagrammdatenbereichs:
-
Ändern des Datenbereichs für ein Säulendiagramm:
Sub AendereSaeulenDiagramm()
With Worksheets("Statistics").ChartObjects("Diagramm 1").Chart
.SetSourceData Source:=Worksheets("Overview").Range("A1:B10"), PlotBy:=xlColumns
End With
End Sub
-
Ändern des Diagrammtyps und der Datenquelle:
Sub DiagrammTypUndDatenAendern()
Dim chaDiagram As ChartObject
Set chaDiagram = Worksheets("Statistics").ChartObjects("Test")
chaDiagram.Chart.ChartType = xlPie
chaDiagram.Chart.SetSourceData Source:=Worksheets("Overview").Range("C1:C10")
End Sub
Tipps für Profis
-
Namen von Diagrammen ändern:
Verwende den folgenden Code, um den Namen des Diagramms zu ändern:
Sub DiagrammNameAendern()
Dim chaDiagram As ChartObject
For Each chaDiagram In ActiveSheet.ChartObjects
If MsgBox("Der VBA Name dieser Grafik ist => " & chaDiagram.Name & ". Wollen Sie Ihn ändern?", vbYesNo + vbInformation) = vbYes Then
chaDiagram.Name = InputBox("Geben Sie den neuen Namen ein.", " Neuer Diagrammname", "Neuer Name")
End If
Next
End Sub
-
Verwende PlotBy
: Achte darauf, in der SetSourceData
-Methode, ob du die Daten nach Zeilen oder Spalten plotten möchtest. Das kannst du mit PlotBy:=xlRows
oder PlotBy:=xlColumns
steuern.
FAQ: Häufige Fragen
1. Wie ändere ich den Datenbereich eines Diagramms ohne VBA?
Du kannst den Datenbereich eines Diagramms ändern, indem du mit der rechten Maustaste auf das Diagramm klickst und "Daten auswählen" wählst. Dort kannst du den Datenbereich manuell anpassen.
2. Was ist der Unterschied zwischen dem Diagrammname und dem VBA-Namen?
Der Diagrammname ist der Name, der in Excel angezeigt wird. Der VBA-Name ist der Name, den VBA verwendet, um auf das Diagramm zuzugreifen. Diese können unterschiedlich sein und müssen nicht identisch sein.
3. Kann ich die Diagrammquelle dynamisch ändern?
Ja, du kannst dynamische Bereiche in Excel erstellen, indem du benannte Bereiche oder Tabellen verwendest, die sich automatisch anpassen, wenn neue Daten hinzugefügt werden.