Excel VBA IF Заявления

Оператор IF в коде VBA является одним из наиболее часто используемых, что позволяет сделать выбор. Функция IF в VBA отличается от функции EXCEL IF, т. Е. В Excel IF функция или формула проверяет, оценивается ли данное условие или критерии как TRUE или FALSE, а затем возвращает значение, основанное на оценке, тогда как оператор VBA IF выполнит только первое половина оператора, т. е. проверка, оценивается ли условие как ИСТИНА или ЛОЖЬ, кроме того, в оператор VBA IF необходимо ввести ТО, ЧТО для выполнения оставшейся операции или задачи.

Три параметра, которые необходимо учитывать или учитывать при написании кода оператора VBA IF.

  • Условие или параметр для проверки.
  • Операция или задача, выполняемая, если условие ИСТИНА.
  • Операция или задача, выполняемая, если условие ЛОЖЬ

Это оператор принятия решения, который используется для выполнения блока кода.

Он выполняет задачу или операцию, когда условие ИСТИНА, иначе ничего не делает или делает что-то еще. Обычно оператор if состоит из логического выражения, за которым следуют операторы (это может быть один или несколько).

Простое в сложное условие может быть записано в операторе VBA IF.

Ниже показаны различные типы операторов VBA IF с их синтаксисом и примерами.

ЕСЛИ Типы ЗаявленийСинтаксис
ЕСЛИ ТОГДАЕсли Тогда (Заявление)

Конец, если

ЕСЛИ ЕЩЕЕсли Тогда (Заявление1)

Else:

(Оператор2)

Конец, если

ЕСЛИ ELSEIFЕСЛИ тогда

(Заявлении1)

ELSEIF Тогда

(Оператор2)

End If

ELSE И ELSEIF

(Оператор ELSEIF должен стоять первым, после этого ELSE)

ЕСЛИ (условие1 верно) Тогда

(Заявлении1)

ELSEIF (условие 2 верно) Тогда

(Оператор2)

ELSE

(Оператор3)

End If

ЕСЛИ БЕЗ ENDIF

(только однострочный код)

Используется, если не используется оператор ELSE или ELSE IF

ЕСЛИ (условие верно) Тогда (утверждение)

Помимо вышеприведенного оператора может также использоваться оператор NESTED IF, т. Е. Оператор if или ELSEIF внутри другого оператора if или ELSEIF.

Как использовать IF-операторы в Excel VBA?

Мы изучим типы и как использовать операторы VBA IF с несколькими примерами в Excel.

Вы можете скачать этот шаблон Excel с заявлениями VBA IF здесь - Шаблон Excel с заявлениями VBA IF
  • Откройте окно VB Editor. Выберите или нажмите Visual Basic в группе « Код » на вкладке « Разработчик », или вы можете напрямую нажать сочетание клавиш Alt + F11 .

  • Это приведет нас к окну кодирования Visual Basic. Теперь перейдите в меню «Вставка» в окне VBA и выберите «Модуль», как показано ниже.

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

VBA IF THEN Statement - Пример № 1

ЕСЛИ ПОТОМ это простая форма заявления VBA. Формат для написания кода:

Если тогда

Вы должны использовать соответствующий оператор End If после ввода вышеуказанного синтаксиса , когда условие соответствует или критерии оцениваются как true, тогда обрабатываются все строки между If Then и End If

Когда вы набираете Sub IF_THEN () в качестве первого сообщения без кавычек, вы можете заметить, что Excel автоматически добавляет строку End Sub под первой строкой сообщения, когда вы нажимаете Enter. Теперь все коды, которые вы вводите, должны быть между этими двумя строками.

Код:

 Sub IF_THEN () Если 3> 2, то MsgBox "3 больше 2" End If End Sub 

Давайте проверим приведенный выше код, который содержит одну строку оператора IF, который проверяет или проверяет значение 3.

Если значение «3» больше, чем «2», то появляется всплывающее сообщение с сообщением, т.е. «3 больше, чем 2». Если вы измените значение с « 2 » на « 5 » в коде VBA и запустите его, то ничего не произойдет. Потому что 3 не больше 5.

