У меня есть целый ряд временных рядов данных с датами в столбце А и цены в столбце B.Переход через колонки и установки диапазона с «Do While» петля в Vba
Эти данные имеют «N/A» (строка, а не ошибка) в первых 200 строках (это число не является точным и меняется при каждом запуске файла, поэтому я не могу ссылаться на него напрямую).
Чтобы иметь возможность отображать график из диапазона, который не имеет «N/A», я использую цикл «Do While» для прохождения строк до тех пор, пока он не будет равен «N/A», а затем установив диапазон.
Проблема: По какой-то причине мой счетчик «i» не суммирует. Затем цикл начинается с i = 1, где он должен быть i = номер строки из последнего «N/A».
Соответствующая часть кода:
i = 1
If SourceWorksheet = "Ret" Or SourceWorksheet = "Vol" Then
Do While w.Sheets(SourceWorksheet).Cells(i, 2) = "N/A"
i = i + 1 '****Problem IS HERE, IT IS NOT SUMMING TO i
Loop
Set RetRange = w.Sheets(SourceWorksheet).Range(Cells(i + 1, 1), Cells(xlLastCell))
Else
Set RetRange = w.Sheets(SourceWorksheet).UsedRange
End If
Obs 1: В этом случае я поставил = 1, но я уже пытался не присваивание значения для него до, но получил сообщение об ошибке ,
Обс 2: Поскольку это функция, которая принимает аргументы из поднабора, SourceWorksheet является аргументом, который будет вводиться пользователем.
Любые идеи о том, что не так с этим кодом?
@ YowE3K мои клетки действительно есть строка '«= N/A»', так как они приходят из другого кода, который помещает эту строку там. Это не ошибка, это всего лишь указание на то, что данных недостаточно. – DGMS89
@ YowE3K Действительно, вы правы. Я только что это сделал. – DGMS89
Мой комментарий был неправильным, у кода действительно есть #. Но даже в этом случае я уже пытался изменить это на «Недоступно», чтобы избежать проблемы # N/A, но это все еще не работает. – DGMS89