![]() ![]() колонтитул в word 2007, 0000002111
Операторы ветвления VBA: простой выбор.
Примеры:
Операторы, выполняющие роль ветвления программы на основании какого-либо условия, называются операторами условного перехода. Простейшими операторами условного перехода являются операторы If..Then; If..Then..Else. Первый оператор позволяет выбирать единственную ветвь процедуры (левая блок-схема), тогда как второй дает возможность выбирать из двух альтернативных ветвей кода процедуры (правая блок-схема) на основе оценки того, является ли условие равным True или False. Синтаксис If..Then Вариант 1: If Condition Then Statements Вариант 2: If Condition Then Statements End If Condition - логическое выражение; Statements - один, несколько или ни одного оператора VBA. Первый вариант требует написания оператора в одну строку, при этом в секции Statements можно указывать несколько операторов, разделяя их двоеточием. Второй вариант позволяет указывать несколько операторов в разных строках. Логика работы следующая: VBA сначала оценивает логическое выражение, представленное в секции Condition; если это логическое выражение равно True то выполняется оператор (операторы) секции Statements; затем VBA продолжает выполнение кода следующего за строкой If..Then (Вариант 1) или за ключевыми словами End If (Вариант 2). Если же логическое выражение равно False, то операторы секции Statements пропускаются и выполняется код, следующий за этой секцией. Ниже приведен листинг элементарного использования первого варианта написания If..Then: ![]() ![]() А теперь - второй вариант: ![]() Обратите внимание, что операторы секции Statements написаны с использованием отступа (используется табуляция). Это важный момент. Следует сразу приучать себя к подобному оформлению программного кода - это повышает его удобочитаемость и значительно облегчает поиск ошибок. Синтаксис If..Then..Else Вариант 1: If Condition Then Statements Else ElseStatements Вариант 2: If Condition Then Statements Else ElseStatements End If Condition - логическое выражение; Statements, ElseStatements - один, несколько или ни одного оператора VBA. По аналогии с If..Then - первый вариант требует написания оператора в одну строку, при этом в секциях Statements и ElseStatements можно указывать несколько операторов, разделяя их двоеточием. Второй вариант позволяет указывать несколько операторов в разных строках. Логика работы следующая: VBA сначала оценивает логическое выражение, представленное в секции Condition; если это логическое выражение равно True то выполняется оператор (операторы) секции Statements; затем VBA продолжает выполнение кода следующего за строкой If..Then (Вариант 1) или за ключевыми словами End If (Вариант 2). Если же логическое выражение равно False, то выполняются операторы секции ElseStatements. Следует сказать, что блок операторов If..Then..Else (Вариант 2) легче читать и понимать. Поэтому, советую использовать именно этот вариант, даже если в секциях Statements и ElseStatements будет находиться по одному оператору. ![]() колонтитулы в word 2007, 000000211111
колонтитулы в word 2007, 000000211
нумерация страниц в word 2007, 00000021111
![]() ![]() |