![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Изменение порядка выполнения операторов
Рассмотренные операторы выполняются в линейном порядке. При использовании VBA-операторов изменение порядка выполнения операторов определяется условием или набором условий, при которых VBA выполняет ту или иную ветвь кода процедуры. Оператор условного перехода – это структура, которая выбирает ту или иную ветвь кода процедуры на основе некоторого предопределенного условия или группы условий. Оператор безусловного перехода – это оператор, просто изменяющий последовательность выполнения кода процедуры независимо ни от какого конкретного условия. Условный переход используется гораздо чаще, чем безусловный. Простейшими VBA-операторами изменения порядка выполнения кода являются операторы If … TheNи If … TheN… Else. Оператор If … TheNпозволяет выбрать единственную альтернативную ветвь кода в процедуре или функции. Синтаксис: If условие TheNоператор(ы), где условие – любое логическое выражение; оператор(ы) – один, несколько или ни одного оператора VBA.
Вторая форма синтаксиса оператора If … TheNназывается блоком оператора if. В блоке оператора If… TheNусловие и операторы записываются в отдельных строках, причем заканчивается данный оператор ключевыми словами End If. Синтаксис: If условие Then оператор 1 оператор 2 …. ОператорN End If Выбор одной из двух различных ветвей операторов в зависимости от определенного условия обеспечивает оператор If … TheN… Else и If … TheN… ElseIf. Синтаксис однострочного оператора If … TheN… Else: If условие TheNоператор1 Else оператор2, где условие – любое допустимое логическое выражение; операторы – один или несколько операторов VBA, которые должны находиться в одной и той же строке.
Блок операторов If … TheN… Else легче читать и понимать, и поскольку можно располагать операторы в разных строках внутри блока оператора If … TheN… Else, он не имеет ограничения по размеру и числу операторов, которые можно помещать в альтернативные ветви. Синтаксис: If условие Then Оператор1 Else Оператор2 End If VBA, как и многие языки программирования, имеет условный оператор перехода для использования в случаях, когда необходимо выбирать из большего количества различных ветвей кода: оператор Select Case. Данный оператор работает во многом так же, как и оператор If. Ключевые слова Select Case используются со многими операторами Case, где каждый оператор Case проверяет появление другого условия и выполняется только одна из ветвей Case. Ветвь Case может содержать один, несколько или ни одного оператора VBA. Синтаксис: Select Case выражение Case условие_1 Оператор_1 Case условие_2 Оператор_2 ….. Case условие_N Оператор_N [Case Else Оператор_N+1 End Select, где выражение – любое численное или строковое выражение; условие_1, условие_2, условие_N – (каждый) представляет список логических выражений, отделенных запятыми; оператор_1, оператор_2, оператор_N, оператор_N+1 – (каждый ) представляет один, несколько или ни одного оператора.
В Select Case можно включать столько операторов Case условия, сколько необходимо. Примечание. Написание неоднострочных операторов в программах производится именно так (в столбец), либо редактор будет выдавать ошибку написания. Оператор безусловного перехода всегда изменяет порядок выполнения операторов в процедуре или функции vba. При этом vba не проверяет никаких условий, а просто переходит к выполнению кода с другого места. Оператор GoTo имеет следующий синтаксис: GoTo метка Метка – любое обозначение или номер строки в той же процедуре или функции, которая содержит оператор GoTo. При выполнении оператора GoTo VBA немедленно переходит к выполнению оператора в строке, определенной с помощью метки. Пример 3. Создать программу, которая, используя инструкцию if … then, выполняет следующие действия: если переменной а присваивается значение больше нуля, то находится сумма чисел а и b, если меньше нуля, то находится произведение. Результат выводится в стандартное диалоговое окно msgbox.
|