我正在使用彭博(Bloomberg)的BDP公式来拉价,这通常需要大约1-4秒。但是,VBA在完成价格拉动之前运行下一行代码,从而导致错误。我想知道是否有一种方法可以告诉Excel运行5秒:
Application.Run“ RefreshAllStaticData”
完整的代码是:
Sub update()
Application.Run "RefreshAllStaticData"
Worksheets("BB").Range("B2:G1000").Copy
Worksheets("Upload").Range("B2").PasteSpecial Paste:=xlPasteValues
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub
答案 0 :(得分:0)
同样,我们没有看到您的所有代码(因为我们不知道Application.Run "RefreshAllStaticData"
意味着什么),但这是
Sub update()
Application.Run "RefreshAllStaticData"
'Refresh everything
ActiveWorkbook.RefreshAll
'Wait 5 seconds just in case
Application.Wait (Now + TimeValue("00:00:05"))
Worksheets("BB").Range("B2:G1000").Copy
Worksheets("Upload").Range("B2").PasteSpecial Paste:=xlPasteValues
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub