【问题标题】:RefreshAll refreshes 4 PivotTables (same cache/source) but NOT last PivotTable (different cache/source)RefreshAll 刷新 4 个数据透视表(相同的缓存/源)但不是最后一个数据透视表(不同的缓存/源)
【发布时间】: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的数据源是什么?

标签: excel vba


【解决方案1】:

这当然是一个有趣的错误。我最好的猜测是数据连接设置为不刷新全部刷新。要检查并修复此问题,请转到数据 -> 查询和连接 -> 右键单击​​数据源 -> 属性 -> 选中该框。见下图:

【讨论】:

  • 感谢回复,所以我点击数据透视表,然后转到查询和连接,但 Q/C 下的两个选项卡都没有显示,所以没有什么可以右键单击。
  • 这确实很奇怪。我戳了一下,但无法复制您的问题。锁定工作表或将 EnableRefresh 设置为 False 将使 RefreshAll 跳过缓存,但在您解决问题时它们也会返回错误。您的所有数据是该工作簿的内部数据,还是您引用了任何外部数据?
猜你喜欢
  • 2018-11-24
  • 1970-01-01
  • 2010-11-29
  • 2016-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-10
  • 1970-01-01
相关资源
最近更新 更多