当前位置:  开发笔记 > 后端 > 正文

使用宏刷新我的Excel工作簿中的所有数据透视表

如何解决《使用宏刷新我的Excel工作簿中的所有数据透视表》经验,为你挑选了5个好方法。

我有一个包含20个不同数据透视表的工作簿.有没有简单的方法来查找所有数据透视表并在VBA中刷新它们?



1> GSerg..:

是.

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


哦,一个downvote.五年多之后,这是一个令人耳目一新的变化;)
只是一张纸条.由于某种原因,`ThisWorkbook.RefreshAll`方法不起作用,如果`Application.Calculation = xlCalculationManual`.在使用代码之前,将计算属性设置为"Application.Calculation = xlCalculationAutomatic".
太棒了,我不得不使用它,因为我想在获得新的外部数据后刷新枢轴,所以ThisWorkbook.RefreshAll对我不起作用.
确实..令人耳目一新..甚至有人试图以离题的方式结束这个问题……这不像我要求仅通过使用鼠标或其他任何方式来做到这一点:D
@GSerg很抱歉恢复这篇旧帖子,但我有一个问题(发布[here](http://stackoverflow.com/questions/40360844/pivot-table-refreshtable-vs-update-methods)):我们需要在`RefreshTable`之后做一个`Update`?这两者有什么区别?

2> Robert Mearn..:

此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

另一个非编程选项是:

右键单击每个数据透视表

选择表选项

勾选"打开时刷新"选项.

单击"确定"按钮

这将在每次打开工作簿时刷新数据透视表.



3> 小智..:

ActiveWorkbook.RefreshAll刷新所有内容,不仅是数据透视表,还有ODBC查询.我有几个VBA查询引用数据连接并使用此选项崩溃,因为该命令运行数据连接而没有从VBA提供的详细信息

如果您只想刷新支点,我建议使用该选项

Sub RefreshPivotTables()     
  Dim pivotTable As PivotTable     
  For Each pivotTable In ActiveSheet.PivotTables         
    pivotTable.RefreshTable     
  Next 
End Sub 



4> 小智..:

在某些情况下,您可能希望区分数据透视表和其数据透视表.Cache有自己的刷新方法和自己的集合.所以我们可以刷新所有的数据透视表而不是数据透视表.

区别?创建新的数据透视表时,系统会根据前一个表询问您是否需要它.如果您拒绝,则此数据透视表将获得自己的缓存,并使源数据的大小加倍.如果您说是,则保持WorkBook较小,但您添加到共享单个缓存的数据透视表集合.刷新该集合中的任何单个数据透视表时,将刷新整个集合.因此,与刷新WorkBook中的每个数据透视表相比,您可以想象在刷新WorkBook中的每个缓存之间可能存在的差异.



5> 小智..:

"数据透视表"工具栏中有一个全部刷新选项.足够了.不必做任何其他事情.

按ctrl + alt + F5


我不同意.如果Lipis想要自动化刷新过程,例如每当一个单元格被更改时怎么办?
推荐阅读
mobiledu2402851203
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有