【发布时间】:2021-09-24 03:17:20
【问题描述】:
我的一张工作表总共有 5 个数据透视表。 ActiveWorkbook.RefreshAll 会奇怪地刷新使用相同数据源(假设缓存相同)的 4 个数据透视表,但不会刷新使用不同数据源的最后一个数据透视表。
奇怪的是,我尝试了这个 PivotCache Refresh 循环,然后是 RefreshAll。这似乎可以解决它,但是这里有更大的问题吗?奇怪的是 RefreshAll 函数没有做它应该做的事情。
如果重要的话,就是 Net2_PT 没有刷新。
感谢任何建议。
Sub Refresh_Data()
Call AddDataMods1
Application.ScreenUpdating = False
Dim pc As PivotCache **THIS FIXES THE ISSUE BUT SEEMS UNECESSARY...**
For Each pc In ActiveWorkbook.PivotCaches
pc.Refresh
Next pc
ActiveWorkbook.RefreshAll
'Sort PivotTables largest to smallest
wsR1.PivotTables("Buy_PT").PivotFields("Top10").AutoSort _
xlDescending, "Sum of Cash"
wsR1.PivotTables("Sell_PT").PivotFields("Top10").AutoSort _
xlDescending, "Sum of Cash"
wsR1.PivotTables("Net2_PT").PivotFields("Top10").AutoSort _
xlDescending, "Sum of Net"
Application.ScreenUpdating = True
MsgBox ("Refresh Done")
End Sub
【问题讨论】:
-
不刷新的pivot的数据源是什么?