小编use*_*434的帖子

等待 Excel 使用 VBA 完成填充 Bloomberg 数据

我有一个包含约 300,000 个 BDH 公式的 Excel 工作表来下载证券价格。

我想要

  1. 打开文件并获取所有价格
  2. 将它们粘贴为值
  3. 保存并关闭文件。

但是,我不知道 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)

所以理论上它的工作方式应该是:

  1. 我打开文件
  2. 代码每 30 分钟检查一次是否完成所有 BDH 公式
  3. 如果完成,则粘贴为值,保存并关闭 4) 如果没有,30 分钟后再次检查。

我想知道这是否是实现我的目标的最佳方式,并想知道是否Application.CalculationState与 Bloomberg 公式 BDH 兼容或适用?

excel vba bloomberg

5
推荐指数
1
解决办法
5892
查看次数

标签 统计

bloomberg ×1

excel ×1

vba ×1