Excel: Работа цикла типа If..then...else - VB

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток.
Столкнулась с непонятной для меня проблемой, к слову сказать, непонятной совсем.
Приведу кусочек кода:

UBound(arr3) = 8, и когда k доходит до 9, if все равно пытается выполнится. Естественно, в месте arr3(k) = 0 выдает ошибку, поскольку 9-того столбца в массиве нет.
Не пойму, почему он все равно туда заходит.
k типа Integer, пробовала и Int(UBound(arr3)) писать - все равно заходит.
Примерно такая же фишка попадалась и с Do While - условие уже неверно, но программа внутри цикла все равно выполняется, делает ровным счетом те же вычисления, получает тот же результат и вот тогда уже не заходит больше, т.е. один раз проскакивает вхолостую.
Объясните чайнику, чего он не понимает, пожалуйста.

Решение задачи: «Excel: Работа цикла типа If..then...else»

textual
Листинг программы
Do While arr3(k) = 0
     k = k + 1
     if k > UBound(arr3) then exit do
Loop

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.4 из 5
Похожие ответы