如何在VBA中调用bloomberg函数

我正在尝试编写vba代码,以便每次input一个数字时,在vba代码添加“HK Equity”之后,它就成为一个股票代码。 然后电子表格可以使用彭博functionBTP返回其RSI。 例如,当我在单元格中input“1”时,电子表格将使用彭博函数= BTP($ D3,E $ 2,“RSI”,“TAPeriod = 14”,“DSClose =”)返回股票“1 HK Equity” LAST_PRICE”, “每= d”)。

这是我的代码:

Sub RSI() Dim num As Integer num = Sheets("sheet2").Cells(3, 2).Value Dim numString As String numString = CStr(num) Dim ticker As String ticker = numString + "HK Equity" Dim rsiString As String rsiString = Sheets("sheet2").Cells(4, 2).Value Sheets("sheet2").Cells(5, 2).Value = "=BTP(" & ticker & "," & rsiString & "," & "RSI" & ", " & "TAPeriod=14" & "," & "DSClose=LAST_PRICE" & "," & "Per=d" & ")" End Sub 

当我运行代码时,它表示运行时错误“1004”:应用程序定义或对象定义的错误。 和debugging器说最后一个命令有问题(即表格(“sheet2”)。单元格(5,2).Value =“= BTP ….)这个命令有什么问题?THX!

你可以检查BTP公式的输出吗?

 ' =BTP(1 HK Equity,rsi string,RSI, TAPeriod=14,DSClose=LAST_PRICE,Per=d) Sheets("sheet2").Cells(5, 2).Value = "=BTP(" & ticker & "," & rsiString & "," & "RSI" & ", " & "TAPeriod=14" & "," & "DSClose=LAST_PRICE" & "," & "Per=d" & ")" 

似乎你已经错过了所有的逃避angular色

 "=BTP(""" & ticker & """,""" & rsiString & """,""RSI"",""TAPeriod=14"",""DSClose=LAST_PRICE"",""Per=d"")"