Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по программированию.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
564.74 Кб
Скачать

Функция iIf

Используется в случае с простым ветвлением. Имеет следующий вид:

IIf (выражение, значениеЕслиДа, значениеЕслиНет)

Эта функция проверяет значение выражения, если оно истинно, то функция возвращает значениеЕслиДа, в противном случае – значениеЕслиНет.

Например:

D2 = IIf (I<=10, 250, 50)

В зависимости от значения величины I переменной D2 будет присвоено либо значение 250, либо 50.

Оператор безусловного перехода GoTo

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

GoTo имяМетки

После ключевого слова идет имя метки. Метка – это идентификатор, приписанный оператору программы и используемый в других частях программы для обращения к этому оператору.

Для того чтобы отметить оператор в программе, указывается имя метки, ставится двоеточие и указывается нужный оператор. Для того чтобы организовать переход на отмеченный оператор, указывается служебное слово GoTo и указывается имя метки, на которую осуществляется переход.

Пример:

Label1: MsgBox (“Использование метки”)

GoTo label1

3.Операторы цикла

ForNext (цикл со счетчиком)

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

For счетчик = начало To конец [Step шаг]

[БлокОператоров1]

[Exit For]

[БлокОператоров2]

Next [счетчик]

Счетчик – это числовой параметр цикла, который должен принимать ряд значений от значения начало до значения конец. Причем этот ряд может образовывать как возрастающую, так и убывающую арифметическую прогрессию. Необязательный параметр шаг при необходимости мог бы указывать, с каким шагом следует пробегать заданный ряд значений (по умолчанию он равен 1).

БлокОператоров1 – это блок операторов, который будет выполнен пока счетчик не пробежит ряд значений до конца. Прервать же данный пробег вправе только оператор Exit For, предназначенный для выхода из цикла не дожидаясь его завершения и передачи управления оператору, следующему непосредственно за Next. Как правило, оператор Exit For используется в тех местах тела цикла, где требуется из него выйти по условию.

В конце цикла ставится заключительный оператор Next, после которого указывается счетчик цикла.

DoLoop (цикл с условием)

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

Существует два вида циклов с условием: с предусловием и с постусловием. Соответственно цикл Do … Loop имеет две синтаксические конструкции:

/Предусловие/

Do [{While  Until} условие]

[блокОператоров1]

[Exit Do]

[блокОператоров2]

Loop

/Постусловие/

Do

[блокОператоров1]

[Exit Do]

[блокОператоров2]

Loop [{While  Until} условие]

Различие конструкций в том, что в первом случае условие будет проверяться до выполнения блока операторов (предусловие), а во втором – после (постусловие).

Если при проверке условия в конструкции стоит ключевое слово While, то блок операторов будет выполняться, пока условие остается истинным, если же стоит Until, то блок операторов будет выполняться, пока условие остается ложным.

Условие не является обязательным. Если его нет, то по умолчанию оно трактуется, как False.

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

WhileWend

Данный оператор является частным случаем оператора Do…Loop.

While условие

БлокОператоров

Wend

БлокОператоров выполняется пока условие истинно.

For EachNext (циклы по структуре данных)

В этом операторе тело цикла выполняется для каждого элемента в массиве.

For Each элемент In группа

[блокОператоров1]

[Exit For]

[блокОператоров2]

Next [элемент]

Здесь элемент – это переменная, пробегающая в качестве значений элементы массива. Элемент обязан быть переменной типа Variant.