Jeg har en arbeidsbok med 20 forskjellige pivottabeller. Finnes det noen enkel måte å finne alle pivottabellene og oppdatere dem i VBA?
Ja.
ThisWorkbook.RefreshAll
Eller hvis Excel-versjonen din er gammel nok,
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
Denne VBA-koden vil oppdatere alle pivottabeller/diagrammer i arbeidsboken.
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
Et annet ikke-programatisk alternativ er:
Dette vil oppdatere pivottabellen hver gang arbeidsboken åpnes.
Du har en PivotTables-samling på et VB Worksheet-objekt. Så en rask løkke som dette vil fungere:
Sub RefreshPivotTables()
Dim pivotTable As PivotTable
For Each pivotTable In ActiveSheet.PivotTables
pivotTable.RefreshTable
Next
End Sub
Notater fra skyttergravene:
Lykke til!