logo
Конспект лекций по КИТ

Операторы перехода и выбора

Перечислим операторы перехода и выбора VBA.

Оператор

Действие

GoTo

Оператор безусловного перехода.

Синтаксис:

GoTo Строка

Задает безусловный переход на указанную строку внутри процедуры. Обязательный аргумент Строка может быть любой меткой строки или номером строки

If Then Else

Оператор условного перехода.

Синтаксис:

If Условие Then [Инструкции] [Else Инструкции_е1зе]

Если Условие принимает значение True, то выполняется инструкция (или инструкции) после Then, если False, то выполняется инструкция (или инструкции) после Else. Ветвь Else является необязательной.

Допускается также использование формы синтаксиса в виде блока:

If Условие Then

[Инструкции]

[Elself Условие-n Then

[Инструкции_е1зе1£] ...

[Else

[Инструкции_е1зе]] End If

Select Case

Оператор выбора.

Синтаксис:

Select Case выражение

[Case списокВыражений-1

[инструкции-1]]

[Case списокВыражений-n

[инструкции-n]]

[Case Else

[инструкции_е!зе]]

End Select

инструкции-n (необязательная часть) - одна или несколько инструкций, выполняемых в том случае, если вы­ражение совпадает с любым компонентом списка список-Выражений-n

инструкции_е!зе (необязательная часть) - одна или несколько инструкций, выполняемых в том случае, если выражение не совпадает ни с одним из предложений Case

On Error GoTo строка

Активизирует подпрограмму обработки ошибок, начало которой определяется обязательным аргументом строка, значением последнего может быть любая метка строки или номер строки. Для того чтобы предотвратить выполнение программы обработки ошибок в тех случаях, когда ошибка не возникла, необходимо помещать соответствующую ин­струкцию Exit Sub, Exit Function или Exit Property сразу после подпрограммы обработки ошибки, как в сле­дующем примере:

Sub InitializeMatrix(Varl, Var2, Var3, Var4)

On Error GoTo ОбработкаОшибок

…………………..

Exit Sub

ОбработкаОшибок:

…………………..

Resume Next

End Sub

В этом примере программа обработки ошибок помещена между инструкциями Exit Sub и End Sub, что позволяет отделить ее от части программы, соответствующей нор­мальному ходу выполнения

On Error Resume Next

Указывает, что при возникновении ошибки происходит пе­редача управления на инструкцию, непосредственно сле­дующую за инструкцией, вызвавшей ошибку

On Error GoTo 0

Отключает любой активизированный обработчик ошибок в текущей процедуре