Главная страница

Лекции VBA. Можно выделить следующие разновидности макросов


Скачать 314.53 Kb.
НазваниеМожно выделить следующие разновидности макросов
Дата29.10.2022
Размер314.53 Kb.
Формат файлаdocx
Имя файлаЛекции VBA.docx
ТипПрограмма
#760802
страница10 из 22
1   ...   6   7   8   9   10   11   12   13   ...   22


Циклы с условием


В VBA имеется богатый выбор средств организации циклов, которые можно разделить на две основные группы — циклы с условием DO...Loop и циклы с перечислением For...Next.

Циклы типа DO...LOOP используются в тех случаях, когда заранее неизвестно, сколько раз должно быть повторено выполнение блока операторов, составляющего тело цикла. Такой цикл продолжает свою работу до тех пор, пока не будет выполнено определенное условие. Существуют четыре вида циклов DO...LOOP, которые различаются типом проверяемого условия и временем выполнения этой проверки. В табл. 6 приведен синтаксис этих четырех конструкций.

Таблица.

Конструкция

Описание

Do While

<условие>
<блокОператоров

>

Loop

Условие проверяется до того, как выполняется группа операторов, образующих тело цикла. Цикл продолжает свою работу, пока это условие выполняется (т. е. имеет значение True), иными

словами, в этой конструкции указывается условие продолжения работы цикла

Do
<блокОператоров

>

Loop While

<условие>

Условие проверяется после того, как операторы, составляющие тело цикла, будут выполнены хотя бы один раз. Цикл продолжает свою работу, пока это условие остается истинным, иными словами, в этой

конструкции указывается условие продолжения работы цикла

Do Until

<условие>
<блокОператоров

>

Loop

Условие проверяется до того, как выполняется группа операторов, образующих тело цикла. Цикл продолжает свою работу, если это условие еще не выполнено, и прекращает работу, когда оно станет

истинным, иными словами, в этой конструкции указывается условие прекращения работы цикла

Do

<блокОператоров

>

Loop Until <условие>

Условие проверяется после того, как операторы, составляющие тело цикла, будут выполнены хотя бы один раз. Цикл продолжает свою работу, если это условие еще не выполнено, а когда оно станет истинным, цикл прекращает работу, иными словами, в этой конструкции указывается условие прекращения работы цикла


Цикл со счетчиком


Цикл со счетчиком имеет следующий синтаксис:

For счетчик=начальноеЗначение То конечноеЗначение [Step приращение] блокОператоров>

Next [счетчик]

Несколько пояснений к приведенному описанию:

  • Необязательные конструкции, как обычно, заключены в квадратные скобки

  • приращение — может быть как положительным, так и отрицательным числом. Если использовать отрицательное приращение, то конечное значение должно быть меньше либо равно начальному значению для того, чтобы тело цикла выполнилось хотя бы один раз

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

  • Если начальное и конечное значения совпадают, тело цикла выполняется лишь один раз

Выход из циклов и процедур


Обычно выполнение процедуры заканчивается после выполнения ее последнего оператора, а выполнение цикла — после выполнения тела цикла несколько раз, по достижении условия завершения его работы. Однако в некоторых случаях бывает нужно прекратить выполнение процедуры или цикла досрочно, избежав выполнения лишних операторов процедуры или лишних повторений цикла.

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

…Loop используется оператор Exit Do, а для выхода из циклов For — оператор Exit For. Для досрочного выхода из процедур и функций используются операторы Exit Sub и Exit Function, соответственно.

Следует, однако, отметить, что хотя использование оператора Exit может быть вполне оправданным, следует избегать излишнего употребления этого оператора, прибегая к нему только в крайних случаях. Излишне частое его применение затрудняет понимание написанного текста программы и его отладку.
1   ...   6   7   8   9   10   11   12   13   ...   22


написать администратору сайта