Когда мы не знаем точно, сколько раз должна быть выполнена та или другая команда, используются конструкции Do While…Loop и Do Until…Loop.
Конструкция Do While означает: выполнять какое-либо действие до тех пор, пока условие истинно. Второй вариант – Do Until. Все выглядит точно так же, за одним исключением: цикл будет выполняться до тех пор, пока условие ложно.
Вычисление суммы десяти цифр с помощью Do While…Loop:
Do While MyVar < 10
MyVar = MyVar + 1
MsgBox “ MyVar = “ & MyVar
Loop
Тоже с помощью Do Until…Loop:
Do Until MyVar >= 10
MyVar = MyVar + 1
MsgBox “ MyVar = “ & MyVar
Loop
Можно переписать цикл так, чтобы условие проверялось после завершения цикла:
Do
MyVar = MyVar + 1
WScript.Echo “MyVar = “ & MyVar
Loop While MyVar < 10
Конструкция While … Wend.
В VBA имеется также конструкция While … Wend. Это – вариант цикла, который оставлен для обратной совместимости с первыми версиями Visual Basic. Функциональные возможности – те же, что и у конструкции Do…While:
While My Var < 10
MyVar = MyVar + 1
WScript.Echo “MyVar = “ & MyVar
Wend
Контрольные понятия для изучения.
1. Что такое логические выражения?
2. Операторы ветвление программы.
3. Конструкции принятия решений..
4. Циклические операции в VBA.