Упражнение 1
Изучите операторы условного перехода If…Then…Else.
Скопируйте код процедур IfThenElse, IfThenElse1 в модуль, выполните процедуры и проанализируйте результаты их выполнения.
Упражнение 2
Изучите инструкцию
Option Compare Binary | Text | Database,
которая указывает способ сравнения строк.
Скопируйте код процедур IfThenElse2, IfThenElse3 в модуль, выполните процедуры и проанализируйте результаты их выполнения.
Упражнение 3
Скопируйте в модуль VBA и выполните процедуры IfThenElse4 и IfThenElse5, проанализируйте результаты их выполнения.
Оператор варианта Select…Case
Оператор If…Then…Else может содержать большое количество выражений ElseIf и поэтому бывает трудной для проектирования и восприятия. В подобных случаях альтернативой этого оператора может быть оператор Select Case, который легче для восприятия и лучше приспособлен для работы в ситуациях со многими выходами. Оператор Select Case выполняет одну из нескольких групп операторов в зависимости от значения некоторого выражения. Он имеет следующий формат:
Select Case выражение
[Сase список_значений_выражений_1
[операторы_1]]
...
[Case список_значений_выражений_n
[операторы_n]]
[Case Else
[операторы_n+1]]
End Select
Здесь список_значений_выражений_n обязателен и может быть сформирован одним из трёх способов.
Указано выражение:
Case выражение
Если группа операторов выполняется при нескольких значениях выражения, то эти значения перечисляются через запятую.
Указан диапазон значений от одного значения выражения до другого, в котором меньшее значение должно быть перед ключевым словом To.
Case выражение To выражение
С использованием ключевого слова Is, за которым следует оператор отношения(>, <, >=, <=, <>) и выражения, с которым будет сравниваться результат выражения, записанного в Select Case.
Is оператор_отношения выражение
Группы операторов операторы_1 . . . операторы_n+1 необязательны, представляют собой один или группу операторов, которые выполняются, если выражение совпадает с любым значением из соответствующего списка значений выражений.
Оператор Else необязателен. Если он присутствует, то операторы группы операторы_n+1 выполняются в том случае, если выражение не равно ни одному из значений, представленных в списках значений выражений.
Если выражение совпадает с любым из Case-выражений список_значений_выражений_n, выполняются операторы_n, следующие за этим Case-предложением (до следующего Case-предложения или до End Select). Управление выполнением программы передаётся оператору, следующему за предложением End Select. Если выражение совпадает с список_выражений-n в нескольких Case-предложениях, выполняются операторы, соответствующие первому совпадению. Конструкция Select Case допускает вложения. Оператор Case Else целесообразно использовать при выборе между тремя и более вариантами.
Приведённая ниже процедура CaseSelect позволяет решить ту же задачу, которую решает процедура IfThenElse4.
Sub CaseSelect()
Select Case Range("A6")
Case Is >= 0.84
MsgBox "Ваша оценка " & """Отлично"""
Case 0.68 To 0.83
MsgBox "Ваша оценка " & """Хорошо"""
Case Is > 0.5
MsgBox "Ваша оценка " & """Удовлетворительно"""
Case Else
MsgBox "Ваша оценка " & """Неудовлетворительно"""
End Select
End Sub
