Diagramm-Achsen tauschen mit VBA in Excel
Schritt-für-Schritt-Anleitung
Um die Achsen in einem Excel-Diagramm via VBA zu tauschen, kannst du die folgende Schritt-für-Schritt-Anleitung befolgen:
-
Öffne den VBA-Editor:
- Drücke
ALT
+ F11
, um den Visual Basic for Applications (VBA) Editor zu öffnen.
-
Erstelle ein neues Modul:
- Klicke mit der rechten Maustaste auf einen der Einträge im Projekt-Explorer und wähle "Einfügen" > "Modul".
-
Füge den folgenden Code ein:
Dim rngBereich As Range
Dim month As String
month = "Mar" ' Setze hier den gewünschten Monat ein
Select Case month
Case "Jan"
Set rngBereich = Sheets("SALES").Range("F1:G1,F150:G156")
Case "Feb"
Set rngBereich = Sheets("SALES").Range("F1:H1,F150:H156")
Case "Mar"
Set rngBereich = Sheets("SALES").Range("F1:I1,F150:I156")
End Select
With Worksheets("Diagrams").ChartObjects("Chart 4").Chart
.SetSourceData Source:=rngBereich
.PlotBy = xlColumns ' Damit tauscht man die Datenanordnung
End With
-
Führe den Code aus:
- Drücke
F5
, um das Makro auszuführen und die Achsen in deinem Diagramm zu tauschen.
Häufige Fehler und Lösungen
-
Fehler: Diagramm zeigt falsche Achsen an
Lösung: Stelle sicher, dass du die .PlotBy
-Eigenschaft korrekt auf xlColumns
oder xlRows
gesetzt hast, abhängig von der gewünschten Anordnung.
-
Fehler: Das Diagramm aktualisiert sich nicht
Lösung: Überprüfe, ob die SetSourceData
-Methode die richtige Datenquelle verwendet. Es kann hilfreich sein, die Daten manuell zu überprüfen.
Alternative Methoden
Eine Alternative zur Verwendung von VBA ist, das Diagramm manuell zu bearbeiten:
- Klicke mit der rechten Maustaste auf das Diagramm und wähle "Daten auswählen".
- Klicke auf "Zeilen/Spalten wechseln". Diese Funktion ermöglicht es dir, die Achsen schnell ohne VBA-Code zu tauschen.
Für Pivot-Diagramme kannst du die Option "Pivot-Chart-Achsen tauschen" nutzen, um die Achsen einfach zu vertauschen.
Praktische Beispiele
Hier ist ein Beispiel, wie du ein Diagramm mit unterschiedlichen Datenquellen für verschiedene Monate erstellen kannst:
Sub UpdateChart()
Dim rngBereich As Range
Dim month As String
month = "Feb" ' Beispielmonat
Select Case month
Case "Jan"
Set rngBereich = Sheets("SALES").Range("F1:G1,F150:G156")
Case "Feb"
Set rngBereich = Sheets("SALES").Range("F1:H1,F150:H156")
Case "Mar"
Set rngBereich = Sheets("SALES").Range("F1:I1,F150:I156")
End Select
With Worksheets("Diagrams").ChartObjects("Chart 4").Chart
.SetSourceData Source:=rngBereich
.PlotBy = xlColumns
End With
End Sub
In diesem Beispiel wird das Diagramm für den Monat Februar aktualisiert.
Tipps für Profis
-
Makro-Rekorder verwenden: Nutze den Makro-Rekorder, um den Code zu generieren, während du die Funktion "Zeilen/Spalten tauschen" manuell ausführst. So kannst du sehen, welche VBA-Befehle verwendet werden.
-
Vermeide Select und Activate: Reduziere die Anzahl der Select
- und Activate
-Befehle in deinem Code, um die Ausführung zu beschleunigen und den Code sauberer zu gestalten.
-
Diagramm-Layouts anpassen: Experimentiere mit verschiedenen Diagramm-Layouts, um die Darstellung deiner Daten zu optimieren.
FAQ: Häufige Fragen
1. Wie tausche ich die X- und Y-Achse in einem Diagramm?
Du kannst die Achsen tauschen, indem du die .PlotBy
-Eigenschaft entweder auf xlRows
oder xlColumns
setzt.
2. Funktioniert das auch in Excel 365?
Ja, der Code funktioniert in Excel 365 sowie in früheren Versionen wie Excel 2016 und 2019.
3. Was ist der Unterschied zwischen 'SetSourceData' und 'PlotBy'?
SetSourceData
definiert, welche Daten im Diagramm angezeigt werden, während PlotBy
die Anordnung der Daten (Zeilen- oder Spaltenanordnung) angibt.