Excel VBA IF-erklæringer

IF-sætning i VBA-kode er en af ​​de mest anvendte, som giver dig mulighed for at træffe et valg. IF-funktion i VBA er forskellig i sammenligning med EXCEL IF-funktion, dvs. i Excel IF-funktion eller formel kontrollerer, om den givne betingelse eller kriterier evalueres til SAND eller FALSE og returnerer derefter en værdi baseret på evalueringen, hvorimod VBA IF-udsagn kun udfører den første halvdelen af ​​udsagnet, dvs. kontroller, om betingelsen evalueres til SAND eller FALSE, derudover skal THAN-angivelse indtastes i VBA IF-erklæring for at kunne fortsætte operationen eller opgaven at udføre.

Tre parametre, som du skal overveje eller huske, mens du skriver VBA IF-erklæringskode.

  • En betingelse eller parameter, der skal testes.
  • En operation eller opgave, der skal udføres, hvis betingelsen er SAND.
  • En operation eller opgave, der skal udføres, hvis betingelsen er FALSE

Det er en erklæring om beslutningstagning, der bruges til at udføre en blok af kode.

Den udfører en opgave eller operation, når en betingelse er SAND, ellers gør intet eller gør noget andet. Normalt består en if-sætning af et boolskt udtryk efterfulgt af udsagn (det kan være en eller mange).

Enkel til den komplekse tilstand kan skrives i VBA IF-erklæring.

Nedenfor vises de forskellige typer VBA IF-erklæringer med deres syntaks og eksempler.

IF-erklæringstyperSyntaks
HVIS SÅHvis derefter (erklæring)

Afslut Hvis

HVIS ELLERSHvis derefter (erklæring1)

Andet:

(Statement2)

Afslut Hvis

HVIS ELSEIFHVIS derefter

(Sætning1)

ELSEIF Derefter

(Statement2)

Afslut Hvis

ELSE OG ELSEIF

(ELSEIF-erklæring skal komme først, derefter ELSEIF)

IF (betingelse1 er sandt) Derefter

(Sætning1)

ELSEIF (betingelse2 er sandt) Derefter

(Statement2)

ANDET

(Erklæring3)

Afslut Hvis

HVIS UDEN ENDIF

(kun enkelt linjekode)

Bruges når ELSE eller ELSE IF-sætning ikke bruges

IF (betingelse er sandt) derefter (erklæring)

Bortset fra ovenstående udsagn, kan NESTED IF- udsagn også bruges, dvs. en if- eller ELSEIF-erklæring i en anden if- eller ELSEIF-erklæring.

Hvordan bruges IF-udsagn i Excel VBA?

Vi lærer typerne, og hvordan man bruger VBA IF-udsagn med få eksempler i Excel.

Du kan downloade denne VBA IF-erklæringer Excel-skabelon her - VBA IF-erklæringer Excel-skabelon
  • Åbn et VB Editor-vindue. Vælg eller klik på Visual Basic i kodegruppen under fanen Udvikler, eller du kan direkte klikke på genvejstasten Alt + F11 .

  • Dette fører os til Visual Basic-kodningsvinduet. Gå nu til menuen Indsæt fra VBA-vinduet og vælg Modul som vist nedenfor.

  • Nu oprettes det tomme modul, kaldes det også et kodevindue, hvor du kan begynde at skrive, hvis sætningskoder.

VBA IF THEN Statement - Eksempel # 1

HVIS DER er en simpel form for VBA-erklæring. Formatet til at skrive en kode er:

Hvis derefter

Du skal bruge matchende slut-hvis- sætning efter indtastning af ovenstående syntaks , når betingelsen opfylder eller kriterier evalueres til sand, behandles alle linjerne mellem derefter og derefter slut .

Når du skriver Sub IF_THEN () som den første meddelelse uden nogen citater omkring den, kan du observere, Excel tilføjer automatisk linjen End Sub under den første meddelelseslinje, når du trykker på Enter. Nu skal alle de koder, du indtaster, være mellem disse to linjer.

Kode:

 Sub IF_THEN () Hvis 3> 2, er MsgBox "3 større end 2" End If End Sub 

Lad os tjekke ud med ovenstående kode, der har en enkelt linje med IF-sætning, der verificerer eller kontrollerer værdien 3.

Hvis værdien “3” er større end “2 ″, vises popup-meddelelsen med meddelelsen, dvs. ” 3 er større end 2 ”. Hvis du ændrer værdien fra “ 2 ” til “ 5 ” i VBA-koden og kører den, sker der intet. Fordi 3 ikke er større end 5.

