Excel: Работа цикла типа If..then...else - VB
Формулировка задачи:
Доброго времени суток.
Столкнулась с непонятной для меня проблемой, к слову сказать, непонятной совсем.
Приведу кусочек кода:
UBound(arr3) = 8, и когда k доходит до 9, if все равно пытается выполнится. Естественно, в месте arr3(k) = 0 выдает ошибку, поскольку 9-того столбца в массиве нет.
Не пойму, почему он все равно туда заходит.
k типа Integer, пробовала и Int(UBound(arr3)) писать - все равно заходит.
Примерно такая же фишка попадалась и с Do While - условие уже неверно, но программа внутри цикла все равно выполняется, делает ровным счетом те же вычисления, получает тот же результат и вот тогда уже не заходит больше, т.е. один раз проскакивает вхолостую.
Объясните чайнику, чего он не понимает, пожалуйста.
Столкнулась с непонятной для меня проблемой, к слову сказать, непонятной совсем.
Приведу кусочек кода:
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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д