Excel VBA În rest Dacă

VBA Altfel Dacă vă permite să analizați o condiție și să efectuați o acțiune în consecință. Dacă condiția verifică dacă condiția furnizată este TRUE sau FALSE, dacă condiția este TRUE, va returna valoarea atribuită Valoare dacă True și va întoarce valoarea IF False dacă rezultatul este FALSE.

Logica condiției IF în formula regulată excel și formula VBA este aceeași. În acest articol, voi acoperi condiția VBA IF completă.

Sintaxa VBA Dacă declarație

Mai întâi, a se vedea sintaxa declarației IF din VBA.

Acest lucru este foarte similar cu funcția noastră de fișă de lucru IF. Singura diferență este că trebuie să punem cuvântul THEN pentru a merge mai departe în funcție, de asemenea, O altă parte a condiției IF este opțională, spre deosebire de condiția noastră normală IF și trebuie să menționăm sfârșitul funcției ca End If .

De fapt, va mai exista un argument în cazul în care condițiile de testare sunt mai mult de o condiție și această parte este numită declarație ELSE IF. Aceasta este ca și condiția IF cuibărită în calculele foii de lucru. ELSE IF va intra în valoare de imagine dacă starea este FALSE, atunci trebuie să testăm mai multe condiții cu condiția ELSE IF.

În acest articol, vom vedea mai multe condiții ELSE IF în lumea practică.

Cum se folosește VBA în caz contrar?

Haideți să înțelegem cum să folosiți declarația VBA Else If cu câteva exemple.

Puteți descărca acest șablon VBA Else If Excel aici - Șablonul VBA Else If Excel

Declarație simplă dacă - Exemplul # 1

Acum explicația teoretică este suficientă, chiar dacă nu ați înțeles nimic, de care să vă faceți griji. În exemplul practic, veți prinde logica.

Presupunem că aveți o valoare în celula A2 și doriți să verificați dacă numărul este mai mare de 100 sau nu. Dacă valoarea este mai mare de 100, atunci avem nevoie de valoarea din celula B2 ca „Mai mult de 100”. Codul de mai jos va efectua sarcina necesară.

Cod:

 Sub IF_Exemplu1 () Dacă Interval ("A2"). Valoare> 100 Atunci Interval ("B2"). Valoare = "Mai mult de 100" End If End Sub 

Apoi rulați acest cod folosind tasta F5 sau manual, așa cum se arată în captură de ecran. Apoi putem vedea rezultatul în celula B2.

Dacă schimbați valoarea din celula A2 la 99 și rulați codul. Codul nu va returna nimic, deoarece valoarea este mai mică de 100 și nu am furnizat niciun rezultat dacă testul este FALSE, acest lucru îl vom vedea în următorul exemplu.

Dacă cu mențiunea Else - Exemplul # 2

Am văzut cum funcționează un singur IF cu condiție TRUE. Acum vom vedea cum funcționează dacă condiția furnizată este FALSE.

În codul curent după ce valoarea True este furnizată în următorul tip de cuvânt Else.

Cod:

 Sub IF_Exemple2 () Dacă Interval ("A2"). Valoare> 100 Atunci Interval ("B2"). Valoare = "Mai mult de 100" Începutul Dacă Sub final 

Și în linia următoare scrieți codul pentru valoarea falsă.

Cod:

 Subif_Exemplu2 () Dacă Interval ("A2"). Valoare> 100 Atunci Interval ("B2"). Valoare = "Mai mult de 100" Intervalul Else ("B2"). Valoare = "Mai puțin de 100" End If End Sub 

Apoi rulați acest cod folosind tasta F5 sau manual, așa cum se arată în captură de ecran. Dacă valoarea este mai mare de 100, rezultatul ar fi „Mai mult de 100” în celula B2.

Dacă valoarea este mai mică de 100, rezultatul ar fi „Mai puțin de 100”.

Declarație Dacă cuibărită cu altceva Dacă - Exemplul # 3

Când dorim să testăm mai multe condiții, trebuie să folosim mai multe declarații IF în condiția IF. Dar în VBA trebuie să folosim cuvântul ELSE IF pentru a testa mai multe condiții.

De exemplu, în celula A2 dacă valoarea este mai mare de 200, avem nevoie de rezultat ca „Mai mult de 200” în celula B1.

