Declarații Excel VBA IF

Declarația IF în codul VBA este una dintre cele mai des utilizate, care vă permite să faceți o alegere. Funcția IF în VBA este diferită în comparație cu funcția EXCEL IF, adică în funcția Excel IF sau formula verifică dacă condiția sau criteriile date evaluează TRUE sau FALSE și apoi returnează o valoare bazată pe evaluare, întrucât declarația VBA IF va efectua doar prima jumătate din declarație, adică verificați dacă condiția se evaluează la TRUE sau FALSE, în plus, ÎNTÂIINTE declarația trebuie introdusă în declarația VBA IF pentru a rămâne operația sau sarcina de îndeplinit.

Trei parametri pe care trebuie să îi luați în considerare sau să țineți cont în timp ce scrieți codul de declarație VBA IF.

  • O condiție sau un parametru de testat.
  • O operație sau o sarcină care trebuie executată dacă condiția este ADEVĂRAT.
  • O operație sau o sarcină pentru a efectua dacă condiția este FALSE

Este o declarație de luare a deciziilor care este utilizată pentru a executa un bloc de cod.

Execută o sarcină sau o operație atunci când o condiție este ADEVĂRAT, altfel nu face nimic sau face altceva. De obicei, o declarație if constă dintr-o expresie booleană urmată de enunțuri (poate fi una sau multe).

Simpla condiției complexe poate fi scrisă în declarația VBA IF.

Mai jos sunt prezentate diferitele tipuri de declarații VBA IF cu sintaxa și exemple.

Tipuri de declarație IFSintaxă
DACA ATUNCIDacă Apoi (declarație)

Se încheie dacă

DACĂ ESTEDacă Apoi (Declarație1)

Else:

(Statement2)

Se încheie dacă

DACĂ ELSEIFDACA Atunci

(Statement1)

ELSEIF Atunci

(Statement2)

End If

ELSE ȘI ELSEIF

(Declarația ELSEIF trebuie să vină prima, după aceea ELSE)

IF (condiția1 este adevărată) Atunci

(Statement1)

ELSEIF (condiția2 este adevărată) Apoi

(Statement2)

ELSE

(Statement3)

End If

DACĂ FĂRĂ ENDIF

(numai cod de linie unică)

Utilizată atunci când instrucțiunea ELSE sau ELSE IF nu este utilizată

IF (condiția este adevărată) Atunci (Declarație)

În afară de afirmația de mai sus, se poate utiliza instrucțiunea NESTED IF, adică o instrucțiune if sau ELSEIF în interiorul altei instrucțiuni if ​​sau ELSEIF

Cum se utilizează declarațiile IF în Excel VBA?

Vom învăța tipurile și cum să utilizăm declarațiile VBA IF cu câteva exemple în Excel.

Puteți descărca acest șablon Excel cu declarații VBA IF aici - șablonul Excel cu declarații VBA IF
  • Deschideți o fereastră Editor VB. Selectați sau faceți clic pe Visual Basic în grupul Cod din fila Dezvoltator sau puteți face clic direct pe tasta rapidă Alt + F11 .

  • Aceasta ne va duce la fereastra de codare Visual Basic. Acum accesați meniul Insert din fereastra VBA și selectați modulul așa cum se arată mai jos.

  • Acum, modulul gol este creat, se mai numește și fereastră de cod, unde puteți începe să scrieți dacă coduri de declarație.

Declarația VBA IF THEN - Exemplul # 1

DACĂ DACĂ este o formă simplă de declarație VBA. Formatul de a scrie un cod este:

Dacă Atunci

Ar trebui să utilizați instrucțiunea End If potrivită după introducerea sintaxei de mai sus , Când condiția îndeplinește sau criteriile se evaluează la true, atunci toate procesele dintre If apoi și End If sunt procesate.

Când tastați Sub IF_THEN () ca prim mesaj fără nicio ghidare în jurul său, puteți observa, Excel adaugă automat linia Sub Sub sub prima linie de mesaj când apăsați Enter. Acum, toate codurile introduse trebuie să fie cuprinse între aceste două linii.

Cod:

 Sub IF_THEN () Dacă 3> 2 Atunci MsgBox "3 este mai mare decât 2" End If End Sub 

Să verificăm cu codul de mai sus care are o singură linie de declarație IF care verifică sau verifică valoarea 3.

Dacă valoarea „3” este mai mare decât „2”, atunci apare mesajul pop-up cu mesajul adică „3 este mai mare decât 2”. Dacă schimbați valoarea de la „ 2 ” la „ 5 ” în codul VBA și o executați, atunci nu se întâmplă nimic. Deoarece 3 nu este mai mare de 5.

