【发布时间】:2021-12-02 03:07:16
【问题描述】:
我有一个 Excel 文件,其中包含一个工作表“DATA”,其中包含使用 Power Query 提取的数据,以及其他三个包含数据透视表的工作表,这些数据透视表都依赖于“DATA”中的这些提取数据。
我想创建一个 VBA,它 (1) 在打开 Excel 文件时自动刷新/重新运行上面指定的 Power Query,并且 (2) 随后更新三个数据透视表以镜像更新的数据。
我做了几次尝试并在stackoverflow上寻找类似的问题,但没有成功: 虽然我可以通过刷新连接来刷新数据,但数据透视表并未相应更新。
其中一个 VBA 代码没有产生预期的结果(即随后更新数据透视表)是:
Sub test()
Dim ws As Worksheet
Dim pt As PivotTable
'ActiveWorkbook.RefreshAll 'make sure the refresh in bg property is false for all connections
ActiveWorkbook.Connections("Name of Query").Refresh
For Each ws In ActiveWorkbook.Worksheets
For Each pt In ws.PivotTables
pt.RefreshTable
Next pt
Next ws
End Sub
谢谢!
【问题讨论】:
-
“没有产生预期的结果”:你的意思是什么:你得到一个错误,没有发生任何事情,发生了意外的事情吗? (idownvotedbecau.se/itsnotworking) 不知道什么是行不通的,很难帮助你。
-
感谢您的评论,艾克。我将修改我的问题以澄清我所期望的结果的意思。
标签: vba pivot-table powerquery