Дополнительные сведения об операторе Case

Дополнительные сведения об операторе Case

В предыдущем примере критерии, заданные в операторах Case, были просто цветочками, детскими вопросами типа "Равно ли свойство Туре тому-то и тому-то?" Но с помощью оператора Case вы можете задавать и значительно более сложные критерии.

Это проще всего показать на примере с числами. Предположим, ваш оператор Select Case открывается следующей строкой программного кода:

Select Case intВозрастПациента

В данном случае значением для сравнения будет переменная целого типа intВозрастПациента, представляющая возраст пациента клиники. В следующем списке представлено несколько типов сравнения, которые можно реализовать с помощью операторов Case, и приводятся соответствующие примеры.

* Можно сравнить тестовое значение с некоторым диапазоном значений, как в случае

Case 18 То 35

Messages("ВзрослыйМолодой").Print

* Обратите внимание на ключевое слово То, размещенное между значениями, определяющими границы диапазона. Сам диапазон включает и эти значения, и те, которые находятся между ними.

* Можно сравнивать значения и с помощью операций сравнения, отличных от операции =, как в случае

Case Is > 65

Messages("Взрослый пожилой").Print

Здесь предполагается использовать перед операцией сравнения ключевое слово Is.

На самом деле вы можете Is и не печатать- если вы его пропустите, VBA вставит это ключевое слово за вас.

* Можно в одном операторе Case указать несколько критериев для сравнения, как в случае

Case 0 То 5, 15, Is > 55

Messages("НапоминаниеОПрививке").Print

* Не забудьте разделить критерии для сравнения запятыми. Кстати, оператор Case с несколькими критериями эквивалентен выражению, построенному на основе использования операции Or, - если тестируемое значение удовлетворяет хотя бы один из критериев, следующие за Case операторы будут выполнены.