Книга: VBA для чайников
Однострочные операторы If...Then
Однострочные операторы If...Then
Если структура If. . .Then должна выполнить только один оператор, когда условие принимает значение True, всю эту структуру можно уместить в одну строку. В таком случае оператор End If не требуется - точнее, его быть не должно. Оператор
If curЦена > 20 Then MsgBox "Цена слишком высока!"
в результате идентичен структуре
If curЦена > 20 Then
MsgBox "Цена слишком высока!"
End If
Если нужно, чтобы на основании одного условия программа выбирала между двумя альтернативными блоками программного кода, используйте оператор If. . .Then. . .Else.
В том случае, если условие принимает значение True, то выполняется один блок программного кода, а если условие принимает значение False, то выполняется другой. Вот формальный синтаксис этого оператора:
If условие Then
( операторы, выполняющиеся, когда условие = True)
Else
(операторы, выполняющиеся, когда условие = False)
End If
Если условие имеет значение True, VBA выполняет первый блок операторов и, пропустив все остальные операторы структуры, переходит к строке программного кода, следующей сразу за оператором End If. А если условие имеет значение False, то выполняются только операторы, следующие за оператором Else.
В следующем примере выражение условие проверяет, является ли элемент управления в форме кнопкой. При положительном результате фон кнопки закрашивается красным цветом, все другие элементы управления - голубым:
If TypeOf ctlCurrentControl Is CommandButton Then
ctlCurrentControl.BackColor = &HFF& ' красный
Else
ctlCurrentControl.BackColor = &HFFFF00& ' голубой
End If
В этом примере предполагается, что переменная ctlCurrentControl уже содержит ссылку на соответствующий объект в форме. Ключевое слово TypeOf позволяет проверить, является ли объект, на который ссылается переменная, объектом нужного типа - в данном случае объектом CommandButton.
- Условные операторы If .. Then.
- Арифметические операторы
- 1.2.4. Операторы и приоритеты
- Условные операторы
- Поразрядные операторы
- Логические операторы
- File System Authentication and Access Control
- Authentication
- Choosing an Authenticated or Anonymous Server
- Основная форма If...Then
- 6.1.3 IF-THEN-ELSE-ENDIF
- 10.6.3. Tickets and Authenticators