Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Тема 3. Условные операторы и операторы выбора






Инструкция VBA If-Then-Else предоставляет возможность выбора одного из действий в зависимости от значений заданных логических выражений. Формат данной инструкции следующий:

If Выражение1 Then

[Инструкции1]

[ElseIf Выражение2 Then

[Инструкции2]]

[Elself ВыражениеN Then

[ИнструкцииN]]

[Else

[Инструкции]]

End If

Здесь Выражение 1 - ВыражениеN – логические выражения. Если какое-либо из этих выражений истинно, то выполняются инструкции, находящиеся после соответствующего ключевого слова If или Elself. Если ни одно из выражений не является истинным, то выполняются инструкции, записанные после ключевого слова Else (если, конечно, это ключевое слово используется).

Рассмотрим пример использования инструкции If-Then-Else:

If intAction = 1 Then

' Выполнение сложения

res = а + b

Elself intAction = 2 Then

' Выполнение вычитания

res = a - b

Elself intAction = 3 Then

' Выполнение умножения

res = a * b

Else

' Заданное действие не поддерживается

End If

В приведенном примере с помощью инструкции If-Then-Else выбирается одно из трёх поддерживаемых действий для переменных а и b: сложение, вычитание или умножение. То, какое действие выполнять, определяется по содержимому переменной intAction. Если она имеет значение, отличное от 1, 2 и 3, то выполняются инструкции, следующие после ключевого слова Else.

Язык программирования VBA также поддерживает упрощенный вариант инструкции If-Then-Else:

If Выражение Then [Инструкции1] [Else Инструкции2]

Здесь Выражение – это логическое выражение, при истинном значении которого выполняются инструкции после ключевого слова Then. Если Выражение не истинно, то выполняются инструкции после ключевого слова Else (если это ключевое слово используется). При использовании этой формы инструкции If-Then-Else следует учитывать, что она записывается в одну строку (или в несколько строк, но с использованием символа подчеркивания). Также необходимо учитывать, что Инструкции1 и Инструкции2 представляют собой либо одну инструкцию VBA, либо несколько инструкций, разделенных двоеточием. Если ключевое слово Else используется, то элемент Инструкции1 может отсутствовать.

 

Select Case позволяет, подобно инструкции If-Then-Else, делать выбор выполняемых программой действий в зависимости от значения заданного аргумента. При большом количестве альтернатив данная инструкция работает быстрее инструкции If-Then-Else, так как значение проверяемого выражения вычисляется только один раз. Формат инструкции Select Case приведен ниже:

Select Case Проверяемое_выражение

[Case Список_выражений

[ Инструкции ]] …

[Case Else

[ Инструкции ]]

End Select

Здесь Проверяемое_выражение – это любое численное или строковое выражение. Список_выражений содержит неограниченное количество выражений, диапазонов значений и условий. Для более детального пояснения ниже приведен формат элемента Список выражений:

Выражение | Мин_значение То Макс_значение | Is Оператор Выражение_

[, Выражение | Мин_значение То Макс_значение | Is Оператор Выражение ]

Значения элементов приведенной конструкции следующие.

· Выражение – любое численное или строковое выражение (тип элемента Выражение должен соответствовать типу элемента Проверяемое_выражение).

· Мин_значение То Макс_значение – используется для задания диапазона значений.Элементы Мин_значение и Макс_значение задают минимальное и максимальное значения диапазона соответственно.

· Is Оператор Выражение – используется для задания условий. Позволяет использовать в инструкции Select Case операторы сравнения. Элемент Оператор – это любой оператор сравнения VBA, кроме Is и Like. Элемент Выражение – это любое выражение, тип которого соответствует типу элемента Проверяемое выражение.

При соответствии значения элемента Проверяемое_выражение одному из заданных выражений, при попадании значения этого элемента в один из диапазонов или при выполнении одного из заданных условий происходит выполнение инструкций, записанных после соответствующего ключевого слова Case. Если ни одна Case-конструкция не сработала, то выполняются инструкции после сочетания ключевых слов Case Else.

Допустим, что в программе необходимо проверять значение численной переменной intTestValue и выполнять одни действия, когда эта переменная имеет значение 1, 2, 3 или 5, и другие действия – в противном случае. Приведенный ниже фрагмент программы позволяет решить поставленную задачу:

Select Case intTestValue

Case 1 To 3, 5

`Действия при значении переменной intTestValue, равном 1, 2, _ 3 или 5

Case Is < 1, Is > 3

`Действия при значении переменной intTestValue меньше 1_ или больше 3

End Select

В данном примере необходимо обратить внимание на то, что значение 5 удовлетворяет обеим Case-конструкциям. При обработке инструкции Select Case VBA просматривает конструкции с ключевым словом Case в том порядке, в котором они следуют в программе. Поэтому в приведенном примере при значении переменной intTestValue, равном 5, выполняются инструкции после первого ключевого слова Case.

 


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал