Лекции VBA. Можно выделить следующие разновидности макросов
Скачать 314.53 Kb.
|
Циклы с условиемВ VBA имеется богатый выбор средств организации циклов, которые можно разделить на две основные группы — циклы с условием DO...Loop и циклы с перечислением For...Next. Циклы типа DO...LOOP используются в тех случаях, когда заранее неизвестно, сколько раз должно быть повторено выполнение блока операторов, составляющего тело цикла. Такой цикл продолжает свою работу до тех пор, пока не будет выполнено определенное условие. Существуют четыре вида циклов DO...LOOP, которые различаются типом проверяемого условия и временем выполнения этой проверки. В табл. 6 приведен синтаксис этих четырех конструкций. Таблица.
Цикл со счетчикомЦикл со счетчиком имеет следующий синтаксис: For счетчик=начальноеЗначение То конечноеЗначение [Step приращение] блокОператоров> Next [счетчик] Несколько пояснений к приведенному описанию: Необязательные конструкции, как обычно, заключены в квадратные скобки приращение — может быть как положительным, так и отрицательным числом. Если использовать отрицательное приращение, то конечное значение должно быть меньше либо равно начальному значению для того, чтобы тело цикла выполнилось хотя бы один раз После завершения работы цикла For...Next переменная, которая использовалась в качестве счетчика, получает значение, обязательно превосходящее конечное значение в том случае, если приращение положительно, и строго меньшее конечного значения, если приращение отрицательно Если начальное и конечное значения совпадают, тело цикла выполняется лишь один раз Выход из циклов и процедурОбычно выполнение процедуры заканчивается после выполнения ее последнего оператора, а выполнение цикла — после выполнения тела цикла несколько раз, по достижении условия завершения его работы. Однако в некоторых случаях бывает нужно прекратить выполнение процедуры или цикла досрочно, избежав выполнения лишних операторов процедуры или лишних повторений цикла. Например, если при выполнении процедуры произошла ошибка, которая делает продолжение ее работы бессмысленным, можно выполнить команду немедленного выхода из процедуры. Другой пример: если цикл For...Next используется для поиска нужного значения в столбце, то когда нужное значение найдено, нет смысла продолжать дальнейший перебор ячеек. Досрочный выход из управляющей конструкции можно осуществить с помощью одного из операторов Exit. Для досрочного выхода из циклов Do …Loop используется оператор Exit Do, а для выхода из циклов For — оператор Exit For. Для досрочного выхода из процедур и функций используются операторы Exit Sub и Exit Function, соответственно. Следует, однако, отметить, что хотя использование оператора Exit может быть вполне оправданным, следует избегать излишнего употребления этого оператора, прибегая к нему только в крайних случаях. Излишне частое его применение затрудняет понимание написанного текста программы и его отладку. |