VBA If - Then - Else Statement Excelissä (4 esimerkkiä)

  • Jaa Tämä
Hugh West

Ehdollisia lausekkeita käytetään ohjelmointikielissä tiettyjen toimintojen suorittamiseen määritellystä ehdosta riippuen. Tässä artikkelissa näytämme sinulle, mitä on ehdollinen lauseke. If - Then - Else ehdollinen lauseke VBA Excel on ja miten sitä käytetään.

Lataa työkirja

Voit ladata ilmaisen harjoitus-Excel-työkirjan täältä.

If-Then-Else VBA.xlsm:ssa

Johdanto If - Then - Else -lausekkeeseen VBA:ssa

VBA If - Then - Else Ehdollista lauseketta käytetään pääasiassa päättämään ehtojen suoritusvirrasta. Jos ehto on tosi, suoritetaan tietty joukko toimintoja, ja jos ehto on epätosi, suoritetaan toinen joukko toimintoja.

  • Syntaksi
 If ehto Then [lausumat] [Else else_lausumat] 

Tai,

 If condition Then [statements] [Else [else_statements]] End If 

Tässä,

Argumentti Pakollinen/ Valinnainen Kuvaus
ehto Vaadittu Numeerinen lauseke tai merkkijonoilmaus, joka arvioi, onko ilmaus Totta tai False . Jos ehto on nolla, sen katsotaan olevan False .
lausunnot Valinnainen Yksirivinen lomake, jossa ei ole Else lauseke. Yksi tai useampi lauseke on erotettava kaksoispisteillä. Jos lauseke ehto on Totta , niin tämä lauseke suoritetaan.
else_statements Valinnainen Yksi tai useampi lausunto suoritetaan, jos aiempaa ehto on Totta .

4 esimerkkiä VBA If - Then - Else -lausekkeen käyttämisestä Excelissä

Tässä osiossa opit, miten käyttää If-Then-Else osoitteessa VBA koodi ja 4 esimerkkiä.

1. Etsi suurin luku kahden luvun väliltä If - Then - Else -lausekkeella.

Jos sinulla on kaksi lukua ja haluat selvittää, kumpi on suurempi (tai pienempi), voit käyttää funktiota If-Then-Else lausunto osoitteessa VBA .

Vaiheet:

  • Paina Alt + F11 näppäimistöllä tai siirry välilehdelle Kehittäjä -> Visual Basic avata Visual Basic Editor .

  • Valitse ponnahdusikkunan valikkoriviltä seuraava vaihtoehto Lisää -> Moduuli .

  • Kopioi seuraava koodi ja liitä se koodiikkunaan.
 Private Sub BiggestNumber() Dim Num1 As Integer Dim Num2 As Integer Num1 = 12345 Num2 = 12335 If Num1> Num2 Then MsgBox "1. luku on suurempi kuin 2. luku" ElseIf Num2> Num1 Then MsgBox "2. luku on suurempi kuin 1. luku" Else MsgBox "1. luku ja 2. luku ovat yhtä suuret" End If End Sub 

Koodisi on nyt valmis ajettavaksi.

Tässä vertaamme kahta lukua 12345 ja 12335 Tämä prosessi on yleensä täydellinen, kun etsitään suuria lukuja suuresta tietokokonaisuudesta.

  • Paina F5 näppäimistöllä tai valitse valikkoriviltä Suorita -> Suorita Sub/UserForm . Voit myös vain klikata pieni Play-kuvake alivalikkopalkissa makron suorittamiseksi.

Saat tuloksen Excelin MsgBox

Meidän tapauksessamme numero 12345 - tallennettu muuttujaan Num1 - on suurempi kuin luku 12335 , Num2 MsgBox osoittaa siis, että 1. numero on suurempi kuin 2. numero .

Lue lisää: Excel-kaava satunnaisluvun luomiseksi (5 esimerkkiä)

2. Opiskelijan tuloksen tarkistaminen If - Then - Else -lauseen avulla VBA:ssa

Voit tarkistaa, läpäiseekö opiskelija kokeen vai hylkääkö hän sen tällä lausekkeella. VBA koodi.

Vaiheet:

  • Samalla tavalla kuin ennenkin, avaa Visual Basic Editor alkaen Kehittäjä välilehti ja Lisää a Moduuli koodiikkunassa.
  • Kopioi koodiikkunaan seuraava koodi ja liitä se.
 Sub CheckResult() If Range("D5").Value> 33 Then MsgBox "John's Result is Pass" Else MsgBox "John's Result is Fail" End If End Sub 

Koodisi on nyt valmis ajettavaksi.

Tämä koodi tarkistaa, onko Cell D5 on arvo, joka on suurempi kuin 33 Jos se tekee niin, se näyttää yhden tulosteen, jos ei, se näyttää jotain muuta.

  • Suorita makro ja saat koodisi mukaisen tuloksen.

Katso yllä olevaa tietokokonaisuutta ja tulosta, Cell D5 pitää 95 mikä on varmasti enemmän kuin 33 , joten se näyttää Tulos on Pass . Mutta jos ajamme koodin Cell D7 (22), niin se näyttäisi toisin.

Lue lisää: VBA-tapausselosteen käyttö (13 esimerkkiä)

