用宏刷新我的Excel工作簿中的所有数据透视表
时间:2020-03-05 18:55:33 来源:igfitidea点击:
我有一本包含20个不同数据透视表的工作簿。有什么简单的方法可以找到所有数据透视表并在VBA中刷新它们?
解决方案
回答
是的。
ThisWorkbook.RefreshAll
或者,如果Excel版本足够旧,
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
回答
我们在VB工作表对象上有一个数据透视表集合。因此,这样的快速循环将起作用:
Sub RefreshPivotTables() Dim pivotTable As PivotTable For Each pivotTable In ActiveSheet.PivotTables pivotTable.RefreshTable Next End Sub
战笔记:
- 在更新数据透视表之前,切记要取消保护所有受保护的工作表。
- 经常保存。
- 我会考虑更多并在适当的时候进行更新... :)
祝你好运!
回答
此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
另一个非编程选项是:
- 右键单击每个数据透视表
- 选择表格选项
- 勾选"打开时刷新"选项。
- 点击确定按钮
每次打开工作簿时,这将刷新数据透视表。
回答
数据透视表工具栏中有一个全部刷新选项。足够了。不必做任何其他事情。
按Ctrl + Alt + F5