Excel VBA IF väljavõtted

IF-lause VBA-koodis on üks sagedamini kasutatavaid, mis võimaldab teil teha valiku. IF-funktsioon VBA-s on erinev EXCEL IF-funktsiooniga võrreldes, st funktsioonis Excel IF või valem kontrollitakse, kas antud tingimus või kriteeriumid on tõesed või valed ja tagastab seejärel hinnangu alusel väärtuse, samas kui VBA IF-i avaldus täidab ainult esimest pool avaldusest, st kontrollige, kas tingimuse väärtus on tõene või vale, lisaks tuleb VBA IF-i avaldusesse sisestada THEN avaldus allesjäänud toimingu või ülesande täitmiseks.

Kolm parameetrit, mida peate VBA IF väljavõtte koodi kirjutamisel arvestama või seda meeles pidama.

  • Tingimus või parameeter, mida testida.
  • Toiming või ülesanne, mida tuleb teha juhul, kui tingimus on TÕENE.
  • Toiming või toiming, mida tuleb teha juhul, kui seisund on VABA

See on otsuste tegemise avaldus, mida kasutatakse koodiploki täitmiseks.

See täidab ülesannet või toimingut, kui seisund on TÕELINE, muidu ei tohi midagi teha ega midagi muud teha. Tavaliselt koosneb if-lause lause Boole-avaldisest, millele järgneb lause (see võib olla üks või mitu).

Lihtsalt keerukale tingimusele saab kirjutada VBA IF avalduses.

Allpool on toodud erinevad VBA IF-avalduste tüübid koos nende süntaksi ja näidetega.

IF avalduse tüübidSüntaks
KUI SIISKui siis (avaldus)

Lõpeta kui

KUI MUUKui siis (avaldus1)

Muu:

(Avaldus2)

Lõpeta kui

KUI ELSEIFKUI siis

(Avaldus1)

ELSEIF Siis

(Avaldus2)

Lõpeta If

ELSE JA ELSEIF

(ELSEIFi avaldus peab olema esimene, pärast seda ELSEIF)

KUI (tingimus 1 on tõene) Siis

(Avaldus1)

ELSEIF (tingimus 2 on tõene) Siis

(Avaldus2)

ELSE

(Avaldus3)

Lõpeta If

KUI ENDIFI EI OLE

(ainult üherealine kood)

Kasutatakse juhul, kui lauset ELSE või ELSE IF ei kasutata

IF (tingimus on tõene) siis (avaldus)

Lisaks ülaltoodud väitele võib kasutada ka NESTED IF-i avaldust, st If-i või ELSEIF-i avaldust teise if- või ELSEIF-i väljal.

Kuidas kasutada IF-avaldusi Exceli VBA-s?

Õpime VBA IF-avalduste tüüpe ja kasutamist koos mõne näitega Excelis.

Selle VBA IF avalduste Exceli malli saate alla laadida siit - VBA IF avalduste Exceli mall
  • Avage VB redigeerimise aken. Valige või klõpsake vahekaardi Arendaja rühmas Kood Visual Basic või klõpsake otsetee klahvi Alt + F11 .

  • See viib meid Visual Basicu kodeerimise aknasse. Nüüd minge VBA aknas menüüsse Sisesta ja valige moodul, nagu allpool näidatud.

  • Nüüd on tühi moodul loodud, seda nimetatakse ka koodiaknaks, kust saab hakata kirjutama, kui avalduse koodid.

VBA KUI siis avaldus - näide # 1

KUI siis on VBA avalduse lihtne vorm. Koodi kirjutamise vorming on:

Kui siis

Pärast ülaltoodud süntaksi sisestamist peaksite kasutama sobivat End If-i avaldust. Kui tingimus on täidetud või kui kriteeriumid on tõesed, töödeldakse kõiki ridu Ifi ja End Ifi vahel .

Kui kirjutate esimese sõnumina Sub IF_THEN () ilma tsitaatideta, võite jälgida, et Excel lisab Enteri vajutamisel automaatselt rea End Sub esimese sõnumi rea alla. Nüüd peavad kõik sisestatud koodid jääma nende kahe rea vahele.

Kood:

 Sub IF_THEN () Kui 3> 2, siis MsgBox "3 on suurem kui 2" End If End Sub 

Vaatame ülaltoodud koodi, millel on ühtne IF-lause rida, mis kontrollib või kontrollib väärtust 3.

Kui väärtus “3” on suurem kui “2”, kuvatakse hüpikteade koos teatega, st “3 on suurem kui 2”. Kui muudate VBA-koodi väärtuse 2- st väärtuseks 5- ni ja käivitate selle, siis ei juhtu midagi. Sest 3 ei ole suurem kui 5.