Samanlaisia lukemia

  • Kuinka käyttää lokifunktiota Excel VBA: ssa (5 sopivaa esimerkkiä)
  • Käytä VBA LTrim -funktiota Excelissä (4 esimerkkiä)
  • Kuinka käyttää VBA FileDateTime -funktiota Excelissä (3 käyttöä)
  • Käytä VBA Mod -operaattoria (9 esimerkkiä)
  • VBA EXP -funktio Excelissä (5 esimerkkiä)

3. Oppilaan arvosanan kommenttien päivittäminen käyttämällä useita If - Then - Else -lausekkeita VBA:ssa.

Olet oppinut, miten saada selville, onko oppilas läpäissyt vai ei, yhdellä kertaa. If-Then-Else lausunto, mutta tällä kertaa opit Useita If-Then-Else lausekkeet seuraavan esimerkin avulla.

Ajamme VBA koodi täyttää nämä Kommentti laatikot useiden ehtojen perusteella.

Vaiheet:

  • Samalla tavalla kuin ennenkin, avaa Visual Basic Editor alkaen Kehittäjä välilehti ja Lisää a Moduuli koodiikkunassa.
  • Kopioi koodiikkunaan seuraava koodi ja liitä se.
 Sub UpdateComment() For Each grade In Range("D5:D10") If grade = "A" Then grade.Offset(0, 1).Value = "Loistavaa työtä" ElseIf grade = "B" Then grade.Offset(0, 1).Value = "Jatka samaan malliin" ElseIf grade = "C" Then grade.Offset(0, 1).Value = "Parannusta kaipaa" Else grade.Offset(0, 1).Value = "Vanhempien tapaaminen" End If Next grade EndSub 

Koodisi on nyt valmis ajettavaksi.

Tämä koodi tulostaa kommentit oppilaiden saavuttaman arvosanan mukaan.

  • Suorita tätä koodia ja näet seuraavan kuvan, jossa kommenttiruudut on täytetty asianmukaisilla tuloksilla.

4. If-Then-Else-lauseke, jolla päivitetään Excelissä olevaan koodiin perustuvia kardinaaliohjeita.

Voit myös käyttää If-Then-Else löytää kardinaalisuunnat annetun tunnusluvun perusteella. Katso seuraavaa kuvaa, jossa selvitämme suunnat annettujen alkukirjainten perusteella.

Vaiheet:

  • Avaa Visual Basic Editor alkaen Kehittäjä välilehti ja Lisää a Moduuli koodiikkunassa.
  • Kopioi koodiikkunaan seuraava koodi ja liitä se.
 Sub UpdateDir() For Each iDirection In Range("B5:B8") If iDirection = "N" Then iDirection.Offset(0, 1).Value = "North" ElseIf iDirection = "S" Then iDirection.Offset(0, 1).Value = "South" ElseIf iDirection = "E" Then iDirection.Offset(0, 1).Value = "East" Else iDirection.Offset(0, 1).Value = "West" End If Next iDirection EndSub 

Koodisi on nyt valmis ajettavaksi.

  • Suorita tätä koodia, niin saat suuntanimet vastaaviin soluihin.

Tai jos haluat löytää vain yhden suunnan koodin perusteella, voit käyttää alla olevaa koodia.

 Sub UpdateDirections() Dim iDirection As String Dim iDirectionName As String iDirection = Range("B5").Value If iDirection = "N" Then iDirectionName = "North" ElseIf iDirection = "S" Then iDirectionName = "South" ElseIf iDirection = "E" Then iDirectionName = "East" Else iDirectionName = "West" End If Range("C5").Value = iDirectionName End Sub 

Tämä koodi ottaa arvon Cell B5 huomioon ja palauttaa sen mukaisen tuloksen Cell C5 .

Jos esimerkiksi kirjoitat " N " solussa Cell B5 , se antaa sinulle " North ; jos kirjoitat " S " solussa Cell B5 , se näyttää sinulle " Etelä " solussa Cell C5 .

Päätelmä

Tässä artikkelissa näytettiin, miten käyttää If - Then - Else lauseke Excelissä VBA Toivottavasti tästä artikkelista on ollut sinulle paljon hyötyä. Kysy rohkeasti, jos sinulla on aiheeseen liittyviä kysymyksiä.

Hugh West on erittäin kokenut Excel-kouluttaja ja analyytikko, jolla on yli 10 vuoden kokemus alalta. Hän on koulutukseltaan laskentatoimen ja rahoituksen kandidaatti sekä kauppatieteiden maisteri. Hughilla on intohimo opettamiseen, ja hän on kehittänyt ainutlaatuisen opetusmenetelmän, jota on helppo seurata ja ymmärtää. Hänen asiantuntemuksensa Excelistä on auttanut tuhansia opiskelijoita ja ammattilaisia ​​maailmanlaajuisesti parantamaan taitojaan ja menestymään urallaan. Blogissaan Hugh jakaa tietämyksensä maailman kanssa tarjoamalla ilmaisia ​​Excel-opetusohjelmia ja verkkokoulutusta auttaakseen yksilöitä ja yrityksiä saavuttamaan täyden potentiaalinsa.