VBA Runtime error 13 - несоответствие типов - расчет временных рядов цены не работает с массивом
Я подозреваю, что мой вопрос имеет очень простой ответ, и все же я не могу найти ответ, который я понимаю при поиске по всему сайту.
Ticker1
= массив цен на акции (от 1 до 2542)PctChg1
= массив, который, я надеюсь, в конечном итоге будет содержать результаты(Price_last / Price_prev) - 1
i
= счетчик
Код:
For i = 2 To UBound(Ticker1)
PctChg1(i, 1) = Ticker1(i, 1) / Ticker1(i - 1, 1) - 1
Next i
Что-то о Ticker1(i - 1, 1)
Отчасти это не нравится - я тоже дурачился с диапазонами и не могу понять этого. Я не знаю, почему он думает, что я делю на число, которого там нет - если я начинаю с точки 2
массива, почему я не смогу ссылаться на 1
?
1 ответ
For i = 2 To UBound(Ticker1)
If Val(Ticker1(i - 1, 1)) <> 0 Then PctChg1(i, 1) = Ticker1(i, 1) / Ticker1(i - 1, 1) - 1
Next i
Это работает, но я до сих пор не установил, почему i-1
выдает ошибки, когда я запускаю расчет по точке данных i=2
,