【发布时间】:2021-03-01 07:05:19
【问题描述】:
我有一个函数可以将彭博公式插入到单元格中
for i = 1 To Data.UsedRange.Row.Count
Data.Cells(i, 12).Forumla="=BDP(""" & Data.Cells(i,2).value & " EQUITTY" & _
""",""EQY_WEIGHTED_AVG_PX"",""VWAP_START_TIME=" & startTime & """,""VWAP_END_TIME="& endTime & _
""",""VWAP_START_DT=" & startDate & """,""VWAP_END_DT=" & endDate & """)"
Call Application.OnTime(Now + TimeValue("00:00:01"),"ProcessData")
next i
Public Sub ProcessData()
For i = 1 To Data.UsedRange.Rows.Count
if Data.cells(i,12).Value = "#N/A Requesting Data..." Then
Call Application.OnTime(Now + TimeValue("00:00:01"), "ProcessData")
End If
Next i
End Sub
该函数从工作表中获取值,然后创建一个包含输出的工作表。
我遍历所有行,以获取股票名称等,然后将 VWAP Bloomberg 公式插入单元格。
我得到了
N/A 请求数据...
我知道彭博需要时间来加载数据;这就是为什么我试图打电话给Application.OnTime。它只在一段时间内有效。
例如我第一次运行两个订单,它有效。如果我运行另一个订单,它会返回 N/A Requesting Data...
【问题讨论】:
-
彭博社似乎在 2020 年 9 月 21 日的 API 更新中中断了
Application.OnTime调用 - 请参阅 here