Mám zošit s 20 rôznymi otočnými tabuľkami. Existuje nejaký jednoduchý spôsob, ako nájsť všetky pivotné tabuľky a obnoviť ich vo VBA?
Áno.
ThisWorkbook.RefreshAll
Alebo, ak je vaša verzia programu Excel dostatočne stará,
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
Tento kód VBA obnoví všetky otočné tabuľky/grafy v zošite.
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
Ďalšou neprogramovou možnosťou je:
Tým sa pivotná tabuľka obnoví pri každom otvorení zošita.
Máte kolekciu PivotTables na objekte VB Worksheet. Takže bude fungovať takáto rýchla slučka:
Sub RefreshPivotTables()
Dim pivotTable As PivotTable
For Each pivotTable In ActiveSheet.PivotTables
pivotTable.RefreshTable
Next
End Sub
Poznámky zo zákopov:
Veľa šťastia!