End Select
– Выражение_выбора – любое числовое или символьное выражение;
– Список_выражений – каждый из списков представляет собой список логических выражений, отделенных запятыми; имеют тот же тип, что и выражение_выбора;
– Блок_операторов – содержит любое количество операторов VBA.
При выполнении оператора Select CaseVBA сначала оценивает Выражение_выбора,а затем сравнивает результат этого выражения с каждым выражением, перечисленным в каждом Списке_выражений. Если значение, представленное с помощью Выражение_выборасовпадает с выражением в Списке_выраженийдля одного из Case,VBA выполняет Блок_операторов для этого предложения Case.Если значение Выражение_выборасовпадает более, чем с одним оператором Case,VBA выполняет только операторы в первом совпадающем предложении Case.Часто Выражение_выбора – это просто имя одной переменной, математическое или численное, а не логическое выражение. Выражения в Списке_выражений– это обычно логические выражения.
После завершения выполнения операторов в первом совпадающем операторе CaseVBA продолжает выполнение кода с первого оператора после ключевых слов End Select,которые обозначают конец Select Case.
Если значение Выражение_выборане совпадает ни с каким из Case,а необязательный Case Elseприсутствует, VBA выполняет операторы, представленные с помощью Блок_операторов_Nперед переходом к оператору после Select Case. Блок операторов Case Else выполняется только в том случае, если Выражения_выбора не удовлетворяет ни одному из условий Case. Обычно используется для обработки нежелательных значений. Действие оператора Select Case поясняется блок-схемой, приведенной на рис. 9.5.
Элементы Списка _ выражений должны иметь одну из следующих трех форм:
Выражение_1,Выражение_2, …, Выражение_N
Выражение Тo Выражение
Is Выражение с операцией
Рис 9.5. Блок-схема конструкции Select Case
– Выражение_ – любое числовое, символьное или логическое выражение того же типа, что и выражение выбора;
– Выражение с операцией – выражение, содержащее любую из следующих операций: <, <=, >, >=, < >, =.
Если используется ключевое слово Тo для определения пределов выражения, то меньшее значение должно быть первым. Например, операторы блока Case -1 To -5 не выполняются, если Выражение _ выбора равно -4. Эта строка должна быть написана как Case -5 To -1.
Операции сравнения можно использовать только с ключевым словом Is, за исключением операции равенства. При отсутствии ключа Is в нужном месте интеллектуальный редактор вставит его.
Можно использовать несколько выражений или пределов в каждом условии Case. Например, Case 1 TO 4, 7 TO 9, 11, 13, Is > n %.
Пример 12. Программа, рассчитывающая скидку в зависимости от суммы покупки.
Sub skidka()
' Определение скидки (в %) в зависимости от
' количества продаваемого товара
DimskidkaAs Integer
DimsummaAs Single
summa = InputBox("Введите сумму покупки", "Расчет скидки", 0)
If summa > 0 Then
Select Case summa
Case Is > 1000
skidka = 10
Case Is > 500
skidka = 5
Дата добавления: 2015-08-14; просмотров: 1002;