Урок 12 по VBA -Оператор if

Урок 12 по VBA -Оператор if Макросы на VBA
vba if then

Бежит заяц по лесу и видим медведя, читающего книгу. Заяц спрашивает: “Косолапый, ты что читаешь?” Тот с умным видом отвечает: “Логику”. Косой с удивленным видом спрашивает “А что такое логика?” “Ну смотри” – говорит медведь:

  • М: У тебя спички есть?
  • З: Нет
  • М: Значит, ты не куришь
  • З: Да!
  • М: Если ты не куришь, значит, нет лишних трат денег
  • З: Верно!
  • М: Значит, ты ходишь по девкам?
  • З: Конечно!
  • М: А раз ты ходишь по девкам, значит, ты не импотент!
  • З: Снова верно!

Заяц обрадовался столь умной книге и попросил почитать ее у косолапого. Идет по лесу довольный и радуется, тут ему навстречу волк идет. Заяц решил испробовать логику на сером и спрашивает его:

  • З: У тебя спички есть?
  • В: Да
  • З: Значит ты импотент!

Хорошо, теперь давайте приступим к теории…

Вариант 1. Самый простой вариант использования условного оператора VBA if, это когда идет проверка условия, и если оно выполняется, то идет выполнение одного выражения:

If условие then выражение

Вариант 2. Может возникнуть ситуация, когда после проверки условия надо выполнить несколько выражений, в таком случае оператор if принимает вид:

If условие then

Выражение 1

Выражение 2

Выражение N

End If

Как видим, в данном случае используется закрывающий блок if … end if, он актуален и в том случае, когда операторы вложены.

Вариант 3: Чтобы не создавать вложенных условных операторов, используется следующая конструкция:

If условие then

Выражение 1

Else

Выражение 2

End if

Тут все предельно просто, если условие истинно, выполняется первое выражение, если нет – второй. Стоит помнить, что после проверки условия могут следовать несколько операторов, как в варианте выше.

Вариант 4: Проверка нескольких условий:

If условие 1 then

Выражения 1

ElseIf условие 2 then

Выражения 2

ElseIf условие 3 then

Выражения 3

….

[else]

End if

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

if then else vba  - результат

Хорошо, теперь напишем простой пример использования конструкции VBA if then. Создайте форму в редакторе Visual Basic for Applications и добавьте на ее поверхность три текстовые метки (объект Label) и одну кнопку (объект CommandButton). В редакторе кодапропишем:

PrivateSub GetSub()Dim MySumm AsIntegerDim MyVar AsByteMyVar = 0    DoWhile MySumm <= 10000        MySumm = MySumm + 1        If MySumm = 10 Then            Label1.Caption = "Сумма достигла значения 10"        ElseIf MySumm = 100 Then            Label2.Caption = "Сумма достигла значения 100"        ElseIf MySumm = 1000 Then            Label3.Caption = "Сумма достигла значения 1000"        Else            Label4.Caption = "Достигнуто значение " & MySumm        EndIf    LoopEndSubPrivateSub CommandButton1_Click()    Call GetSubEndSub PrivateSub UserForm_Initialize()    Label1.Caption = ""    Label1.FontSize = 13    Label1.ForeColor = vbRed     Label2.Caption = ""    Label2.FontSize = 13    Label2.ForeColor = vbGreen     Label3.Caption = ""    Label3.FontSize = 13    Label3.ForeColor = vbBlue     Label4.Caption = ""    Label4.FontSize = 13     CommandButton1.Caption = "Выполнить"EndSub

В процедуре GetSub происходит использование цикла VBA do loop, условие выполнение цикла – значение переменной MySumm должно быть меньше или ровно 10000. В теле самого цикла используются операторы VBA if then с несколькими вариантами. Происходит проверка условий: если сумма достигла значения 10, то записать в первое текстовое поле одну информацию, если 100 – другую информацию, если 1000 – третью информацию, в противном случае – записать данные в свойство Caption четвертого текстового поля.

Оцените статью
Технологии программирования и ведение блога
Добавить комментарий