Excel VBA IF -lausunnot

IF-lause VBA-koodissa on yksi yleisimmin käytetyistä, joiden avulla voit tehdä valinnan. IF-funktio VBA: ssa on erilainen verrattuna EXCEL IF -toimintoon, ts. Excel IF -toiminnossa tai kaavassa tarkistetaan, arvioidaanko annettu ehto tai kriteeri TOSSI tai Väärä ja palauttaa sitten arvon arvioinnin perusteella, kun taas VBA IF -käsky suorittaa vain ensimmäisen puolet lausunnosta, ts. tarkista, arvioidaanko ehto TOSSI tai Väärä, lisäksi VBA IF -käskyyn on syötettävä TÄTÄ lausunto jäljellä olevan toiminnan tai tehtävän suorittamiseksi.

Kolme parametria, jotka sinun on otettava huomioon tai pidettävä mielessä kirjoitettaessa VBA IF -käskykoodia.

  • Testattava tila tai parametri.
  • Toimenpide tai tehtävä, joka suoritetaan, jos ehto on Tosi.
  • Toimenpide tai tehtävä, joka suoritetaan, jos ehto on Väärä

Se on päätöksentekolauseke, jota käytetään koodilohkon suorittamiseen.

Se suorittaa tehtävän tai operaation, kun ehto on Tosi, muuten älä tee mitään tai tee jotain muuta. Yleensä if-lause koostuu Boolen lausekkeesta, jota seuraa lauseet (Se voi olla yksi tai useita).

Yksinkertainen monimutkaiseen tilaan voidaan kirjoittaa VBA IF -käskyyn.

Alla esitetään erityyppisiä VBA IF -lausekkeita syntaksineen ja esimerkkeineen.

IF-lausuntotyypitSyntaksi
JOS SITTENJos sitten (lausunto)

Loppu Jos

TAI MUUTENJos sitten (lausunto1)

else:

(Lause2)

Loppu Jos

JOS ELSEIFJOS sitten

(Lause1)

ELSEIF Sitten

(Lause2)

Loppu Jos

MUUT JA ELSEIF

(ELSEIF-lausunnon on oltava etusijalla sen jälkeen, kun ELSEIF)

JOS (ehto 1 on totta) Sitten

(Lause1)

ELSEIF ( ehto2 on totta) Sitten

(Lause2)

ELSE

(Statement3)

Loppu Jos

JOS ILMAINEN ENDIF

(vain yksirivinen koodi)

Käytetään, kun ELSE- tai ELSE IF -käskyä ei käytetä

JOS (ehto on totta) Sitten (lausunto)

Yllä olevan lausunnon lisäksi voidaan käyttää myös NESTED IF -lauseketta, ts. If- tai ELSEIF-lausetta toisen if- tai ELSEIF-lauseen sisällä.

Kuinka käyttää IF-lausuntoja Excel VBA: ssa?

Opimme VBA IF -lausekkeiden tyyppejä ja käyttöä ja muutamia esimerkkejä Excelistä.

Voit ladata tämän VBA IF -lausekkeiden Excel -mallin täältä - VBA IF Statements Excel -mallin
  • Avaa VB Editor -ikkuna. Valitse tai napsauta Visual Basic Koodiryhmässä Kehittäjä- välilehdellä tai voit napsauttaa suoraan Alt + F11 -pikanäppäintä.

  • Tämä vie meidät Visual Basic -koodausikkunaan. Siirry nyt Lisää-valikkoon VBA-ikkunassa ja valitse moduuli alla olevan kuvan mukaisesti.

  • Nyt tyhjä moduuli on luotu, sitä kutsutaan myös koodi-ikkunaksi, josta voit aloittaa kirjoittamisen, jos lausekoodeja.

VBA, JOS TÄTÄ lausunto - Esimerkki # 1

JOS TÄTÄ on yksinkertainen muoto VBA-lausunnosta. Koodin kirjoitusmuoto on:

Jos sitten

Sinun tulisi käyttää vastaavaa End If -lauseketta sen jälkeen, kun olet syöttänyt yllä olevan syntaksin . Kun ehto täyttyy tai kriteerit arvioivat totta, kaikki If: n ja End If: n väliset rivit käsitellään.

Kun kirjoitat Sub IF_THEN () ensimmäisenä viestinä ilman lainauksia sen ympärillä, voit tarkkailla, Excel lisää automaattisesti rivin loppuosan ensimmäisen viestirivin alle, kun painat Enter. Nyt kaikkien antamiesi koodien on oltava näiden kahden rivin välissä.

Koodi:

 Sub IF_THEN () Jos 3> 2 Silloin MsgBox "3 on suurempi kuin 2" End If End Sub 

Tarkastellaan yllä olevaa koodia, jossa on yksi rivi IF-käskyä, joka tarkistaa tai tarkistaa arvon 3.

