Ветвления

Как и во всех других языках программирования, в VBA имеются различные управляющие конструк­ции, позволяющие изменять порядок выполнения программы При отсутствии управляющих конст­рукций операторы программы выполняются последовательно, начиная с первого и кончая послед­ним Хотя в некоторых самых простых случаях этого и бывает достаточно, обычно все-таки требует­ся изменять порядок выполнения операторов при выполнении определенных условий, либо пропуская выполнение некоторых операторов, либо, наоборот, многократно повторяя их. Оказыва­ется, для реализации любых алгоритмов достаточно иметь только два вида управляющих конструк­ций: ветвления и циклы

Управляющие конструкции ветвления позволяют проверить некоторое условие, а затем, в зависи­мости от результатов этой проверки, выполнить ту или иную группу операторов Для организации ветвлений в VBA используются различные формы оператора ветвления if и оператор выбора Select Case

Краткая форма оператора ветвления if может иметь как однострочную, так и блочную форму. Простейшая, краткая форма оператора if используется для проверки одного условия, а затем, в зависимости от результата проверки, либо выполнения, либо пропуска одного оператора или блока из нескольких операторов

If <условие> Then

<блокОператоров1>

[Else

<блокОператоров2>]

End If

В качестве условия можно использовать логическое выражение, возвращающее значение True (ИСТИНА) или False (ЛОЖЬ). Если условие истинно, выполняется первый блок операторов, заключенный между ключевыми сло­вами Then и Else, а в противном случае — второй блок, заключенный между ключевыми словами Else и End If.

Условия, которые записываются в условном операторе после слова If, бывают простые и сложные. Простые условия имеют следующую структуру:

 

Выражение Операция отношения Выражение

Операции отношения

= равно
<> неравно
> Больше
< Меньше
>= Больше или равно
<= Меньше или равно

Например: a+b>6, Sin(x)<=0, f*h<>k+d

 

Оператор if может иметь краткую и полную форму. В краткой форме, если условие возвращает значение False, оператор или блок операторов, заключенных между ключевыми словами Then и End if, составляю­щих тело краткого оператора ветвления, не будет выполняться.

Пример краткой формы оператора if:

If a<0 Then

a=-a

End If

Полная форма оператора if используется в тех случаях, когда имеются два различных блока опера­торов, и по результатам проверки условия нужно выполнить один из них.

Пример полной формы оператора if:

If x=0 Then

x=1

Else

z=y/x

End If

Для того чтобы текст вашей процедуры был понятным и удобным для восприятия, рекомендуется делать отступы для групп операторов так, как это указано при описании их синтаксиса. В VBA предусмотрено удобное средство изменения отступов — нажатие на клавишу <Таb> увеличивает отступ вправо, нажатие комбинации клавиш <Shift>+<Tab> уменьшает этот отступ.

Использование оператора if делает функции, позволяющие избежать некоторых ошибок. Например, использование функции ИНИЦИАЛЫ предполагает, что исходная строка обязательно содержит фамилию, имя и отчество. А если отчество отсутствует, то возникнет ошибка. Поэтому в коде программы надо проверить значение переменной n2_pr – положение второго пробела. Если эта переменная равна нулю, то отчество в строке отсутствует. Функция будет иметь вид: