End Select. – Выражение_выбора – любое числовое или символьное выражение;
– Выражение_выбора – любое числовое или символьное выражение; – Список_выражений – каждый из списков представляет собой список логических выражений, отделенных запятыми; имеют тот же тип, что и выражение_выбора; – Блок_операторов – содержит любое количество операторов VBA.
При выполнении оператора Select Case VBA сначала оценивает Выражение_выбора,а затем сравнивает результат этого выражения с каждым выражением, перечисленным в каждом Списке_выражений. Если значение, представленное с помощью Выражение_выборасовпадает с выражением в Списке_выраженийдля одного из Case,VBA выполняет Блок_операторов для этого предложения Case. Если значение Выражение_выборасовпадает более, чем с одним оператором Case,VBA выполняет только операторы в первом совпадающем предложении Case. Часто Выражение_выбора – это просто имя одной переменной, математическое или численное, а не логическое выражение. Выражения в Списке_выражений– это обычно логические выражения. После завершения выполнения операторов в первом совпадающем операторе Case VBA продолжает выполнение кода с первого оператора после ключевых слов End Select,которые обозначают конец Select Case. Если значение Выражение_выборане совпадает ни с каким из Case,а необязательный Case Else присутствует, VBA выполняет операторы, представленные с помощью Блок_операторов_Nперед переходом к оператору после Select Case. Блок операторов Case Else выполняется только в том случае, если Выражения_выбора не удовлетворяет ни одному из условий Case. Обычно используется для обработки нежелательных значений. Действие оператора Select Case поясняется блок-схемой, приведенной на рис. 5.
Рис 5. Блок-схема конструкции Select Case
Элементы Списка _ выражений должны иметь одну из следующих трех форм:
Выражение_1,Выражение_2, …, Выражение_N
Выражение Тo Выражение
Is Выражение с операцией
– Выражение_ – любое числовое, символьное или логическое выражение того же типа, что и выражение выбора; – Выражение с операцией – выражение, содержащее любую из следующих операций: <, <=, >, >=, < >, =. Если используется ключевое слово Тo для определения пределов выражения, то меньшее значение должно быть первым. Например, операторы блока Case -1 To -5 не выполняются, если Выражение _ выбора равно -4. Эта строка должна быть написана как Case -5 To -1. Операции сравнения можно использовать только с ключевым словом Is, за исключением операции равенства. При отсутствии ключа Is в нужном месте интеллектуальный редактор вставит его. Можно использовать несколько выражений или пределов в каждом условии Case. Например, Case 1 TO 4, 7 TO 9, 11, 13, Is > n %. Пример 4. Программа, рассчитывающая скидку в зависимости от суммы покупки.
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
|