Dacă valoarea este mai mare de 100, avem nevoie de rezultat ca „Mai mult de 100” în celula B2.

Dacă valoarea este mai mică de 100, avem nevoie de rezultat ca „Mai puțin de 100” în celula B2.

Pasul 1: După trecerea valorii TRUE, introduceți cuvântul ELSE IF în linia următoare.

Cod:

 Subif_Exemplu3 () Dacă Interval ("A2"). Valoare> 200 Atunci Interval ("B2"). Valoare = "Mai mult de 200" Gama ElseIf ("A2"). Valoare> 100 Apoi Interval ("B2"). Valoare = "Mai mult de 100" End If End Sub 

Pasul 2: Deoarece am testat deja două argumente, rămânem cu o singură condiție. Acum în linia următoare furnizați rezultatul final al testului cu declarația ELSE.

Cod:

 Subif_Exemplu3 () Dacă Interval ("A2"). Valoare> 200 Atunci Interval ("B2"). Valoare = "Mai mult de 200" Gama ElseIf ("A2"). Valoare> 100 Apoi Interval ("B2"). Valoare = "Mai mult de 100" Interval de altă natură ("B2"). Valoare = "Mai puțin de 100" End If End Sub 

Pasul 3: Apoi rulați acest cod folosind tasta F5 sau manual așa cum se arată în captură de ecran pentru a vedea rezultatele.

Rezultatul 1:

Rezultat 2:

Rezultatul 3:

Cuibărit Dacă cu buclă - Exemplul # 4

Acesta este exemplul avansat de IF Nested cu Loop. Presupunem că aveți un tabel de vânzări cu date de 12 luni.

În coloana de stare, avem nevoie de rezultatul după cum urmează.

  • Dacă valoarea vânzărilor este mai mare de 7000, atunci rezultatul ar trebui să fie „Excelent”
  • Dacă valoarea vânzărilor este mai mare de 6500, atunci rezultatul ar trebui să fie „Foarte bun”
  • Dacă valoarea vânzărilor este mai mare de 6000, atunci rezultatul ar trebui să fie „Bun”
  • Dacă valoarea vânzărilor este mai mare de 4000, atunci rezultatul ar trebui să fie „Nu este rău”
  • Dacă toate rezultatele sunt FALSE, atunci rezultatul ar trebui să fie „Rău”

Pentru a efectua acest test, avem nevoie de codul de mai jos, care este o combinație de IF cu ELSE IF și LOOP.

Cod:

 Sub IF_Exemplu4 () Dim i Ca Integer i = 2 Pentru i = 2 Pana 13 Dacă Celule (i, 2). Valor> = 7000 Apoi Celule (i, 3). Valor = "Excelent" Celule ElseIf (i, 2). Valoare> = 6500 Apoi celule (i, 3). Valor = "Foarte bine" Celule de altă dată (i, 2). Valor> = 6000 Apoi celule (i, 3). Valor = "Bun" Celule de altă dată (i, 2) .Value> = 4000 Apoi, celule (i, 3) .Value = "Nu este rău" Celule de altă natură (i, 3) .Value = "Bad" End If Next i End Sub 

Apoi rulați acest cod folosind tasta F5 sau manual, așa cum se arată în captură de ecran pentru a vedea rezultatele.

Lucruri de amintit

  • Instrucțiunea ELSE IF necesită codul rezultatului în aceeași linie nu în linia următoare și, de asemenea, necesită instrucțiunea THEN pentru a merge la următoarea instrucțiune.
  • Dacă instrucțiunea END IF nu este anexată, vom primi eroarea de mai jos.

  • Operatorul nu este altceva decât egal cu o declarație IF.
  • Ca și funcția foii de lucru, putem folosi de asemenea instrucțiunea AND & OR în cadrul instrucțiunii IF.

Articole recomandate

Acesta a fost un ghid pentru declarația VBA Else If. Aici am discutat despre VBA Else If și cum să utilizăm Excel VBA Else If, ​​împreună cu câteva exemple practice și șablonul Excel descărcabil. De asemenea, puteți parcurge și alte articole sugerate -

  1. Cum se utilizează VBA Select Case?
  2. Cum se utilizează funcția Căutare VBA?
  3. Ghid pentru funcția VBA TRIM
  4. Ghid și exemple pentru bucle VBA

Categorie: