用宏刷新我的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