Вы можете запустить макрос, нажав кнопку Run Sub или нажав F5 . Появится всплывающее окно с сообщением VBA с сообщением «3 больше 2»

Оператор VBA IF-THEN-ELSE - Пример № 2

В этом сценарии оператор IF & ELSE используется для выполнения двух разных условий. Формат или синтаксис для написания кода:

Если тогда

заявлении1

Else:

оператор2

Конец, если

Если вы запустите приведенный ниже код, т. Е. Если ячейка B4 содержит значение 7, вы получите окно с сообщением «Ячейка B4 имеет значение 7», а если ячейка B4 содержит значение, отличное от 7, вы получите окно сообщения, показывающее «Ячейка B4 имеет значение, отличное от 7».

Здесь, на основе значения, присутствующего в ячейке, возникает другой результат (то есть более одного условия).

Код:

 Sub IF_THEN_ELSE () If Range ("B4"). Значение = "7", то ячейка B4 MsgBox "имеет значение 7" Ячейка B4 Else MsgBox "имеет значение, отличное от 7" End If End Sub 

Теперь ячейка «B4» содержит значение 7, если я запускаю код выше, появляется 1-е условие.

Предположим, я изменил значение ячейки «B4» с 7 до 5, как показано ниже.

Код:

 Sub IF_THEN_ELSE () If Range ("B4"). Значение = "5", то MsgBox "Ячейка B4 имеет значение 7" Else MsgBox "Ячейка B4 имеет значение, отличное от 7" End If End Sub 

Поэтому, если я запускаю код выше VBA IF-THEN-ELSE, появляется второе условие.

IF-THEN-ELSEIF-ELSE - Пример № 3

Это расширенная форма VBA, если оператор, формат или синтаксис для написания кода

ЕСЛИ (условие1 верно) Тогда

(Заявлении1)

ELSEIF (условие 2 верно) Тогда

(Оператор2)

ELSE

(Оператор3)

End If

Преимущество этого кода в том, что ELSE IF может использоваться по отдельности или несколько раз (в 10 или 100 или более раз) в соответствии с вашими требованиями.

Код:

 Sub IF_THEN_ELSEIF_ELSE () Если 5> 8, то MsgBox "5 больше 8" ElseIf 6> 8 Тогда MsgBox "6 больше 8" ElseIf 7> 8 Тогда MsgBox "7 больше 8" Else MsgBox "5, 6 или 7 меньше, чем 8 "End If End Sub 

Давайте проверим, как работает приведенный выше код, Excel инициирует или обрабатывает первый оператор, когда он замечает, что он ложный, затем он переходит к следующему. Здесь все аргументы ElseIf или условие ложно, поэтому оно будет продолжаться до тех пор, пока условие не станет истинным, и, наконец, результат аргумента Else будет отображен как конечный результат оператора IF. т.е. MsgBox «5, 6 или 7 меньше 8», что является ИСТИННЫМ аргументом.

Когда вы выбираете и запускаете код, нажимая кнопку Run Sub или нажимая F5 . Всплывающее окно сообщения VBA с сообщением «5, 6 или 7 меньше 8», что является истинным аргументом

Теперь вы можете сохранить эти макрокоды, переименовав их в VBA_IF_STATEMENT в разделе имени на вкладке свойств.

То, что нужно запомнить

  • Когда используется одна строка оператора IF Then, тогда нет необходимости использовать End IF наконец. Но когда мы разбиваем его на несколько строк, необходимо использовать оператор End If.
  • В операторе VBA IF-THEN-ELSEIF-ELSE аргументы ElseIf должны всегда находиться перед аргументом Else.

Рекомендуемые статьи

Это руководство к заявлениям VBA IF. Здесь мы обсудили, как использовать операторы IF в Excel VBA вместе с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи -

  1. Массивы VBA в Excel
  2. Руководство по формату чисел VBA
  3. Путеводитель по VBA Find
  4. Как использовать VBA Do While Loop?

Категория: