Kuinka käyttää If Else Statementia VBA: ssa? (esimerkkien kanssa)

Sisällysluettelo

Excel VBA IF muu lausunto

Laskentataulukossa ei ole IF Else -lauseketta ja sitä voidaan käyttää vain VBA-koodissa. VBA: ssa työskennellessä voimme tarjota ehdon, joka on If-ehto-käsky ja jos se täyttyy tietty joukko käskyjä, se suoritetaan ja jos ehto epäonnistuu käskyssä, sitten muu käsky suoritetaan.

VBA ei ole erilainen loogisten testien suhteen. Se toimii samalla tavalla kuin tavallisten laskentataulukoiden. Kaikista loogisista funktioista "IF" -funktiota käytetään enimmäkseen erästä. IF: n avulla voimme suorittaa loogisen testin ja tehdä päätöksiä, jos looginen testi on tyydyttävä, ja myös vaihtoehtoisia päätöksiä, jos looginen testi ei täyty.

Alla on IF Else -tilan syntaksit.

JOS Silloin jos looginen testi on TOSI Muu, jos looginen testi on EPÄTOSI Lopeta JOS

Mikä on VBA JOS sitten muu lausunto?

Kun toimitettu looginen testi on EPÄTOSI, tarvitsemme vaihtoehtoisen tehtävän suoritettavaksi osana koodia. Joten "JOS MUUTA" tarkoittaa, että jos looginen testi on EPÄTOSI, mitä muuta on tehtävä.

Alla olevan esimerkin ymmärtämiseksi paremmin olemme toimittaneet tuloksen "10 on suurempi" vain, jos looginen testi on TOSI. Silti loogisessa FALSE-tuloksessa voimme antaa vaihtoehtoisen tuloksen, koska "10 on pienempi".

Joten kun loogiset testit on toimitettu ja TOSI-osan koodi kirjoitettu seuraavalle riville, kirjoita sana ”ELSE”.

ELSE tarkoittaa, että jos looginen testi ei ole TOSI, tarvitsemme tuloksen, koska "10 on pienempi".

Koodi:

Sub IF_Else_Example1 () Jos 10> 11 Sitten MsgBox "10 on suurempi" Muu MsgBox "10 on pienempi" End If End Sub

Nyt koodimme antaa ainakin minkä tahansa yllä olevista tuloksista. Suorita koodi ja katso tulos.

Koska olemme toimittaneet vaihtoehtoisen tuloksen, jos looginen testi on EPÄTOSI, se on esittänyt vaihtoehtoisen tuloksen muodossa "10 on pienempi", koska 10 on pienempi kuin toinen luku 11.

Esimerkki

Katso esimerkiksi alla olevia tietoja.

Näiden tietojen avulla meidän on päästävä tilaan, joka perustuu kunkin tuotteen "kustannuksiin". Alla oleva tila on kriteerit.

Jos omakustannushinta on> 50, tilan tulisi olla " Kallis " tai muuten " Ei kallis ".

Tässä meidän on testattava omakustannushinta eli looginen testi, onko omakustannushinta> 50 vai ei. Jos looginen testi on TOSI, ts. Omakustannushinta on yli 50, tarvitsemme tilan ”Kallis”, ja jos looginen testi on EPÄTOSI, ts. Omakustannushinta on alle 50, tarvitsemme vaihtoehtoisen tuloksen "Ei kallis."

Ok, kirjoitetaan koodi nyt. Ennen sitä kopioi ja liitä yllä oleva taulukko Excel-laskentataulukkoon.

Vaihe 1: Aloita alimenettely.

Osa IF_ELSE_Example2 () End Sub

Vaihe 2: Ilmoita muuttuja kokonaislukutietotyypiksi.

Dim k kokonaislukuna

Vaihe 3: Koska meidän on testattava useampi kuin yksi soluarvo, meidän on käytettävä FOR VBA LOOP -silmukkaa silmukoiden läpi soluissa ja sovellettava logiikkaa kaikille soluille.

Meidän täytyy hakea loogisia testejä 2. krs 8 : nnen rivin, niin alkaa silmukkakytkentäjohdotukseen 2-8.

Koodi:

Jos k = 2 - 8 Seuraava k

Vaihe 4: Tämän silmukan sisällä meidän on suoritettava looginen testi. Joten avaa IF-käsky ja valitse ensimmäinen solu käyttämällä CELLS-ominaisuutta.

Koodi:

Jos solut (k, 2) .arvo> 50 Sitten

Tässä Solut (k, 2) tarkoittaa riviä (k: n arvo) ja saraketta 2.

Vaihe 5: Jos tämä soluarvo on> 50, tarvitsemme tuloksen ”Kalliiksi” seuraavassa sarakesolussa. Joten koodi on -

Koodi:

Solut (k, 3). Arvo = "kallista"

Vaihe 6: Jos testi ei ole TOSI, tarvitsemme ELSE-lauseen tulokset, ts. "Ei kallista".

Koodi:

Osa IF_ELSE_Example2 () Dim k kokonaislukuna k = 2-8 Jos solut (k, 2) .Arvo> 50 Sitten solut (k, 3) .Arvo = "Kallis" Muut solut (k, 3) .Arvo = "Ei Kallis "Loppu, jos seuraava k Loppu ali

Tämä koodi kulkee läpi 2. – 8. Rivi testaa numeroita ja saavuttaa tuloksen omakustannushinnan perusteella.

Näin voimme käyttää If-Elseä vaihtoehtoisten tulosten saamiseksi.

Muistettavaa

  • Muu lauseke on FALSE-loogista testiä varten.
  • Jos haluat käyttää enemmän kuin kahta loogista testiä Excelissä, meidän on käytettävä ELSE IF -käskyä.
  • Jos tehtävä suoritetaan useammalle kuin yhdelle solulle, meidän on käytettävä silmukoita.
  • Jos muu lause voi testata vain yhden loogisen testin.

Mielenkiintoisia artikkeleita...