VBA – Pivot-Tabelle bzw. Alle Pivot-Tabellen aktualisieren

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Zakarya El Oirzadi

Last updated on August 20, 2022

In diesem Tutorial zeigen wir Ihnen, wie Sie eine Pivot-Tabelle oder alle Pivot-Tabellen mit VBA aktualisieren können.

Pivot-Tabellen sind ein äußerst leistungsfähiges Datentool in Excel. Pivot-Tabellen ermöglichen es, große Datenmengen zu analysieren und zu interpretieren, indem sie Felder und Zeilen gruppieren und zusammenfassen.

Wenn wir eine Pivot-Tabelle erstellen, werden die Daten in einem so genannten Pivot-Tabellen-Cache gespeichert.

Wenn die Datenquelle der Pivot-Tabelle aktualisiert wird, wird die Pivot-Tabelle selbst nicht aktualisiert. Zum Aktualisieren der Quelldaten der Pivot-Tabelle muss der Excel-Benutzer auf die Schaltfläche Alle aktualisieren, die sich unter der Hauptregisterkarte Daten in der Menüleiste befindet,  klicken.

vba pivot tabellen aktualisieren

Alternativ dazu können wir Makros, die die Daten für uns aktualisieren, in VBA schreiben!

Alle Datenverbindungen aktualisieren

Die einfachste Methode, die Daten zu aktualisieren, ist die Verwendung von VBA, um nachzuahmen, was die Schaltfläche Alle aktualisieren, die sich auf der Menüleiste befindet, bewirkt.

Sub VerbindungenAktualisieren()
    ActiveWorkbook.RefreshAll
End Sub

Mit dieser Methode werden alle Verbindungen zu den Daten in Ihrer aktuellen Arbeitsmappe aktualisiert. Es wird auch nicht nur eine einzelne Pivot-Tabelle aktualisiert, sondern mehrere, wenn Sie mehr als eine mit verschiedenen Datensätzen verbunden haben.

Alle Pivot-Tabellen aktualisieren

Um nur die Pivot-Tabellen in unserer Arbeitsmappe zu aktualisieren, aber alle anderen Datenverbindungen auszuschließen, können wir eine Methode namens RefreshTable verwenden.

Wenn wir mehrere Pivot-Tabellen in unserer Arbeitsmappe haben, müssten wir alle Pivot-Tabellen in einer Schleife durchlaufen, um sie alle zu aktualisieren. Dazu deklarieren wir zunächst eine Pivot-Tabellen-Variable und erstellen dann eine For-Each-Schleife, um alle Pivot-Tabellen in der aktuellen Arbeitsmappe zu durchlaufen.

Sub NurPivotTabellenAktualisieren()
  Dim tblPivot As PivotTable
  For Each tblPivot In ActiveWorkbook.PivotTables
     tblPivot.RefreshTable
  Next tblPivot
End Sub

Wir können ein ähnliches Makro verwenden, um die Pivot-Tabellen in unserem aktuellen Blatt und nicht in der gesamten Arbeitsmappe zu aktualisieren. Wir würden dann eine Schleife zum Durchlaufen der Pivot-Tabellen in ActiveSheet und nicht in ActiveWorkbook erstellen.

Sub NurPivotTabellenImAktuellenBlattAktualisieren()
   Dim tblPivot As PivotTable
   For Each tblPivot In ActiveSheet.PivotTables
      tblPivot.RefreshTable
   Next tblPivot
End Sub

Dieses Makro wäre am nützlichsten, wenn wir einfachen Zugriff darauf in unserem ActiveSheet hätten. Um dies zu erreichen, können wir eine Schaltfläche auf dem Blatt erstellen, um das Makro auszuführen. schaltflaeche pivot tabellen aktualisieren

Eine Pivot-Tabelle aktualisieren

Wenn wir nur die Pivot-Tabelle, an der wir gerade arbeiten, aktualisieren wollen und nicht alle anderen Pivot-Tabellen in der Arbeitsmappe, müssen wir die spezifische Pivot-Tabelle identifizieren. Voraussetzung dafür ist natürlich, dass Wir den Namen der Pivot-Tabelle kennen. In diesem Fall lautet er PivotTabelle1.

Sub EineTabelleAktualisieren()
   ActiveSheet.PivotTables("PivotTabelle1").RefreshTable
End Sub

Aktualisieren vom Pivot-Tabellen-Cache

Wenn wir mehrere Pivot-Tabellen, die aber alle dieselben Daten verwenden, in unserer Arbeitsmappe haben, können wir den Pivot-Tabellen-Cache aktualisieren, anstatt die eigentliche Pivot-Tabelle zu aktualisieren. Durch das Aktualisieren des Caches werden dann alle Pivot-Tabellen, die die im Cache enthaltenen Daten verwenden, automatisch aktualisiert.

Sub CacheAktualisieren()
   Dim chPivot As PivotCache
   For Each chPivot In ActiveWorkbook.PivotCaches
       chPivot.Refresh
   Next chPivot
End Sub
vba-free-addin

Add-In für VBA-Code-Beispiele

Auf alle Code-Beispiele aus unserer Website einfach zugreifen.

Navigieren Sie einfach zum Menü, klicken Sie darauf und der Code wird direkt in Ihr Modul eingefügt. .xlam add-in.

(Keine Installation erforderlich!)

Kostenloser Download

Return to VBA Code Examples