以下是Bloomberg BDS公式,用于从Bloomberg提取数据集信息。这个公式通常可以通过手动插件进入电子表格,但是手动操作大约80个CUSIPs ID太麻烦了。
=BDS(A5&"" CUSIP"",""MTG_Cash_Flow"",""MTG_Face_AMT"",C5,TEXT(""Settle_DT"",""mmddyyyy""),$B$1,""Headers=y"",""cols=6;rows=184"")"
我的目标是将上述公式和设置转换为Excel VBA公式,通过单击按钮每月提取信息以生成信息。
因为我不熟悉VBA中的Bloomberg公式格式设置。我想在下面的公式中得到一些帮助,我已经尝试过设置。我在运行下面的公式时遇到了多个错误,但无法弄清楚。 我还附上了我正在处理的工作表的图像。
Sub CalcValues()
Dim cusipID As String
cusipID = Sheets("Input").Cells(5, 1)
Dim Cusip As String
Cusip = "CUSIP"
Dim MTGFLOW As String
MTGFLOW = "MTG_CASH_FLOW"
Dim MTGAmt As Long
MTGAmt = Sheets("Input").Cells(5, 3).Value
Dim SettleDT As String
SettleDT = "Settle_DT"
Dim dtStart As String
dtStart = Formart(SettleDT,Format(Sheets("Input").Range("B3"), "MMDDYYYY"))
Sheets("CFs").Cells(2, 1) = "=BDS("" & CusipID & "","" & CUSIP & "","" & MTGFLOW & "","" & MTGAmt & "","" & SettleDT & "","" & dtStart & "")"
End Sub
答案 0 :(得分:0)
试试"=BDS(" & CusipID & "& "" CUSIP""," & MTGFLOW & ", ""MTG_Face_AMT""," & MTGFace & "," & EndDate & ",""Headers = y"",""cols=6;rows=184"")"
为公式(不确定我完全正确的彭博社)
提示:""
在单元格本身中被翻译为引号,而"
告诉VBA字符串正在开始/结束
此外,鉴于您引用的单元格也包含字母(38378KH93),您不能Dim CusipID as Integer
- 只需Dim CusipID as String
即可MTGFace
。
另一方面,Long
是一个数字(面值),因此可以保存为Double
或Integer
(请注意,而不是SignUpActivity
)。