Управление выполнением программы в VBA




Источник: https://www.lessons-tva.info/

 

Если в исполняемом коде программы отсутствуют управляющие оператор, то при запуске программы она выполняется линейно. Другими словами оператор выражений будут выполняться интерпретатором последовательно от первого до последнего. В некоторых случаях необходимо изменить порядок выполнения инструкций. Для этого в VBA служат оператор управления или управляющие конструкции. К операторам управления относятся оператор условного перехода и циклов.

 

Оператор условного перехода - это инструкции, которые определяют ход выполнения других операторов программы в зависимости от результатов анализа некоторых условий. Управляющие оператор позволяют выполнять или пропускать определенные оператор выражений. К операторам условного перехода относятся оператор ветвления IF...Then и выбора Select Case. Существует краткая (IF...Then) и полная форма (IF...Then...Else...End If) операторов ветвления. Необходимо отметить, что при записи инструкции в одну строку ключевые слова End If не применяется.

 

Общий вид краткой формы оператора ветвления и одну строку:

IF <условие> Then <оператор>

 

Краткая форма оператора ветвления для блока операторов имеет следующий вид:

IF <условие> Then

...<оператор1>

...<оператор2>

End If.

 

Когда условие истинно (т.е. результатом условия является true), то выполняется инструкция, или группа инструкций, следующая за ключевым словом "Then".

 

Полная форма оператора условного перехода IF...Then...Else...End If, который имеет две альтернативные ветви процедуры:

IF <условие> Then

....<оператор1>

Else

.....<оператор2>

End If.

 

Если условие соблюдается (условие истинно), выполняется инструкция 1 (оператор или группа операторов), расположенная между ключевыми словами Then и Else, а если условие не соблюдается (ложно), то выполняется альтернативная инструкция 2, расположенная между ключевыми словами Else и End if.

 

Необходимо отметить, что оператор могут быть вложенными. Если требуется проверить условие2 при выполненном (истинном) условии1, то следует применять вложенные оператор, т.е. внутри оператора IF...Then...End If надо поместить IF...Then...Else...End If.

 

Синтаксис оператора условного перехода IF...Then...End If, который имеет вложенный оператор IF...Then...Else...End If имеет вид:

IF <условие1> Then

....IF <условие2> Then

......<оператор 1>

....Else

.......<оператор 2>

....End If

End If.

 

Первый оператор IF проверяет условие1. Если условие1 истинно, то выполняется второй оператор IF. Если условие2 истинно, то выполняется оператор1, если ложно - оператор2. В этой конструкции проверяется условие2 при выполненном условии1, если условие1 ложно, выполняется оператор, следующий за ключевым словом End If.

 

Если выбирается одно из нескольких значений, то проверяется не одно, а несколько условий. В этом случае следует применить конструкции с несколькими операторами IF...Then...ElseIF, т.е. внутри оператора IF...Then...Else...End If поместить ветви операторов ElseIf...Then.

 

Форма условного перехода IF...Then...ElseIF имеет следующий синтаксис:

IF <условие1> Then

....<оператор1>

....ElseIf <условие2> Then

.............<оператор2>

.............ElseIf <условие3> Then

......................<оператор3>

......................

Else

<операторМ>

End If.

Если условие1 истинно, то выполняется оператор1, а затем первый, из операторов следующий за ключевым словом End if. Если условие1 ложно, то выполняются операторы ElseIf в порядке их следования, чтобы проверить их условия. Если обнаружится, что одно из условий имеет значение True, то выполняется оператор, который следуют непосредственно за соответствующим ключевым словом Then.

 

Если все условия ложны, то выполняется альтернативный "операторМ", следующий за ключевым словом Else. Таким образом, если первое условие ложно, операторы ElseIf обеспечивают проверку дополнительных условий с целью выбора одного из нескольких значений.

 

В VBA применяется еще один оператор условного перехода типа Select Case. Этот оператор позволяет осуществить выбор альтернативного варианта, сравнивая значение с различными выражениями.

 

Синтаксис оператора условного перехода Select Case имеет вид:

Select Case значение

....Case <условие1>

......<операторы1>

....Case <условие2>

.......<операторы 2>

..............................

....Case <условиеL>

.......<операторыL>

....Case Else

.......<операторM>

End Select.

 

В этом условном операторе значение переменной сравнивается с каждым из значений, которые хранятся в выражениях каждого из условий. Если значение переменной удовлетворяет одному из значений условия, будут выполняться оператор, следующие за этим условием. Затем будет выполняться оператор, следующий за ключевым словом End Select. Если значение переменной не удовлетворяет ни одному из значений условий, то выполняется "операторМ", следующий за оператором Case Else.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: