我有一个工作簿,有20个不同的透视表。有没有什么简单的方法可以在VBA中找到所有的透视表并刷新它们?
这段VBA代码将刷新工作簿中的所有透视表/图表。
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
另一个非程序化的选择是。
这将在每次打开工作簿时刷新数据透视表。
你在VB的Worksheet对象上有一个PivotTables集合。所以,像这样的快速循环就可以了。
Sub RefreshPivotTables()
Dim pivotTable As PivotTable
For Each pivotTable In ActiveSheet.PivotTables
pivotTable.RefreshTable
Next
End Sub
战壕里的笔记。
1.在更新PivotTable之前,请记得解除对任何受保护工作表的保护。 2.经常保存。 3.我还会想到更多,并在适当的时候更新......:)
好运!