Makro saate käivitada, klõpsates nuppu Sub Sub või Run F5 . Ilmub VBA teadete kasti hüpikaken sõnumiga "3 on suurem kui 2"

VBA IF-THEN-ELSE avaldus - näide # 2

Selle stsenaariumi korral kasutatakse IF ja ELSE avaldust kahe erineva tingimuse täitmiseks. Koodi kirjutamise vorming või süntaks on:

Kui siis

Avaldus1

Muu:

Avaldus2

Lõpeta kui

Kui käitate allpool mainitud koodi, st kui lahter B4 sisaldab väärtust 7, kuvatakse teadeteboks, millel kuvatakse „Rakul B4 on väärtus 7”, ja kui lahter B4 sisaldab muud väärtust kui 7, saate teadeteboks, millel kuvatakse „Lahtri B4 väärtus on muu kui 7”.

Lahtris oleva väärtuse põhjal ilmneb siin erinev tulemus (st mitu tingimust).

Kood:

 Alam IF_THEN_ELSE () Kui vahemik ("B4"). Väärtus = "7". Siis MsgBox "Lahtril B4 on väärtus 7" Else MsgBox "Lahtril B4 on muu väärtus kui 7" Lõpeta, kui lõpp alam 

Nüüd sisaldab lahter “B4” väärtust 7, kui ma jooksen üle koodi, ilmub 1. tingimus.

Oletame, et muutsin lahtri “B4” väärtuse 7-lt 5-le, nagu allpool näidatud.

Kood:

 Alam IF_THEN_ELSE () Kui vahemik ("B4"). Väärtus = "5" Siis MsgBox "Lahtril B4 on väärtus 7" Else MsgBox "Lahtril B4 on muu väärtus kui 7" Lõpeta, kui lõpp alam 

Nii et kui ma jooksen üle VBA IF-THEN-ELSE koodi, ilmub teine ​​tingimus.

IF-THEN-ELSEIF-ELSE - näide # 3

See on VBA edasiarendatud vorm, kui avaldus, koodi kirjutamise formaat või süntaks on

KUI (tingimus 1 on tõene) Siis

(Avaldus1)

ELSEIF (tingimus 2 on tõene) Siis

(Avaldus2)

ELSE

(Avaldus3)

Lõpeta If

Selle koodi eeliseks on see, et ELSE IF-d saab vastavalt vajadusele kasutada üksikult või mitu korda (10 või 100 korda või rohkem).

Kood:

 Alam IF_THEN_ELSEIF_ELSE () Kui 5> 8, siis MsgBox "5 on suurem kui 8" ElseIf 6> 8 Siis MsgBox "6 on suurem kui 8" ElseIf 7> 8 Siis MsgBox "7 on suurem kui 8" Else MsgBox "5, 6 või 7 on väiksem kui 8 " 

Vaatame, kuidas ülaltoodud kood töötab, algatab või töötleb Excel esimese avalduse, kui ta märkab, et see on vale, liigub see järgmisele. Siin on kõik ElseIf-i argumendid või tingimus valed, seepärast jätkatakse, kuni tingimus on tõene ja lõpuks kuvatakse argumendi Else tulemus IF-lause lõpptulemusena. st MsgBox “5, 6 või 7 on väiksem kui 8”, mis on TRUE argument.

Kui valite ja käivitate koodi, klõpsates nuppu Run Sub või vajutades F5 . VBA-teadeteboksi hüpikaken, mille teade on „5, 6 või 7 on väiksem kui 8”, mis on tõeline argument

Nüüd saate need makrokoodid salvestada, nimetades ümber vahekaardi atribuutide nimeosas nimeks VBA_IF_STATEMENT

Asjad, mida meeles pidada

  • Kui kasutatakse lause IF IF ühte rida, siis pole lõpuks vaja kasutada lõpp-IF-d. Kuid kui me jagame selle mitmeks reaks, tuleb kasutada lause End If lauset.
  • VBA, IF-THEN-ELSEIF-ELSE avalduses tuleks ElseIf argumendid alati asetada Else argumendi ette.

Soovitatavad artiklid

See on VBA IF avalduste juhend. Siin arutati, kuidas kasutada IF-avaldusi koos Excel VBA-ga koos praktiliste näidete ja allalaaditava excelimalliga. Võite vaadata ka meie teisi soovitatud artikleid -

  1. VBA massiivid Excelis
  2. VBA numbrivormingu juhend
  3. VBA leidmise juhend
  4. Kuidas kasutada VBA funktsiooni Do While Loop?

Kategooria: