Операторы перехода и выбора
Перечислим операторы перехода и выбора VBA.
Оператор |
Действие | ||||
GoTo If Then Else Select Case |
Оператор безусловного перехода. Синтаксис: GoTo Строка Задает безусловный переход на указанную строку внутри процедуры. Обязательный аргумент строка может быть любой меткой строки или номером строки Оператор условного перехода. Синтаксис: If Условие Then [Инструкции] [Else Инструкции else] Если Условие принимает значение True, то выполняется инструкция (или инструкции) после Then, если False, то выполняется инструкция (или инструкции) после Else. Ветвь Else является необязательной. Допускается также использование формы синтаксиса в виде блока: If Условие Then [Инструкции] [Elself Условие-n Then [Инструкции elseif ] . . . [Else [Инструкции else] ] End If Оператор выбора. Синтаксис: Select Case выражение [Case списокВыражений-1 [ инструкции- 1] ] [Case списокВыражений-n [инструкции-п] ] [Case Else [инструкции else] ] End Select | ||||
Оператор |
Действие | ||||
|
инструкции-n (необязательная часть) - одна или несколько инструкций, выполняемых в том случае, если выражение совпадает с любым компонентом списка список-Выражений-n инструкции else (необязательная часть) - одна или несколько инструкций, выполняемых в том случае, если выражение не совпадает ни с одним из предложений 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 |
Отключает любой активизированный обработчик ошибок в текущей процедуре | ||||