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

时间:2015-04-03 13:37:10

标签: excel-vba vba excel

我的excel文件包含30-40个数据透视表,并且花费的时间太长而无法全部更新。有没有办法只需按一下按钮使用VBA宏即可更新它?

如果我可以为此宏指定快捷键以刷新所有枢轴,那将是很好的。可能是一次性交易?

1 个答案:

答案 0 :(得分:0)

在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)