Ik heb een werkmap met 20 verschillende draaitabellen. Is er een gemakkelijke manier om alle draaitabellen te vinden en ze te vernieuwen in VBA?
Ja.
ThisWorkbook.RefreshAll
Of, als je Excel versie oud genoeg is,
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
Deze VBA code zal alle draaitabellen/grafieken in de werkmap vernieuwen.
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
Een andere niet-programmatische optie is:
Dit zal de draaitabel elke keer verversen als de werkmap wordt geopend.
Je hebt een PivotTables collectie op een het VB Worksheet object. Dus, een snelle lus als deze zal werken:
Sub RefreshPivotTables()
Dim pivotTable As PivotTable
For Each pivotTable In ActiveSheet.PivotTables
pivotTable.RefreshTable
Next
End Sub
Aantekeningen uit de loopgraven:
Veel succes!