我正在尝试使用vba刷新数据透视表 我有修改基础表查询的代码,并刷新查询 完成后,它会刷新数据透视表,而数据透视表又会刷新摘要表。由于某种原因,最终的数据透视表没有被刷新。它会正常刷新。
尝试了方法:
1
Dim PC As PivotCache
For Each PC In ThisWorkbook.PivotCaches
While DateDiff("s", PC.RefreshDate, Now) > 60
PC.Refresh
Wend
Next
2
Sheets("Pivots").PivotTables("Pivot1").PivotCache.Refresh
Sheets("Pivots").PivotTables("Pivot2").PivotCache.Refresh
Sheets("Pivots").PivotTables("Pivot3").PivotCache.Refresh
Sheets("Pivots").PivotTables("Pivot4").PivotCache.Refresh
3
ThisWorkbook.RefreshAll
在刷新表格之后,我尝试在刷新数据透视表之前包含DoEvents
我也尝试将文件复制到另一个文件,并在那里重新创建它。效果保持不变,它只是移动到它认为最后一个创建的数据透视表。
文件大小为xlsb为279Kb,xlsm为336 Kb
表的数据来自SQL Server 2012,所有表都在同一个excel表中。表格已更新,但枢轴不是。
答案 0 :(得分:0)
尝试类似
的内容Sub refreshTables()
Dim pt As PivotTable
Dim ws As Worksheet
For Each ws In Worksheets
For Each pt In ws.PivotTables
pt.RefreshTable
Next pt
Next ws
End Sub