Смекни!
smekni.com

Среда разработки VBA (стр. 3 из 3)

ForNext (количество повторов известно заранее)

DoLoop (количество повторов неизвестно заранее)

WhileWend (количество повторов неизвестно заранее)

Цикл ForNext

Используется в том случае, когда количество повторов заданного блока операторов известно заранее.

For счётчик=начальное Значение To конечное значение_

[Step шаг]

Операторы1

[Exit For]

Операторы2

Next [счётчик]

Как работает:

1.Проверяется если счётчик> конечное значение т. е. TRUE, то происходит завершение цикла, при этом Операторы1 и Операторы2 не выполняются ни разу.

2. Если результат проверки (счётчик<конечное значение) т.е. FALSE, то блок операторов (Операторы1)выполняется первый раз, после чего происходит переход на начало цикла. Далее значение переменной-счётчика увеличивается на шаг, указанный после слова Step(в случае его отсутствия шаг=1). Опять переходим к пункту 1, выполняется проверка, если результат проверки (счётчик<конечное значение) т.е. FALSE, то блок операторов (Операторы1)выполняется ещё раз, и опять увеличивается шаг и проверка условия и т. д. пока значение не будет TRUE и цикл не завершится.

3. Если необходимо завершать работу цикла при выполнении дополнительного условия, то следует добавить Exit For, которое располагают в управляющей конструкции:

If условие Then Exit For

Если результат условия TRUE, то цикл будет прекращен блок Операторы1

Будет выполнен очередной раз, а блок Операторы2 – нет.

Цикл DoLoop.

Применяется, когда число повторений операторов тела цикла заранее неизвестно. Есть четыре разновидности данной конструкции.

При использовании первых двух цикл либо выполнится много раз, либо не выполнится вообще.

1. Do Until условие

операторы

Loop

Как работает:

· Если результат условия FALSE, то блок операторы выполняется, иначе будет переход на оператор, расположенный после служебного слова Loop.

· Если результат условия TRUE, то цикл не выполнится ни разу.

2. Do While условие

операторы

Loop

Как работает:

· Если результат условия TRUE, то блок операторы выполняется.

· Если результат условия FALSE, то цикл не выполнится ни разу.

3. Do

операторы

Loop Until условие

Как работает:

· Блок операторы выполняется до тех пор, пока результат условия FALSE.

· Если результат условия TRUE, то цикл заканчивает выполнение работы.

4. Do

операторы

Loop While условие

Как работает:

· Блок операторы выполняется до тех пор, пока результат условия TRUE.

· Если результат условия FALSE, то цикл заканчивает выполнение работы.

Цикл WhileWend.

Применяется, когда число повторений операторов тела цикла заранее неизвестно.

While условие

операторы

Wend

Как работает:

Если результатом проверки условия является значение TRUE, то блок операторы выполняется, иначе идёт переход на оператор расположенный после служебного слова Wend.

Если первая проверка условия даст результат FALSE