Кавычки функции Bloomberg, вызывающие ошибки во время выполнения - PullRequest
0 голосов
/ 11 июля 2019

При попытке выполнить приведенный ниже код я получаю сообщение об ошибке «Ошибка во время выполнения« 1004 »: ошибка приложения или объекта».

Я пытаюсь вставить эту формулу во множество ячеек, если они пусты:

=BDP(B1 & " Muni", "CPN") 

Если 1 в «А1» является выходом определяемой в цикле переменной r, представляющей строку №, буква столбца является статической.

Sub Add_BBG_Coupons()

Dim r As Long
Dim LastRow As Long
Dim BDP1 As String
Dim BDP2 As String
Dim strQuote As String


wSheets = Array("ACTHXSortNeg", "ACTHXSortPos", "ISHAXSortPos", "ISHAXSortNeg")

For I = LBound(wSheets) To UBound(wSheets)
    With Worksheets(wSheets(I)).Activate
    LastRow = Cells(Rows.Count, "A").End(xlUp).Row
        For r = LastRow To 1 Step -1
            If IsEmpty(Cells(r, 4)) = True Then
            Cells(r, 4).Select
            ActiveCell.Formula = "=BDP(B" & r & " Muni"",""CPN"")"
            End If
        Next r
    End With 
Next I

End Sub

Я могу получить =BDP(A1 & Muni,CPN) в ячейку, но когда я использую двойные кавычки здесь и там, чтобы попытаться получить =BDP(B1 & " Muni", "CPN"), я получаю вышеуказанную ошибку.

Я попытался установить переменную на Chr(34), а также Chr(38) и объединить, но затем я получил ошибки, определенные объектом.

1 Ответ

0 голосов
/ 12 июля 2019
Sub testsub()
r = " & "
With Range("a1")
    .Formula = "=BDP(B" & r & Chr(34) & " Muni" & Chr(34) & ", " & Chr(34) & "CPN" & Chr(34) & ")"
End With
End Sub

Это должно работать. Вы не объединяете chr (), вы используете его как переменную с тоннами вариаций в конце его имени. Таким образом, чтобы добавить его в формулу, используйте "sometext " & chr(34) & " somemoretext", это напечатает как sometext " somemoretext

...