Pivot Tabelle Quelle per VBA ändern
Schritt-für-Schritt-Anleitung
Um die Datenquelle einer Pivot Tabelle per VBA zu ändern, kannst du den folgenden Code verwenden. Dieser ermöglicht es dir, zwischen zwei Tabellen (z.B. Tabelle1 und Tabelle2) zu wechseln.
- Öffne die VBA-Umgebung in Excel (Alt + F11).
- Füge ein neues Modul hinzu (Rechtsklick auf „VBAProject“ > Einfügen > Modul).
- Kopiere den folgenden Code in das Modul:
Sub PivotQuelle_Tabelle1()
Call QuellePivot(wksQuelle:=Worksheets("Tabelle 1"))
End Sub
Sub PivotQuelle_Tabelle2()
Call QuellePivot(wksQuelle:=Worksheets("Tabelle 2"))
End Sub
Sub QuellePivot(wksQuelle As Worksheet)
Dim sBereich As String
Const sTabPivot As String = "Pivot" ' Name des Tabellenblatts mit Pivottabelle
With wksQuelle
' Bereich mit Quelldaten - Spalten 1 bis 8 der Tabellenblätter
sBereich = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp).Offset(0, 7)).Address(ReferenceStyle:=xlR1C1)
End With
With ActiveWorkbook
.Worksheets(sTabPivot).PivotTables(1).ChangePivotCache .PivotCaches.Create _
(SourceType:=xlDatabase, _
SourceData:=.Path & "\" & .Name & "!" & wksQuelle.Name & "!" & sBereich, _
Version:=xlPivotTableVersion10)
.Worksheets(sTabPivot).PivotTables(1).PivotCache.Refresh
' Quelltabelle oberhalb von Pivotbericht-Daten eintragen
.Worksheets(sTabPivot).Range("B1") = wksQuelle.Name
End With
End Sub
- Schließe den VBA-Editor und teste die Makros, um zwischen den Datenquellen zu wechseln.
Häufige Fehler und Lösungen
-
Fehler: "Das angegebene Blatt existiert nicht."
- Lösung: Stelle sicher, dass die Blattnamen ("Tabelle 1" und "Tabelle 2") exakt mit den Namen in deinem Excel-Dokument übereinstimmen.
-
Fehler: "Die Pivot-Tabelle kann nicht aktualisiert werden."
- Lösung: Prüfe, ob die angegebenen Bereiche korrekt sind. Achte darauf, dass die Quelldaten in den richtigen Spalten liegen.
-
Problem: Datenquelle der Pivot Tabelle ändert sich nicht.
- Lösung: Stelle sicher, dass das Makro korrekt aufgerufen wird und die Pivot-Tabelle tatsächlich vorhanden ist.
Alternative Methoden
Wenn du keine VBA-Makros verwenden möchtest, kannst du die Datenquelle auch manuell ändern:
- Klicke mit der rechten Maustaste auf die Pivot-Tabelle.
- Wähle „PivotTable-Optionen“.
- Gehe zum Tab „Daten“ und klicke auf „Ändern…“.
- Wähle den neuen Datenbereich aus und bestätige mit „OK“.
Praktische Beispiele
Angenommen, du hast zwei Tabellen mit Verkaufsdaten aus unterschiedlichen Regionen. Du kannst die Pivot Tabelle so einrichten, dass sie die Daten aus Tabelle1 oder Tabelle2 anzeigt, indem du den oben beschriebenen VBA-Code anwendest.
Wenn du beispielsweise eine Pivot Tabelle mit den Gesamtumsätzen erstellen möchtest, kannst du die Datenquelle schnell wechseln und die Ergebnisse für verschiedene Regionen analysieren.
Tipps für Profis
-
Datenquelle erweitern: Wenn du die Datenquelle einer bestehenden Pivot-Tabelle erweitern möchtest, kannst du die Methode ChangePivotCache
verwenden, um den neuen Bereich hinzuzufügen, ohne die gesamte Pivot-Tabelle neu erstellen zu müssen.
-
Dynamische Datenquellen: Überlege, die Datenquelle dynamisch zu gestalten, indem du benannte Bereiche oder Tabellen verwendest. So wird die Pivot Tabelle automatisch aktualisiert, wenn neue Daten hinzugefügt werden.
FAQ: Häufige Fragen
1. Wie kann ich mehrere Pivot-Tabellen gleichzeitig aktualisieren?
Du kannst ein Makro erstellen, das über alle Pivot-Tabellen in deinem Arbeitsblatt iteriert und jede einzelne aktualisiert.
2. Kann ich die Datenquelle einer Pivot-Tabelle direkt über die Excel-Oberfläche ändern?
Ja, du kannst die Datenquelle manuell über die PivotTable-Optionen ändern, ohne VBA zu verwenden.