Cum se folosește declarația If Else în VBA? (cu exemple)

Declarație Excel VBA IF Else

Nu există nicio instrucțiune IF Else în foaia de lucru și poate fi utilizată numai în codul VBA, în timp ce lucrăm în VBA putem furniza o condiție care este instrucțiunea If condition și dacă este îndeplinită un anumit set de instrucțiuni, atunci este executată și dacă condiția eșuează instrucțiunea, apoi se execută instrucțiunea.

VBA nu este diferit atunci când vine vorba de teste logice. Funcționează în același mod ca și cum funcționează în foile de lucru obișnuite. Dintre toate funcțiile logice, funcția „IF” este utilizată mai ales din lot. Folosind IF, putem efectua un test logic și putem ajunge la decizii dacă testul logic este îndeplinit și, de asemenea, putem lua decizii alternative dacă testul logic nu este satisfăcut.

Mai jos este sintaxa condiției IF Else.

IF Atunci Dacă Testul Logic este ADEVĂRAT Altfel Dacă Testul Logic este FALS Termină IF

Ce este declarația VBA IF atunci altfel?

Odată ce testul logic furnizat este FALS, avem nevoie de o sarcină alternativă pentru a fi executată ca parte a codului. Deci „IF ELSE” înseamnă dacă testul logic este FALS, ce altceva trebuie să facă.

Pentru a înțelege mai bine exemplul de mai jos, am furnizat rezultatul deoarece „10 este mai mare” numai dacă testul logic este ADEVĂRAT. Totuși, în rezultatul logic FALS, putem furniza rezultatul alternativ deoarece „10 este mai mic”.

Deci, odată ce testele logice sunt furnizate și codul de parte TRUE scris în linia următoare, introduceți cuvântul „ELSE”.

ELSE înseamnă că dacă testul logic nu este ADEVĂRAT, avem nevoie de rezultat deoarece „10 este mai mic”.

Cod:

Sub IF_Else_Example1 () Dacă 10> 11, atunci MsgBox "10 este mai mare" Else MsgBox "10 este mai mic" End If End Sub

Acum, codul nostru oferă cel puțin unul dintre rezultatele de mai sus. Executați codul și vedeți rezultatul.

Deoarece am furnizat rezultatul alternativ dacă testul logic este FALS, acesta a afișat rezultatul alternativ ca „10 este mai mic” deoarece 10 este mai mic decât celălalt număr 11.

Exemplu

De exemplu, uitați-vă la datele de mai jos.

Cu aceste date, trebuie să ajungem la starea pe baza „Costului” fiecărui produs. Pentru a ajunge la starea de mai jos sunt criteriile.

Dacă prețul de cost este> 50, starea ar trebui să fie „ scumpă ” sau altfel statutul ar trebui să fie „ Nu este scump ”.

Aici trebuie să testăm prețul de cost, adică testul logic dacă prețul de cost este> 50 sau nu. Dacă testul logic este ADEVĂRAT, adică prețul de cost este mai mare de 50, avem nevoie de statutul de „Scump”, iar dacă testul logic este FALS, adică prețul de cost este mai mic de 50, avem nevoie de rezultatul alternativ ca "Nu scump."

Ok, hai să scriem codul acum. Înainte de aceasta, copiați și lipiți tabelul de mai sus într-o foaie de lucru Excel.

Pasul 1: Porniți subprocedura.

Sub IF_ELSE_Example2 () End Sub

Pasul 2: declarați variabila ca un tip de date întreg.

Dim k Ca întreg

Pasul 3: Întrucât trebuie să testăm mai multe valori ale celulei, trebuie să folosim FOR VBA LOOP pentru a trece prin celule și a aplica logica pentru toate celulele.

Trebuie să aplicăm teste logice de la al 2-lea rând la cel de-al 8- lea rând, așa că începeți pentru LOOP de la 2 la 8.

Cod:

Pentru k = 2 - 8 Următorul k

Pasul 4: În interiorul acestei bucle, trebuie să executăm testul logic. Deci, deschideți instrucțiunea IF și selectați prima celulă utilizând proprietatea CELLS.

Cod:

Dacă celulele (k, 2). Valoare> 50 Apoi

Aici Celulele (k, 2) înseamnă rând (valoarea lui k) și coloana 2.

Pasul 5: Dacă această valoare a celulei este> 50, avem nevoie de rezultat ca „Scump” în următoarea celulă coloană. Deci codul va fi -

Cod:

Celule (k, 3) .Value = "Scump"

Pasul 6: Dacă testul nu este ADEVĂRAT, avem nevoie de rezultatele instrucțiunii ELSE, adică „Nu sunt scumpe”.

Cod:

Sub IF_ELSE_Example2 () Dim k Întreg pentru k = 2 până la 8 Dacă celule (k, 2). Valoare> 50 Apoi celule (k, 3). Valoare = Celelalte "scumpe" Altele (k, 3). Valoare = "Nu" Scump "Sfârșit Dacă Următorul k Sfârșit Sub

Acest lucru va bucla prin codul de la 2 - lea până la data de 8-rând testează numerele și ajunge la rezultatul pe baza prețului de cost.

Astfel, putem folosi If-Else pentru a obține rezultate alternative.

Lucruri de amintit

  • Declarația Else este pentru un test logic FALS.
  • Dacă doriți să aplicați mai mult de două teste logice în Excel, trebuie să folosim instrucțiunea ELSE IF.
  • În cazul executării sarcinii pentru mai multe celule, trebuie să folosim bucle.
  • Dacă instrucțiunea Else poate testa un singur test logic.

Articole interesante...