Расположение нескольких операторов на одной строке
Использование знака двоеточия позволяет разместить несколько операторов на одной строке. Таким образом, следующие две конструкции эквивалентны:
1. х = х+1 и 2. х = х+1: у = х+2
у = х+2
Перечислим операторы перехода и выбора 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
Отключает любой активизированный обработчик ошибок в текущей процедуре