我对整个 VBA 很陌生,目前正在练习为 Excel 工作表制作宏。我想制作一个按钮,当按下该按钮时,会将查询从表更新到存档表,然后更新链接到它的所有数据透视表。我设法完成了这两部分,但只能作为单独的操作,这意味着我可以更新查询或更新数据透视表。我认为数据透视表在查询更新后需要稍微延迟才能真正加载新数据,但是当我尝试在两个函数之间放置计时器宏时,它向我显示“参数不可选”错误。我做错了什么?下面有问题的代码。 我还尝试将宏代码直接放入按钮代码中,但它显示了不同的错误。我认为将其编写为单独的宏以供以后使用会更容易。
Private Sub CommandButton1_Click()
ActiveWorkbook.Connections("Query — Archive").Refresh
Call Macro1
'Code for macro is as follows:
'Sub Macro1(ByVal seconds As Integer)
' For i As Integer = 0 To seconds * 100
' System.Threading.Thread.Sleep (10)
' Application.DoEvents()
' Next
'End Sub
Dim pc As PivotCache
For Each pc In ThisWorkbook.PivotCaches
pc.Refresh
Next pc
End Sub
Sub test()
Dim timeStart As Long
timeStart = Timer
'you code...
MsgBox "Update time: " & Format(Timer - timeStart, "00.00 \sec.")
End Sub