Телефон: +7 (495) 649-0526

Условные, логические операторы в Visual Basic VBA

Картинка к странице

Следующая статья:

Содержание

Условные операторы

Рассмотренные ранее операторы выполняются в линейном порядке. При использовании VBA-операторов изменение порядка выполнения операторов определяется условием или набором условий, при которых VBA выполняет ту или иную ветвь кода процедуры.

Оператор условного перехода – это структура, которая выбирает ту или иную ветвь кода процедуры на основе некоторого предопределенного условия или группы условий.

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

Оператор If

Простейшими 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 условия, сколько необходимо.

Примечание. Написание неоднострочных операторов в программах производится именно так (в столбец), либо редактор будет выдавать ошибку написания.

Оператор GoTo

Оператор безусловного перехода всегда изменяет порядок выполнения операторов в процедуре или функции vba. При этом vba не проверяет никаких условий, а просто переходит к выполнению кода с другого места.

Оператор GoTo имеет следующий синтаксис

GoTo метка

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

Задача

Создать программу, которая, используя инструкцию if … then, выполняет следующие действия: если переменной а присваивается значение больше нуля, то находится сумма чисел а и b, если меньше нуля, то находится произведение. Результат выводится в стандартное диалоговое окно msgbox.

Технология выполнения

  • В документе Операции выделите правой кнопкой мыши папку Modules и выполните команду: Insert + Module.
  • В появившемся модуле пропишите программу и запустите на выполнение.

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.

Результат работы

Результат работы

  • Измените программу, поменяв значение а на положительное:

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.

Результат работы

Результат работы

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

Видео: «Собаки в ресторане»

Занимательное и юмористическое видео с домашними питомцами, собаками, как они ходили в ресторан

Собаки в ресторане
Интересное в интернете: В шоке от предстоящего переезда - воздушные шары с доставкой. Доставка гелиевых шаров от 10шт.

Статья: Условные, логические операторы в Visual Basic VBA

Раздел: VBA программирование (office)

Сайт: SD Company » Все разделы статей

Последнее изменение: 2010.11.16 в 07:27

Теги: условные операторы, логические операции, vba

Следующая статья:

Арифметические операторы VBA
Арифметические операторы VBA
Рассмотрение основных математических и арифметических операторов, используемые в Visual Basic (VBA)
Системные ограничители и операторы
Системные ограничители и операторы
Что такое системные ограничители, какие бывают ограничители и для чего используются
Like оператор в Visual Basic (VBA)
Like оператор в Visual Basic (VBA)
Описание оператора Like в языке программирования vba и его функциональность и способы применения