刷新数据源,然后转动数据透视表

时间:2017-08-01 18:54:21

标签: excel vba excel-vba

我有一个Excel工作簿,用于汇总其他11个工作簿。我有大约30个查询连接到这些其他工作簿中的表,然后是追加查询以将它们连接在一起。

我正在尝试创建一个宏来更新基础数据(我的查询和追加表),然后将其推送到数据透视表以进行报告。我想制作一个可以为我的用户更新所有内容的按钮,但是,当我尝试一起更新数据和数据透视表时,我发现数据透视表不想更新。

Sub DataLoad()
    If MsgBox("Are you sure that you wish to update all of the data? This will take a minute", vbYesNo, "Confirm") = vbYes Then
    'Refresh Data
    ActiveWorkbook.RefreshAll
    End If
End Sub

Sub DataUpdate()
Application.ScreenUpdating = False
        'Refresh Pivot Table
        Range("F9").Select
        ActiveSheet.PivotTables("PivotTable1").PivotCache.Refresh

        'MsgBox "Data update complete!"
        Call Formatting    
End Sub

我开始尝试执行" ActiveWorkbook.RefreshAll"命令和更新单个子中的数据透视表,但如果我这样做,数据透视表将不会更新。我发现可以让数据透视表更新的唯一方法是将两个操作分开并完全分开执行。我也尝试过调用“DataUpdate”#39;内部行动' DataLoad'没有成功。

我相信它正在尝试同时执行这两项操作。有没有人知道一个方法,所以我可以确保我的DataLoad完成,然后才会执行DataUpdate?

提前致谢。

0 个答案:

没有答案