Офисное программирование | страница 13



Оператор безусловного перехода – это оператор, просто изменяющий последовательность выполнения кода процедуры независимо ни от какого конкретного условия. Условный переход используется гораздо чаще, чем безусловный.

Простейшими VBA-операторами изменения порядка выполнения кода являются операторы If … Then и If … Then … Else.

Оператор If … Then позволяет выбрать единственную альтернативную ветвь кода в процедуре или функции.

Синтаксис:

If условие Then оператор(ы),

где условие – любое логическое выражение;

оператор(ы) – один, несколько или ни одного оператора VBA.


Вторая форма синтаксиса оператора If … Then называется блоком оператора if. В блоке оператора If… Then условие и операторы записываются в отдельных строках, причем заканчивается данный оператор ключевыми словами End If.

Синтаксис:

If условие Then

оператор 1

оператор 2

….

Оператор n

End If

Выбор одной из двух различных ветвей операторов в зависимости от определенного условия обеспечивает оператор

If … Then … Else

и If … Then … ElseIf.

Синтаксис однострочного оператора If … Then … Else:

If условие Then оператор1 Else оператор2,

где условие – любое допустимое логическое выражение;

операторы – один или несколько операторов VBA, которые должны находиться в одной и той же строке.


Блок операторов If … Then … Else легче читать и понимать, и поскольку можно располагать операторы в разных строках внутри блока оператора If … Then … Else, он не имеет ограничения по размеру и числу операторов, которые можно помещать в альтернативные ветви.

Синтаксис:

If условие Then

Оператор1

Else

Оператор2

End If

VBA, как и многие языки программирования, имеет условный оператор перехода для использования в случаях, когда необходимо выбирать из большего количества различных ветвей кода: оператор Select Case. Данный оператор работает во многом так же, как и оператор If. Ключевые слова Select Case используются со многими операторами Case, где каждый оператор Case проверяет появление другого условия и выполняется только одна из ветвей Case. Ветвь Case может содержать один, несколько или ни одного оператора VBA.

Синтаксис:

Select Case выражение

Case условие_1

Оператор_1

Case условие_2

Оператор_2

…..

Case условие_N

Оператор_N

[Case Else

Оператор_N+1

End Select,

где выражение – любое численное или строковое выражение;

условие_1, условие_2, условие_N – (каждый) представляет список логических выражений, отделенных запятыми;

оператор_1, оператор_2, оператор_N, оператор_N+1 – (каждый