【发布时间】:2015-06-08 14:35:41
【问题描述】:
我的 excel 文件包含 30-40 个数据透视表,并且需要很长时间才能全部更新。有没有一种方法可以通过使用 VBA 宏按一下按钮来更新它?
如果我可以为这个宏分配一个快捷键来刷新所有的枢轴,那就太好了。一枪交易,也许?
【问题讨论】:
我的 excel 文件包含 30-40 个数据透视表,并且需要很长时间才能全部更新。有没有一种方法可以通过使用 VBA 宏按一下按钮来更新它?
如果我可以为这个宏分配一个快捷键来刷新所有的枢轴,那就太好了。一枪交易,也许?
【问题讨论】:
在 Excel 2007 和 2010 中,您可以通过按 Ctrl+Alt+F5 来更新它们。
Ben Michael Oracion 已经发布了 VBA 代码,但他没有发布的是,如果您想在触发 RefreshAll 后运行一行 VBA 代码,可能会导致错误。出于这个原因,我事先将 BackGroundQuery 属性设置为 False。
Dim piv As PivotCache
For Each piv In ActiveWorkbook.PivotCaches 'beállítja hogy ne legyen háttérben frissítés, így nem fut bug-ra
piv.BackgroundQuery = False
Next
ActiveWorkbook.RefreshAll 'Frissít minden pivotot (és táblát)
【讨论】: