excel不刷新所有数据透视表

时间:2015-12-22 17:38:45

标签: excel vba excel-vba excel-2013

我正在尝试使用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表中。表格已更新,但枢轴不是。

1 个答案:

答案 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
相关问题