Einleitung:
In Excel Visual Basic für Applikationen (VBA) können Sie ein Makro verwenden, um die Datenquelle einer Pivot-Tabelle zu aktualisieren. In diesem Artikel demonstrieren wir ein einfaches und benutzerfreundliches Makro zum Aktualisieren der Datenquelle einer Pivot-Tabelle. Für diese Demonstration haben wir die Pivot-Tabelle und die Pivot-Tabellenquelle in derselben Excel-Datei, aber auf unterschiedlichen Blättern.
Schritt 1: Bestimmen Sie die Datenquelle der Pivot-Tabelle
Um die Datenquelle der Pivot-Tabelle zu aktualisieren, müssen wir wissen, mit welcher Tabelle oder welchem Bereich sie verknüpft ist.
Gehen Sie zum Menüband „PivotTable analysieren“ und klicken Sie dann einfach auf „Datenquelle ändern“. Dadurch wird ein neues Dialogfeld geöffnet, das die Tabellenquelle oder den Tabellenbereich enthält.
Notieren Sie sich den Bereichs- oder Tabellennamen. Dies wird später in unserem Makro verwendet.
Schritt 2: Erstellen des Makros
In diesem Abschnitt zeigen wir, wie Sie das Makro mit einer Tabellenquelle und einer Bereichsquelle erstellen.
Für den ersten Makrocode gehen wir davon aus, dass sich die Datenquelle in einem Bereich und nicht in einer Tabelle befindet.
Der Code sieht so aus:
Sub UpdatePivotDataSource_RangeSource() Sheet2.PivotTables("PivotTable1").ChangePivotCache Activeworkbook.PivotCaches.Create(SourceType:=xlDatabase, _ SourceData:=Activeworkbook.Worksheets("Sheet1").Range("$K$1:$S$41"), Version:=8) Sheet2.PivotTables("PivotTable1").PivotCache.Refresh End Sub
Wir verwenden nur zwei Codezeilen, obwohl die erste Zeile ziemlich lang ist. In der ersten Zeile erhalten wir die Quelle. Der Parameter der SourceData ist der Ort, an dem wir den Bereich von zuvor einfügen. Wie oben gesehen.
Die nächste Zeile aktualisiert lediglich die Pivot-Tabelle. Dieser Teil kann jedoch im Code weggelassen werden. Dies dient eher der Konsistenz, sodass wir nach einer Änderung/Aktualisierung der Datenquelle immer eine Aktualisierung durchführen.
Wenn die Datenquelle aus einer Tabelle stammt, können wir weiterhin den obigen Code verwenden. Die SourceData werden jedoch geändert.
Der Code sieht jetzt so aus:
Sub UpdatePivotDataSource_RangeSource() Sheet2.PivotTables("PivotTable1").ChangePivotCache Activeworkbook.PivotCaches.Create(SourceType:=xlDatabase, _ SourceData:="Table1", Version:=8) Sheet2.PivotTables("PivotTable1").PivotCache.Refresh End Sub
Wie oben zu sehen ist, bezieht sich die Änderung lediglich auf den Tabellennamen der Datenquelle.
Schritt 3: Führen Sie das Makro aus
Nachdem Sie das Makro erstellt haben, besteht der nächste Schritt darin, das Makro einfach auszuführen. Damit wird die Pivot-Tabelle aktualisiert.
Wichtig: Wenn es sich bei der Datenquelle um einen Bereich handelt, muss der erste Beispielcode verwendet werden. Wenn die Datenquelle aus einer Tabelle stammt, muss die zweite verwendet werden.
Nach der Ausführung des Makros wird die Pivot-Tabelle aktualisiert.
Benötigen Sie einen VBA Programmierer?
Wir als exact construct programmieren mit einem Team von rd. 20 Mitarbeitern seit über 10 Jahren Excel-Tools. Wir sind ein Nischenanbieter der spezialisiert auf Makros/VBA-Codes ist. Daneben unterstützen wir auch als 3rd Level Support die IT-Abteilungen rund um Probleme bei MS Office (Excel, Word, PowerPoint, etc.).
Haben Sie ein Excel-Problem? Benötigen Sie einen Makro-Programmierer? Rufen Sie uns unverbindlich an +41 52 511 05 25 oder kontaktieren Sie uns via Kontaktformular.