Excel VBA IF Изявления

IF изявлението във VBA код е едно от най-често използваните, което ви позволява да направите избор. IF функцията в VBA е различна в сравнение с функцията EXCEL IF, т.е. в Excel IF функцията или формулата проверява дали даденото условие или критерии се оценява на TRUE или FALSE и след това връща стойност въз основа на оценката, като има предвид, че VBA IF изявлението ще изпълнява само първото половината от оператора, т.е. проверете дали състоянието се оценява на ИСТИНСКА или ФАЛСА, освен това трябва да бъде въведено THEN оператор в VBA IF оператор за оставаща операция или задача за изпълнение.

Три параметъра, които трябва да вземете под внимание или да имате предвид, докато пишете код на VBA IF изявление.

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

Това е изявление за вземане на решение, което се използва за изпълнение на блок код.

Той изпълнява задача или операция, когато условието е ИСТИНСКО, друго не правете нищо или направете нещо друго. Обикновено оператор if се състои от булев израз, последван от оператори (може да е един или много).

Просто до сложното състояние може да бъде записано в изявление VBA IF.

По-долу са показани различните типове VBA IF извлечения с техния синтаксис и примери.

IF Видове извлеченияСинтаксис
АКО ТОВААко тогава (изявление)

Край ако

АКО ЕЛЕЗАко тогава (Изявление1)

Иначе:

(Statement2)

Край ако

АКО ELSEIFАКО тогава

(Statement1)

ELSEIF Тогава

(Statement2)

Край Ако

ELSE И ELSEIF

(ELSEIF изявление трябва да бъде първо, след това ELSE)

АКО (условието1 е вярно) Тогава

(Statement1)

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

(Statement2)

ELSE

(Statement3)

Край Ако

АКО БЕЗ ENDIF

(само за един ред)

Използва се, когато ELSE или ELSE IF оператор не се използва

АКО (условието е вярно) Тогава (Изявление)

Освен горното изявление, може да се използва и NESTED IF оператор, т.е. оператор if или ELSEIF вътре в друг if или ELSEIF.

Как да използвате IF отчети в Excel VBA?

Ще научим видовете и как да използваме VBA IF изявления с няколко примера в Excel.

Можете да изтеглите този VBA IF изявления Excel шаблон тук - VBA IF Изявления Excel шаблон
  • Отворете прозорец на VB редактор. Изберете или кликнете върху Visual Basic в групата с кодове в раздела Developer или можете директно да щракнете върху клавиша за бърз достъп Alt + F11 .

  • Това ще ни отведе до прозореца за кодиране на Visual Basic. Сега отидете в менюто Вмъкване от прозореца на VBA и изберете Модул, както е показано по-долу.

  • Сега празният модул е създаден, той се нарича и кодов прозорец, в който можете да започнете да пишете, ако кодовете на оператора.

VBA АКО ТОЙ Изказване - Пример №1

АКО ТОВА е проста форма на VBA изявление. Форматът за писане на код е:

Ако тогава

Трябва да използвате изравняване End If след въвеждане на горния синтаксис , Когато условието отговаря или критериите се оценяват като истина, тогава всички редове между 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 се използва за изпълнение на две различни условия. Форматът или синтаксисът за писане на код е:

Ако тогава

Statement1

Иначе:

Statement2

Край ако

Ако стартирате по-долу споменат код, т.е. Ако клетката B4 съдържа стойност 7, тогава ще получите поле за съобщение, показващо „Cell B4 има стойност 7“ и ако клетката B4 съдържа стойност, различна от 7, тогава ще получите поле за съобщение, показващо „Клетка В4 има стойност, различна от 7“.

Тук въз основа на стойността, присъстваща в клетката, възниква различен резултат (т.е. повече от едно условие).

Код:

 Под IF_THEN_ELSE () Ако диапазон ("B4"). Стойност = "7" Тогава MsgBox "клетка B4 има стойност 7" Else MsgBox "Клетка B4 има стойност, различна от 7" End If End Sub 

Сега клетката "B4" съдържа стойност 7, ако изпълня над кода, се появява 1-вото условие.

Да предположим, че промених стойността на клетката „B4“ от 7 на 5, както е показано по-долу.

Код:

 Под IF_THEN_ELSE () Ако диапазон ("B4"). Стойност = "5" Тогава MsgBox "клетка B4 има стойност 7" Else MsgBox "Клетка B4 има стойност, различна от 7" End If End Sub 

Така че, ако премина над VBA IF-THEN-ELSE код, се появява второто условие.

АКО-ТОЙ-ELSEIF-ELSE - Пример №3

Това е усъвършенствана форма на VBA, ако е оператор, формат или синтаксис за писане на код

АКО (условието1 е вярно) Тогава

(Statement1)

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

(Statement2)

ELSE

(Statement3)

Край Ако

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

Код:

 Под 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
  4. Как да използвате VBA Do while Loop?

Категория: