Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Dim Number, Digits, MyString




End If

If условие Then

End Sub

Dim Number, MyString

Number = 1 ' Инициализирует переменную.

' Анализирует Number и переходит к соответствующей метке.

If Number = 1 Then GoTo Line1 Else GoTo Line2

Line1:

MyString = "Number =1"

GoTo LastLine ' Переход к метке LastLine.

Line2:

' Следующая инструкция не будет выполнена никогда.

MyString = "Number =2"

LastLine:

Debug.Print MyString ' Выводит "Number = 1"

' в окно отладки.

 

 

Шаг 27 - Инструкция If...Then...Else

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

If условие Then [инструкции] [Else инструкции_else]

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

[ElseIf условие-n Then

[инструкции_elseif]...

[Else

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

Параметры
условие: Обязательный. Одно или несколько выражений одного из двух типов: Числовое выражение или строковое выражение, имеющее значение True или False. Если аргумент условие имеет значение Null, то условие рассматривается как значение False. Выражение вида TypeOf имяОбъекта Is типОбъекта. Аргумент имяОбъекта может быть любой ссылкой на объект, а типОбъекта представлять любой допустимый тип объекта. Выражение имеет значение True, если объект имяОбъекта имеет тип объекта, указанный в аргументе типОбъекта; в противном случае выражение имеет значение False.
Инструкции: Необязательный в блоковый форме; обязательный в строчной форме без предложения Else. Одна или несколько инструкций, разделяемых двоеточиями; выполняются, если условие имеет значение True.
условие-n: Необязательный. Аналогичен элементу условие.
инструкции_elseif: Необязательный. Одна или несколько инструкций, которые выполняются, если соответствующее условие-n имеет значение True.
инструкции_else: Необязательный. Одна или несколько инструкций, которые выполняются, если ни одно из предыдущих выражений условие или условие-n не имеет значение True.

Замечания
Простую однострочную форму рекомендуется использовать для коротких, простых проверок. Однако блочная форма обеспечивает более структурированный подход и большую гибкость по сравнению с однострочной формой. Блочная форма обычно проще для чтения, обработки и отладки.
Однострочная форма допускает выполнение нескольких инструкций в результате проверки одного условия If...Then, но все инструкции должны находиться на одной строке и разделяться двоеточием, как в следующем примере:

If A > 10 Then A = A + 1: B = B + A: C = C + B

В блоковой форме инструкция If должна быть первой инструкцией в строке. Компоненты Else, ElseIf и End If могут иметь перед собой только номер строки или метку строки. Блок If должен заканчиваться инструкцией End If.
Для того чтобы определить, представляет инструкция блок If или нет, проверяется элемент, следующий за ключевым словом Then. Если после Then на той же строке стоит любой элемент, не являющийся комментарием, эта инструкция рассматривается как однострочная инструкция If.
Оба предложения Else и ElseIfIf допускается любое число предложений ElseIf, но ни одно такое предложение не может появляться после предложения Else. Допускаются вложенные блоки инструкций If; то есть блоки If, содержащиеся в других блоках.
При выполнении блока If (вторая форма синтаксиса), проверяется условие. Если условие имеет значение True, выполняются инструкции, следующие за Then. Если условие имеет значение False, то по очереди оценивается каждое условие ElseIf (если такие имеются). При обнаружении условия со значением True выполняются инструкции, непосредственно следующие за соответствующим предложением Then Если ни одно из условий ElseIf не имеет значение True (или предложения ElseIf отсутствуют), выполняются инструкции, следующие за Else. После выполнения инструкций, следующих за Then или Else, выполнение продолжается с инструкции, следующей за End If.
При оценке одного выражения, которое имеет несколько возможных значений, более полезной может оказаться конструкция Select Case. Однако предложение TypeOf имяОбъекта Is типОбъекта не может использоваться с инструкцией Select Case.

Пример
В данном примере показано использование как блоковой, так и однострочной форм инструкции If...Then...Else, а также проиллюстрировано использование инструкции If TypeOf...Then...Else.

Number = 53 ' Инициализирует переменную.

If Number < 10 Then

Digits = 1

ElseIf Number < 100 Then ' Условие является истинным, поэтому выполняется

следующая инструкция.

Digits = 2




Поделиться с друзьями:


Дата добавления: 2015-06-27; Просмотров: 316; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.