Ich habe eine Arbeitsmappe mit 20 verschiedenen Pivot-Tabellen. Gibt es eine einfache Möglichkeit, alle Pivot-Tabellen zu finden und in VBA zu aktualisieren?
84
Ja.
ThisWorkbook.RefreshAll
Oder wenn Ihre Excel-Version alt genug ist,
Dim Sheet as WorkSheet, Pivot as PivotTable
For Each Sheet in ThisWorkbook.WorkSheets
For Each Pivot in Sheet.PivotTables
Pivot.RefreshTable
Pivot.Update
Next
Next
ThisWorkbook.RefreshAll
Methode funktioniert aus irgendeinem Grund nicht, wennApplication.Calculation = xlCalculationManual
. Setzen Sie die Berechnungseigenschaft auf,Application.Calculation = xlCalculationAutomatic
bevor Sie den Code verwenden.Update
nachdem dasRefreshTable
? Was ist der Unterschied zwischen den beiden?Dieser VBA-Code aktualisiert alle Pivot-Tabellen / Diagramme in der Arbeitsmappe.
Eine andere nicht programmatische Option ist:
Dadurch wird die Pivot-Tabelle jedes Mal aktualisiert, wenn die Arbeitsmappe geöffnet wird.
quelle
ActiveWorkbook.RefreshAll
aktualisiert alles, nicht nur die Pivot-Tabellen, sondern auch die ODBC-Abfragen. Ich habe einige VBA-Abfragen, die sich auf Datenverbindungen beziehen, und die Verwendung dieser Option stürzt ab, wenn der Befehl die Datenverbindungen ohne die vom VBA bereitgestellten Details ausführtIch empfehle die Option, wenn Sie nur die Drehpunkte aktualisieren möchten
quelle
Unter bestimmten Umständen möchten Sie möglicherweise zwischen einer PivotTable und ihrem PivotCache unterscheiden. Der Cache verfügt über eine eigene Aktualisierungsmethode und eigene Sammlungen. Wir hätten also alle PivotCaches anstelle der PivotTables aktualisieren können.
Der Unterschied? Wenn Sie eine neue Pivot-Tabelle erstellen, werden Sie gefragt, ob Sie sie basierend auf einer vorherigen Tabelle möchten. Wenn Sie Nein sagen, erhält diese Pivot-Tabelle einen eigenen Cache und verdoppelt die Größe der Quelldaten. Wenn Sie "Ja" sagen, halten Sie Ihr WorkBook klein, fügen jedoch eine Sammlung von Pivot-Tabellen hinzu, die einen einzelnen Cache gemeinsam nutzen. Die gesamte Sammlung wird aktualisiert, wenn Sie eine einzelne Pivot-Tabelle in dieser Sammlung aktualisieren. Sie können sich daher vorstellen, was der Unterschied zwischen dem Aktualisieren jedes Caches im WorkBook und dem Aktualisieren jeder Pivot-Tabelle im WorkBook sein könnte.
quelle
In der Symbolleiste der Pivot-Tabelle gibt es die Option Alle aktualisieren. Das genügt. Ich muss nichts anderes tun.
Drücken Sie Strg + Alt + F5
quelle
Sie haben eine PivotTables- Auflistung für ein VB- Arbeitsblattobjekt . Eine schnelle Schleife wie diese funktioniert also:
Notizen aus den Gräben:
Viel Glück!
quelle
Der Code
funktioniert gut.
Der Code wird im Aktivierungsblattmodul verwendet und zeigt daher ein Flimmern / einen Fehler an, wenn das Blatt aktiviert wird.
quelle
Sogar wir können eine bestimmte Verbindung aktualisieren und im Gegenzug werden alle damit verbundenen Pivots aktualisiert.
Für diesen Code habe ich einen Slicer aus einer in Excel vorhandenen Tabelle erstellt :
quelle
Ich habe den unten aufgeführten Befehl in der jüngeren Vergangenheit verwendet und er scheint gut zu funktionieren.
Hoffentlich hilft das.
quelle
Wenn Sie MS Excel 2003 verwenden, gehen Sie zu Ansicht-> Symbolleiste-> Pivot-Tabelle. In dieser Symbolleiste können Sie eine Aktualisierung durchführen, indem Sie auf klicken! dieses Symbol.
quelle