Как вызвать функцию Bloomberg в VBA
Я пытаюсь написать код VBA так, чтобы каждый раз, когда я набираю число, оно становилось биржевым тикером после добавления "HK Equity" кодом VBA. Затем электронная таблица может вернуть свой RSI, используя функцию Bloomberg BTP. Например, когда я набираю "1" в ячейке, электронная таблица возвращает RSI акции "1 HK Equity", используя функцию Bloomberg =BTP($D3,E$2,"RSI","TAPeriod=14","DSClose=LAST_PRICE","Пер = д").
Вот мой код:
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 ": ошибка приложения или объекта. И отладчик говорит, что последняя команда имеет проблему (т.е. Sheets("sheet2"). Ячейки (5, 2).Value = "=BTP....) Что не так с этой командой? THX!!
1 ответ
Можете ли вы проверить вывод 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" & ")"
кажется, вы пропустили все побег персонажа
"=BTP(""" & ticker & """,""" & rsiString & """,""RSI"",""TAPeriod=14"",""DSClose=LAST_PRICE"",""Per=d"")"