Исключение во время выполнения при использовании Bloomberg BLPSubscribe в VBA/Excel

Я получаю случайную ошибку во время выполнения при попытке вернуть 4 поля для списка акций. Вызов не выполняется для случайных акций, и изменение полей, на которые подписаны, не имеет значения. Это подробный текст ошибки:

Ошибка во время выполнения '-2147467259 (80004005) #N/A Fld

И это код.

Dim bbgdata As new BLP_DATA_CTRLLib.BlpData
bbgdata.BLPSubscribe(sec, Array("PX LAST", "CUR_MKT_CAP", "3MTH_IMPVOL_100.0%MNY_DF", "VOLUME_AVG_90D"))

1 ответ

Исправление было записывать результаты на лист, а не кэшировать его в объектах.

bbgdata = bbgDataControl.BLPSubscribe(seclist, Array("PX_CLOSE_1D", "PX LAST", "CUR_MKT_CAP", "3MTH_IMPVOL_100.0%MNY_DF", "VOLUME_AVG_90D"))
dataSheet.Range("BBG").Resize(UBound(bbgdata) + 1, UBound(bbgdata, 2) + 1) = bbgdata

Ранее я занимался размещением данных в таких объектах, как:

For i = 0 To ub
  Dim bbgData as new BBGData
  bbgData.lastClose = bbgdata(i,0) 'etc.
next i
Другие вопросы по тегам