Jos arvo “3” on suurempi kuin “2”, esiin tulee ponnahdusviesti, jossa on viesti, ts. “3 on suurempi kuin 2”. Jos muutat VBA-koodissa arvon 2: sta 5: ksi ja suoritat sen, mitään ei tapahdu. Koska 3 ei ole suurempi kuin 5.

Voit suorittaa makron napsauttamalla Suorita ala- painiketta tai painamalla F5 . Näkyviin tulee VBA-sanomaikkunan ponnahdusikkuna, jonka sanoma ”3 on suurempi kuin 2”

VBA IF-THEN-ELSE -lausunto - esimerkki 2

Tässä skenaariossa IF & ELSE -käskyä käytetään suorittamaan kaksi erilaista ehtoa. Koodin kirjoitusmuoto tai syntaksi on:

Jos sitten

lause1

else:

lause2

Loppu Jos

JOS JOS suoritat alla mainitun koodin, ts. Jos solu B4 sisältää arvon 7, saat viestiruudun, jossa näkyy ”Solulla B4 on arvo 7” ja jos solu B4 sisältää muun arvon kuin 7, niin saat viestiruutu, jossa näkyy ”Solun B4 arvo on muu kuin 7”.

Tässä solussa olevan arvon perusteella tapahtuu erilainen tulos (ts. Useampi kuin yksi ehto).

Koodi:

 Sub IF_THEN_ELSE () Jos alue ("B4"). Arvo = "7" Sitten MsgBox "Solulla B4 on arvo 7" Else MsgBox "Solulla B4 on muu arvo kuin 7" End If End Sub 

Nyt solu “B4” sisältää arvon 7, jos ajaen koodin yläpuolella, ensimmäinen ehto tulee näkyviin.

Oletetaan, että muutin solun “B4” arvon 7: stä 5: ksi alla olevan kuvan mukaisesti.

Koodi:

 Sub IF_THEN_ELSE () Jos alue ("B4"). Arvo = "5" Sitten MsgBox "Solulla B4 on arvo 7" Else MsgBox "Solulla B4 on muu arvo kuin 7" End If End Sub 

Joten jos juoksen VBA IF-THEN-ELSE -koodin yläpuolella, toinen ehto tulee näkyviin.

IF-THEN-ELSEIF-ELSE - Esimerkki 3

Se on VBA: n edistynyt muoto, jos lause, muodon tai syntaksin kirjoittaa koodi on

JOS (ehto 1 on totta) Sitten

(Lause1)

ELSEIF ( ehto2 on totta) Sitten

(Lause2)

ELSE

(Statement3)

Loppu Jos

Tämän koodin etuna on, että ELSE IF -laitetta voidaan käyttää yksittäin tai useita kertoja (10 tai 100 kertaa tai enemmän) vaatimuksesi mukaan.

Koodi:

 Sub IF_THEN_ELSEIF_ELSE () Jos 5> 8 Sitten MsgBox "5 on suurempi kuin 8" ElseIf 6> 8 Sitten MsgBox "6 on suurempi kuin 8" ElseIf 7> 8 Sitten MsgBox "7 on suurempi kuin 8" Else MsgBox "5, 6 tai 7 on vähemmän kuin 8 "End If End Sub 

Katsotaanpa, miten yllä oleva koodi toimii, Excel käynnistää tai käsittelee ensimmäisen lauseen, kun huomaa, että se on väärä, sitten se siirtyy seuraavaan. Tässä kaikki ElseIf-argumentit tai ehto ovat vääriä, joten se etenee, kunnes ehto on totta ja lopuksi Else-argumentin tulos näytetään IF-lauseen lopputuloksena. eli MsgBox “5, 6 tai 7 on pienempi kuin 8”, mikä on Tosi argumentti.

Kun valitset ja suoritat koodin napsauttamalla Suorita ala- painiketta tai painamalla F5 . VBA-sanomaikkunan ponnahdusikkuna, jossa viesti on 5, 6 tai 7 on alle 8), mikä on todellinen argumentti

Nyt voit tallentaa nämä makrokoodit nimeämällä uudelleen nimellä VBA_IF_STATEMENT Ominaisuudet-välilehden nimi-osioon

Muistettavat asiat

  • Kun käytetään IF-lausekkeen yhtä riviä, End IF: tä ei tarvitse viimeinkin käyttää. Mutta kun jaamme sen useampaan kuin yhteen riviin, on käytettävä End If -käskyä.
  • VBA, IF-THEN-ELSEIF-ELSE -käskyssä ElseIf-argumentit tulisi aina asettaa ennen Else-argumentteja.

Suositellut artikkelit

Tämä on opas VBA: n IF-lausuntoihin. Tässä keskustelimme siitä, kuinka IF-lauseita voidaan käyttää Excel VBA: ssa, käytännön esimerkkien ja ladattavan Excel-mallin kanssa. Voit myös käydä läpi muiden ehdottamiemme artikkeleidemme -

  1. VBA-taulukot Excelissä
  2. Opas VBA-numeromuotoon
  3. Opas VBA-hakuun
  4. Kuinka käyttää VBA Do While Loop -sovellusta?

Luokka: