Ich habe eine Arbeitsmappe mit 20 verschiedenen Pivot-Tabellen. Gibt es eine einfache Möglichkeit, alle Pivot-Tabellen zu finden und sie in VBA zu aktualisieren?
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
Mit diesem VBA-Code werden alle Pivot-Tabellen/Diagramme in der Arbeitsmappe aktualisiert.
Sub RefreshAllPivotTables()
Dim PT As PivotTable
Dim WS As Worksheet
For Each WS In ThisWorkbook.Worksheets
For Each PT In WS.PivotTables
PT.RefreshTable
Next PT
Next WS
End Sub
Eine weitere nicht-programmatische Option ist:
Dadurch wird die Pivot-Tabelle jedes Mal aktualisiert, wenn die Arbeitsmappe geöffnet wird.
Sie haben eine PivotTables-Sammlung auf einem VB Worksheet-Objekt. Eine schnelle Schleife wie diese wird also funktionieren:
Sub RefreshPivotTables()
Dim pivotTable As PivotTable
For Each pivotTable In ActiveSheet.PivotTables
pivotTable.RefreshTable
Next
End Sub
Notizen aus den Schützengräben:
Viel Glück!