背景:我有2个Excel工作表:


包含数据透视表和宏“刷新”
来自SQL Server的数据


宏包含VBA代码,用于自动刷新数据和更新数据透视表。数据每晚更新。以下是VBA代码:

 Sub Refresh()
 ActiveWorkBook.RefreshAll
 End Sub


问题:


当我第一次运行我的宏时,要花5分钟才能执行,而我的
数据透视表未使用新数据更新。
当我第二次运行它时,它执行得很好。


我希望我的宏在第一次运行时能完美执行。

任何帮助是极大的赞赏。

注意:这是我的第一篇文章,因此请容忍我的编辑。

最佳答案

我已经解决了我的问题:


我删除了Macro并使用了Active-x-Control按钮。因此,在button_click()上刷新ExternalDatapivotTables
所以,这是代码:我删除了下面的代码

ActiveWorkBook.RefreshAll


并用更新

Private Sub CommandButton1_Click()
Dim Data_query As Worksheet
Set Data_query = Sheets("Data")
Data_query.Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Application.ScreenUpdating = False
Sheets("sheet1").Select
Sheets("sheet1").PivotTables("PivotTable1").PivotCache.Refresh
Sheets("sheet1").PivotTables("PivotTable1").RefreshTable
End Sub


因此,现在同时刷新ExternalDatapivotTables

关于sql-server-2008 - 首次运行时自动刷新Excel中的数据透视表数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16151084/

10-11 17:35
查看更多