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

Инструкция If…Then…Else

Существуют две разновидности инструкции IF: линейная и блочная. Линейная форма IF имеет следующий синтаксис:

If условие Then инструкции [Else инструкции]

В этом случае вся конструкция размещается в одной строке. Если после Else используются несколько инструкций, то они разделяются двоеточием.

Синтаксис блочного оператора IF:

If условие Then

инструкции

[ElseIf условиеThen

инструкции ]

[Else

инструкции]

End If

Это наиболее общий случай. Количество секций ElseIf может быть любым, в том числе ни одной. Секция Else также может отсутствовать. При выполнении инструкции IF сначала проверяется первое условие. Если оно истинно, то выполняется первая группа инструкций, после чего программа перейдет к выполнению инструкций, следующих за End If. Если первое условие ложно, то проверяется второе условие и так далее. Инструкции в секции Else выполняются в том случае, если ни одно из условий не выполнено.

Инструкция Select Case

Конструкция Select Case позволяет выбирать одну из нескольких групп инструкций в зависимости от значения выражения. Число вариантов может быть любым. Управление получит та Case-строка, чье значение совпадет со значением анализируемого выражения. Строку Case Else можно опустить. Синтаксис оператора:

Select Case выражение

[Case списокВыражений

инструкции] ...

[Case Else

инструкции]

End Select

Анализируемое выражение должно возвращать значение типа, совместимого с типом значений в строках Case. Значения в строках Case можно указывать явно (в том числе в виде списка через запятую), можно задать диапазон (используется ключевое слово To), можно использовать операторы сравнения (для значения анализируемого выражения в этом случае используется ключевое слово Is). Например: Select Case MyValue

Case 1 To 4

S = "Значение в диапазоне от 1 до 4"

Case 5, 6, 7

S = "Значение равно 5, 6 или 7"

Case Is > 7 And MyValue < 11

S = "Значение больше 7, но меньше 11"

Case Else

S = "Значение меньше 1 или больше 10"

End Select

Функции, используемые при программировании условий

Название

Возвращаемое значение

IIf(выражение, true_значение, false_значение)

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

Choose(индекс, элемент_1[, элемент_2, ... [, элемент_n]])

Функция возвращает значение из списка, выбранное на основании значения аргумента индекс. Если индекс равняется 1, возвращается первый элемент списка, если индекс равняется 2, возвращается второй элемент списка и т.п. Функция вычисляет все элементы списка, хотя возвращает только один из них.

Switch( выражение1, значение1 [, выражение2, значение2 … [, выражениеN, значениеN]])

Список аргументов функции содержит пары выражений и значений. Выражения вычисляются в том порядке, в котором они включены в список (слева направо). Возвращается значение, соответствующее первому истинному выражению в списке. Функция вычисляет все выражения, хотя возвращает только одно значение.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]