Дополнительные сведения об операторе 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 операторы будут выполнены.
Повторение с помощью циклов
Управляющие структуры типа "цикл" используются тогда, когда необходимо повторить выполнение некоторого блока программного кода несколько раз. Повторение одного или нескольких операторов является главным средством выполнения многих математических вычислений, извлечения небольших порций данных из больших, применения одних и тех же действий по отношению к каждому из множества элементов некоторой группы.
VBA предлагает три типа структур, организующих циклы.
Тип цикла | Особенности работы |
Do. . .Loop | Пока или до тех пор, пока некоторое условие имеет значение True |
For. . .Next | Заданное число раз |
For Each. .. Next | Для каждого объекта из коллекции объектов |
При работе с вложенными циклами помните простое правило: внутренний цикл должен закончиться прежде, чем закончится внешний.