Операторы If-Then и If-Then-Else.
Оператор If…Then... Else применяется, когда нужно проверить соответствие одному условию и в случае соответствия сделать какое-то действие, а в случае несоответствия выполнить другое действие:
Синтаксис составного условного оператора, если Вы пишите программу структурно, следующий:
If <логическое выражение> Then
P1
P2
.
.
PN
Else
M1
M2
.
.
MN
End If
Да Нет
Возможна и другая запись (в одну строку):
If <лог. выраж.> Then P1 : P2 : ... : PN Else M1 : M2 : ... MN
где If, Then, Else, End If - зарезервированные слова, а P1, P2,PN, M1, M2,MN – операторы.
Если Логические выражение принимает значение True, то выполняется инструкция (оператор, или инструкции, операторы) после Then, если False, то выполняется инструкция (или инструкции) после Else. Ветвь Else является необязательной.
If nTemperature < 10 Then
MsgBox "Одеть куртку"
Else
MsgBox "Одеть ветровку"
End If
Оператор If с несколькими альтернативами.
Синтаксис многозначных ветвлений, если Вы пишите программу структурно, следующий:
If <лог. выражение1> Then
P1
ElseIf <лог. выражение2> Then
P2
ElseIf <лог. выражение3> Then
P3
Else
P4
End If
Возможна и другая запись (в одну строку):
If <лог. выражение1> Then P1 ElseIf <лог. выражение2> Then P2 ElseIf <лог. выражение3> Then P3 Else P4
где If, Then, Else, End If - зарезервированные слова, а P1, P2,P3 P4,- операторы
|
|
Когда нужно проверить на соответствие нескольким условиям возможна запись:
If (nTemperature < 10) And (bRain = True) Then
MsgBox "Одеть куртку и взять зонтик"
End If
Некоторые замечания по использованию If…Then... Else:
- ключевое слово Then должно находиться в одной строке с If и условием. Если вы перенесете его на следующую строку, будет выдано сообщение об ошибке;
- если разместить команду, которую нужно выполнить при истинности проверяемого условия, на одной строке с If и Then, то End If можно не писать:
If nTemperature < 10 Then MsgBox "Одеть куртку"
- если же вы используете несколько команд или конструкции Else/ElseIf, то End If в конце нужно писать обязательно – иначе возникнет синтаксическая ошибка.
- операторы If…Then можно вкладывать друг в друга:
If MyVar1 = 5 Then
MsgBox “MyVar1 = 5”
If MyVar2 = 10 Then
MsgBox “MyVar2 = 10”
End If
End If
Оператор Select Case.
Оператор Select Case идеально подходят для проверки одного и того же значения, которое нужно много раз сравнить с разными выражениями. Синтаксис его следующий:
Select Case sDayOfWeek
Case "Понедельник"
MsgBox "Салат из шпината"
Case "Вторник"
MsgBox "Салат из морской капусты"
…
Case Else
MsgBox "На этот день у нас ничего не предусмотрено"
End Select
|
|
Некоторые замечания по поводу Select Case:
- строка Case "Понедельник" на самом деле означает Case sDayOfWeek = "Понедельник", просто такое равенство подразумевается по умолчанию. Возможно использование набора операторов:
Case 0 To 5, 15, Is > 55
MsgBox "Напомнить о прививках"
- при использовании диапазона (0 To 5) включаются и границы диапазона (в данном случае 0 и 5).
Объявление одномерных массивов. Доступ к элементам одномерных массивов.
Как и в других языках программирования, в VBA вы можете использовать массивы.
Dim A(12) As Integer
Эта строка объявляет одномерный массив (вектор) из 12 целых чисел, причем по умолчанию первый элемент массива будет А(0), а последний А(11). В этом случае говорят, что 0 — базовый индекс. Можно изменить базовый индекс, написав в начале листа модуля инструкцию Option Base 1. После этого индексы массивов аив будут начинаться с единицы. Другим способом изменения базового индекса является использование ключевого слова то при объявлении массива:
Dim B(l То 3, 1 То 3) As Single
Dim A(l To 12) As Integer
Массив в программе определяется поэлементно. Например,
Dim B(l To 2, 1 То 2) As Single
B(1,1)=2
В(1,2)=4
В(2,1)=1
В(1,2)=6
Дата добавления: 2018-04-15; просмотров: 348; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!