Puteți rula macro-ul făcând clic pe butonul Run Sub sau apăsând F5 . Fereastra pop-up a casetei de mesaje VBA apare cu mesajul „3 este mai mare decât 2”

Declarația VBA IF-THEN-ELSE - Exemplul # 2

În acest scenariu, instrucțiunea IF & ELSE este utilizată pentru a executa două condiții diferite. Formatul sau sintaxa pentru a scrie codul este:

Dacă Atunci

Statement1

Else:

Statement2

Se încheie dacă

Dacă executați un cod menționat mai jos, adică Dacă celula B4 conține o valoare 7, veți primi o casetă de mesaj care arată „Celula B4 are valoarea 7” și Dacă celula B4 conține o altă valoare decât 7, atunci veți obține o casetă de mesaje care arată „Celula B4 are o altă valoare decât 7”.

Aici, pe baza valorii prezente în celulă, se produce un rezultat diferit (adică mai multe condiții).

Cod:

 Sub IF_THEN_ELSE () Dacă Intervalul ("B4"). Valoare = "7" Atunci MsgBox "Celula B4 are valoarea 7" Încă MsgBox "Celula B4 are o altă valoare decât 7" End If End Sub 

Acum, celula „B4” conține o valoare 7, dacă rulez deasupra codului, apare prima condiție.

Să presupunem că am schimbat valoarea celulei „B4” de la 7 la 5, așa cum se arată mai jos.

Cod:

 Sub IF_THEN_ELSE () If Range ("B4"). Value = "5" Atunci MsgBox "Celula B4 are valoarea 7" Altele MsgBox "Celula B4 are o altă valoare decât 7" End If End Sub 

Deci, dacă alerg deasupra codului VBA IF-THEN-ELSE, apare a doua condiție.

IF-THEN-ELSEIF-ELSE - Exemplul # 3

Este o formă avansată de VBA dacă afirmația, formatul sau sintaxa pentru a scrie un cod este

IF (condiția1 este adevărată) Atunci

(Statement1)

ELSEIF (condiția2 este adevărată) Apoi

(Statement2)

ELSE

(Statement3)

End If

Avantajul acestui cod este că ELSE IF poate fi utilizat individual sau de mai multe ori (de 10 sau 100 de ori sau mai mult decât atât) conform cerințelor dumneavoastră.

Cod:

 Sub IF_THEN_ELSEIF_ELSE () Dacă 5> 8 Atunci MsgBox "5 este mai mare decât 8" ElseIf 6> 8 Atunci MsgBox "6 este mai mare decât 8" ElseIf 7> 8 Atunci MsgBox "7 este mai mare decât 8" Altele MsgBox "5, 6 sau 7 este mai mică de 8 "End If End Sub 

Să verificăm cum funcționează codul de mai sus, Excel va iniția sau prelucra prima afirmație, atunci când observă, că este falsă, apoi va trece la următoarea. Aici toate argumentele sau condiția ElseIf sunt false, de aceea va continua până când condiția este adevărată și în final rezultatul argumentului Else este afișat ca rezultat final al instrucțiunii IF. adică MsgBox „5, 6 sau 7 este mai mic decât 8”, care este un argument TRUE.

Când selectați și rulați codul făcând clic pe butonul Run Sub sau apăsând F5 . Fereastra pop-up din caseta de mesaje VBA cu un mesaj care indică „5, 6 sau 7 este mai mic decât 8”, care este un adevărat argument

Acum, puteți salva aceste coduri macro, redenumindu-se ca VBA_IF_STATEMENT sub secțiunea nume din fila proprietăți

Lucruri de amintit

  • Când se folosește instrucțiunea de linie unică de IF Atunci, nu este nevoie să se folosească în cele din urmă End IF. Dar când o împărțim în mai multe linii, atunci instrucțiunea End If trebuie folosită.
  • În declarația VBA, IF-THEN-ELSEIF-ELSE, argumentele ElseIf ar trebui să fie întotdeauna plasate înaintea argumentului Else.

Articole recomandate

Acesta este un ghid pentru declarațiile VBA IF. Aici am discutat despre modul de utilizare a declarațiilor IF în Excel VBA, împreună cu exemple practice și șablon Excel descărcabil. Puteți parcurge și alte articole propuse -

  1. Arhiere VBA în Excel
  2. Ghid pentru formatul numerelor VBA
  3. Ghid pentru Găsirea VBA
  4. Cum se utilizează VBA în timp ce buclă?

Categorie: