4.4 Многозначные ветвления
Очень часто приходиться выбирать путь решения задачи не из двух, а из нескольких возможных. В программировании это можно реализовать, используя несколько условных операторов.
Общий вид в алгоритме конструкции многозначных ветвлений следующи
Нет Да
Нет Да
Нет Да
Синтаксис многозначных ветвлений, если Вы пишите программу структурно, следующий:
If <лог. выражение1> Then
P1
ElseIf <лог. выражение2> Then
P2
ElseIf <лог. выражение3> Then
P3
Else
P4
End If
Возможна и другая запись:
If <лог. выражение1> Then P1 ElseIf <лог. выражение2>Then P2 ElseIf <лог. выражение3> Then P3 Else P4
где If, Then, Else, End If - зарезервированные слова, а P1, P2,P3 P4,- операторы
Алгоритм работы такой конструкции следующий: если логическое выражение1 истинно, то выполняется оператор или блок операторов, следующих за конструкцией Then, в противном случае этот блок пропускается. Если логическое выражение, следующее за оператором If ложно, то анализируется логическое выражение, следующее за ElseIf. Если оно истинно, то выполняется оператор или блок операторов, следующих за Then, а остальные операторы пропускаются. Операторы, следующие за последним Else, выполняются лишь в том случае, если ложны все логические выражения в конструкциях If. Любая встретившаяся часть Else принадлежит ближайшей к ней части Then условного оператора. Условные операторы If в такой конструкции называются вложенными.
Рассмотрим пример использования простого условного оператора If.
1. Откройте новую рабочую книгу
2. Создайте таблицу, показанную на рис. 30
Рис. 30 Рабочий лист с примером
3. Вставьте модуль в рабочую книгу
4. Создайте процедуру и назовите её Абитуриент
5. Введите следующий код процедуры:
Dim ball As String
ball = MsgBox("Вы хотите поступить в КОЭК?", vbYesNo)
If ball = vbYes Then
Range("b4").Value = "Надо сдать экзамены"
Else
Range("b4").Value = "Идите в ПТУ"
End If
6. Перейдите в рабочую книгу
7. Вставьте командную кнопку в рабочий лист. В списке Имя макроса выберите процедуру Абитуриент и щёлкните на кнопке Ок
8. Дайте кнопке новое имя - Вопрос. Получим лист как на рис. 31
Рис. 31 Законченный рабочий лист
9. Щёлкните на кнопке Вопрос. Отобразится окно сообщения (рис.32)
Рис. 32 Вопрос, требующий ответа
В этом примере значение переменной ball проверяется условным оператором If. После применения оператора Range("b4").Value = "Надо сдать экзамены" в ячейку b4 рабочего листа заносится, то выражение, которое находится справа от оператора присваивания либо - "Надо сдать экзамены", либо - "Идите в ПТУ"
Другой пример посвящён более сложной конструкции - многозначным ветвлениям. Но прежде несколько таблиц, содержимое которых пригодится в дальнейшем. Для создания логических условий используются операторы сравнения.
Таблица 5
Оператор сравнения | Его назначение |
= | Равно |
> | Больше |
< | Меньше |
>= | Больше или равно |
<= | Меньше или равно |
<> | Не равно |
Таблица 6
-
Логический оператор
Описание
And (И)
Если оба условия, соединённые этим оператором имеют значение ИСТИНА, то результат - ИСТИНА, в противном случае - ЛОЖЬ
Or (ИЛИ)
Если хотя бы одно из условий, соединённых этим оператором, имеет значение ИСТИНА, то результат - ИСТИНА, в противном случае - ЛОЖЬ
Not (Не)
Если логическое выражение имеет значение ЛОЖЬ, то результат применения к нему этого оператора - ИСТИНА. Если логическое выражение имеет значение ИСТИНА, то результат применения оператора - ЛОЖЬ.
Xor (исключающее ИЛИ)
Если одно и только одно из условий, соединённых этим оператором, имеет значение ИСТИНА, то результат - ИСТИНА. Если оба условия имеют значения ИСТИНА или ЛОЖЬ, то результат - ЛОЖЬ
Yandex.RTB R-A-252273-3
- Запись макросов
- Выполнение макросов
- Просмотр кода макроса
- 1.4 Редактирование кода макроса
- 1.5 Что нельзя сделать с помощью макросов?
- 1.6 Удаление макросов
- 1.7 Назначение макросов командным кнопкам
- 1.8 Назначение макроса графическим изображениям
- 1.9 Назначение макросов кнопкам панелей инструментов
- 2. Введение в процесс разработки приложений
- 2.1 Типы элементов управления
- 2.2 Вставка элементов управления в рабочий лист
- 2.3 Как осуществляется связь элемента управления с рабочим листом?
- 3. Программирование на vba
- 3.1 Объявление типа переменной
- 3.2 Общие правила написания имени переменной
- 3.3 Описание констант
- 4. Применение условных операторов
- 4.1 Простой условный оператор
- 4.2 Сокращённый условный оператор
- 4.3 Составной условный оператор
- 4.4 Многозначные ветвления
- 4.5 Оператор выбора Select Case
- 4.9 Оператор Exit For
- 4.10 Программирование циклов Do
- 4.11 Цикл Do…While
- 4.12 Цикл Do…Until