我有一个包含约 300,000 个 BDH 公式的 Excel 工作表来下载证券价格。
我想要
但是,我不知道 Excel 何时完成填充 Bloomberg 数据,因此很难确定执行 2) 和 3) 的时间。
我已经写了VBA,但不确定它是否有效:
在Module1
Sub CheckFormulas()
If Application.CalculationState = xlDone Then
With Worksheets("Sheet1").UsedRange
.Value = .Value
End With
Else
Application.OnTime Now + TimeValue("00:30:00"), "CheckFormulas"
ActiveWorkbook.Close Savechanges:=True
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
在“本工作簿”中
Private Sub Run()
Call CheckFormulas
End Sub
Run Code Online (Sandbox Code Playgroud)
所以理论上它的工作方式应该是:
我想知道这是否是实现我的目标的最佳方式,并想知道是否Application.CalculationState与 Bloomberg 公式 BDH 兼容或适用?