Du kan køre makroen ved at klikke på knappen Kør sub eller ved at trykke på F5 . Pop-upvinduet i VBA-meddelelsesboksen vises med meddelelsen om, at "3 er større end 2"

VBA IF-THEN-ELSE-erklæring - eksempel # 2

I dette scenarie bruges IF & ELSE- udsagn til at udføre to forskellige betingelser. Formatet eller syntaks til at skrive kode er:

Hvis derefter

sætning1

Andet:

Statement2

Afslut Hvis

HVIS du kører en nedenstående kode, dvs. Hvis cellen B4 indeholder en værdi 7, får du en meddelelsesboks, der viser "Celle B4 har værdi 7", og hvis cellen B4 indeholder en anden værdi end 7, får du en meddelelsesboks, der viser “Cell B4 har en anden værdi end 7”.

Her, baseret på den værdi, der er til stede i cellen, forekommer forskellige resultater (dvs. mere end en betingelse).

Kode:

 Sub IF_THEN_ELSE () Hvis rækkevidde ("B4"). Værdi = "7" Så har MsgBox "Celle B4 værdi 7" Andet MsgBox "Celle B4 har en anden værdi end 7" End If End Sub 

Cellen "B4" indeholder nu en værdi 7, hvis jeg kører over koden, vises den første betingelse.

Antag, at jeg ændrede værdien af ​​celle “B4” fra 7 til 5 som vist nedenfor.

Kode:

 Sub IF_THEN_ELSE () Hvis rækkevidde ("B4"). Værdi = "5" Så har MsgBox "Celle B4 værdi 7" Andet MsgBox "Celle B4 har en anden værdi end 7" End If End Sub 

Så hvis jeg kører over VBA IF-THEN-ELSE-kode, vises den anden betingelse.

IF-THEN-ELSEIF-ELSE - Eksempel # 3

Det er en avanceret form for VBA, hvis sætning, format eller syntaks for at skrive en kode er

IF (betingelse1 er sandt) Derefter

(Sætning1)

ELSEIF (betingelse2 er sandt) Derefter

(Statement2)

ANDET

(Erklæring3)

Afslut Hvis

Fordelen ved denne kode er, at ELSE IF kan bruges enkeltvis eller flere gange (10 eller 100 gange eller mere end det) efter dit krav.

Kode:

 Sub IF_THEN_ELSEIF_ELSE () Hvis 5> 8 Derefter er MsgBox "5 større end 8" ElseIf 6> 8 Så er MsgBox "6 større end 8" ElseIf 7> 8 Så er MsgBox "7 større end 8" Else MsgBox "5, 6 eller 7 er mindre end 8 "End If End Sub 

Lad os tjekke, hvordan ovenstående kode fungerer, Excel vil starte eller behandle den første erklæring, når den bemærker, at den er falsk, og den vil derefter gå videre til den næste. Her er alle ElseIf argumenter eller betingelser falske, derfor fortsætter den, indtil betingelsen er sand, og til sidst vises resultatet af Else-argumentet som et slutresultat af IF-erklæringen. dvs. MsgBox “5, 6 eller 7 er mindre end 8”, hvilket er et Sande argument.

Når du vælger og kører koden ved at klikke på knappen Kør sub eller ved at trykke på F5 . Pop-up-vinduet til VBA-meddelelsesboksen med en meddelelse om "5, 6 eller 7 er mindre end 8", hvilket er et sandt argument

Nu kan du gemme denne makrokoder ved at omdøbe til VBA_IF_STATEMENT under navnesektionen på fanen egenskaber

Ting at huske

  • Når den enkelt linje i IF Then-sætningen bruges, er det ikke nødvendigt at bruge End IF til sidst. Men når vi opdeler den i mere end en linje, skal slut-hvis-sætningen bruges.
  • I VBA, IF-THEN-ELSEIF-ELSE-erklæring, skal ElseHvis argumenter altid placeres inden Else-argumentet.

Anbefalede artikler

Dette er en guide til VBA IF-erklæringer. Her diskuterede vi, hvordan man bruger IF-sætninger i Excel VBA sammen med praktiske eksempler og downloadbar excel-skabelon. Du kan også gennemgå vores andre foreslåede artikler–

  1. VBA Arrays i Excel
  2. Vejledning til VBA-nummerformat
  3. Vejledning til VBA Find
  4. Sådan bruges VBA Do Mens Loop?

Kategori: