Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение примеры по VBA.doc
Скачиваний:
22
Добавлен:
22.09.2019
Размер:
1.99 Mб
Скачать

Символы совпадения с образцом для оператора Like

         Логические операторы       Чаще всего логические операторы используются для объединения результатов отдельных выражений сравнения, чтобы создать сложные критерии для принятия решений в процедуре, или для создания условий, при которых группа операторов должна повторяться (табл. 5).          Таблица 5

Логические операторы

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

Изменение порядка выполнения операторов

      Рассмотренные операторы выполняются в линейном порядке. При использовании 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.        Технология выполнения       1. В документе Операции(пример 2) выделите правой кнопкой мыши папку Modulesи выполните команду: Insert + Module(рис. 6).       2. В появившемся модуле пропишите программу и запустите на выполнение.

      Dim a, b, c As Integer       Sub poradok()       a = -5       b = 25       If a > 0 Then       c = a + b       MsgBox (c)       End If       If a < 0 Then       с = a * b       MsgBox (с)       End If       End Sub

      В данной программе переменной а присвоено значение меньше нуля, следовательно, должна выполниться нижняя инструкция If (рис. 9).  

         Рис. 9.Результат работы при а < 0         3. Измените программу, поменяв значение а на положительное:

      Dim a, b, c As Integer       Sub poradok()       a = 5       b = 25       If a > 0 Then       c = a + b       MsgBox (c)       End If       If a < 0 Then       c = a * b       MsgBox (c)       End If       End Sub

       Примечание.Данную программу можно составить, используя полный блок инструкции If Then Else (рис. 10).  

         Рис. 10.Результат работы при а > 0

      Dim a, b, c As Integer       Sub poradok()       a = 5       b = 25       If a > 0 Then       c = a + b       MsgBox (c)       Else       c = a * b       MsgBox (c)       End If       End Sub