VBA If - Then - Else nyilatkozat az Excelben (4 példa)

  • Ossza Meg Ezt
Hugh West

A feltételes utasításokat arra használják, hogy a programozási nyelvekben a megadott feltételtől függően egy sor műveletet hajtsanak végre. Ebben a cikkben megmutatjuk, hogy mi az, hogy If - Then - Else feltételes utasítás a VBA Excel és hogyan kell használni.

Munkafüzet letöltése

Az ingyenes gyakorló Excel munkafüzetet innen töltheti le.

If-Then-Else a VBA.xlsm-ben

Bevezetés az If - Then - Else utasításba a VBA-ban

VBA If - Then - Else A feltételes utasítás elsősorban a feltételek végrehajtási folyamatának eldöntésére szolgál. Ha a feltétel igaz, akkor egy bizonyos műveletsorozat kerül végrehajtásra, ha pedig a feltétel hamis, akkor egy másik műveletsorozat kerül végrehajtásra.

  • Szintaxis
 If feltétel Then [utasítások] [Else else_utasítások] 

Vagy,

 If feltétel Then [statements] [Else [else_statements]] End If 

Tessék,

Érv Kötelező/ fakultatív Leírás
feltétel Kötelező Egy numerikus kifejezés vagy egy karakterlánc-kifejezés, amely kiértékeli, hogy a kifejezés Igaz vagy Hamis Ha a feltétel nulla, úgy tekintik, hogy Hamis .
nyilatkozatok Opcionális Egysoros űrlap, amely nem rendelkezik Else Egy vagy több utasítást kettősponttal kell elválasztani egymástól. Ha a feltétel a Igaz , akkor ez az utasítás végrehajtásra kerül.
else_statements Opcionális Egy vagy több utasítás végrehajtásra kerül, ha nincs korábbi feltétel a Igaz .

4 példa a VBA If - Then - Else utasítás használatára az Excelben

Ebben a szakaszban megtanulja, hogyan használja a If-Then-Else a oldalon. VBA kód 4 példával.

1. A legnagyobb szám keresése két szám között If - Then - Else utasítással

Ha van két szám, és meg akarod találni, hogy melyik a nagyobb (vagy kisebb), akkor használhatod a If-Then-Else nyilatkozat a VBA .

Lépések:

  • Sajtó Alt + F11 a billentyűzeten, vagy lépjen a Fejlesztő -> Visual Basic kinyitni Visual Basic szerkesztő .

  • A felugró kódablakban a menüsorban kattintson a Beszúrás -> Modul .

  • Másolja ki az alábbi kódot, és illessze be a kódablakba.
 Private Sub BiggestNumber() Dim Num1 As Integer Dim Num2 As Integer Num1 = 12345 Num2 = 12335 If Num1> Num2 Then MsgBox "Az első szám nagyobb, mint a második szám" ElseIf Num2> Num1 Then MsgBox "A második szám nagyobb, mint az első szám" Else MsgBox "Az első és a második szám egyenlő" End If End Sub 

A kódja most már futtatásra kész.

Itt két számot hasonlítunk össze 12345 és 12335 , hogy kiderüljön, melyik a nagyobb. Ez az eljárás általában tökéletesen alkalmas arra, hogy nagy számokat találjunk egy nagy adathalmazban.

  • Sajtó F5 a billentyűzeten, vagy válassza a menüsorból a Futtatás -> Sub/UserForm futtatása . Egyszerűen csak kattints a kis Play ikon az almenüsorban a makró futtatásához.

Az eredményt az Excel MsgBox

A mi esetünkben a szám 12345 - változóban tárolt Num1 - nagyobb, mint a 12335 , Num2 Az MsgBox tehát azt mutatja, hogy a Az 1. szám nagyobb, mint a 2. szám .

Tovább: Excel képlet véletlen szám generálására (5 példa)

2. A tanulói eredmény ellenőrzése If - Then - Else utasítás használatával a VBA-ban

Ezzel a kijelentéssel ellenőrizheti, hogy egy hallgató átmegy-e vagy megbukik egy vizsgán a VBA kód.

Lépések:

  • Ugyanúgy, mint korábban, nyissa meg Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • A kódablakban másolja ki és illessze be a következő kódot.
 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 

A kódod most már futtatásra kész.

Ez a kód ellenőrzi, hogy a Cell D5 olyan értéket tartalmaz, amely nagyobb, mint 33 Ha igen, akkor egy kimenetet fog mutatni, ha nem, akkor valami mást.

  • Fuss a makrót, és a kódjának megfelelő eredményt kapja.

Nézzük meg a fenti adatkészletet az eredménnyel, Cell D5 a tartalma: 95 ami minden bizonnyal több, mint 33 , ezért jeleníti meg a Az eredmény Pass De ha lefuttatjuk a Cell D7 (22), akkor másképp jelenik meg.

Bővebben: Hogyan használjuk a VBA Case Statement (13 példa)

Hasonló olvasmányok

  • Hogyan használjuk a Log funkciót az Excel VBA-ban (5 megfelelő példa)
  • A VBA LTrim funkció használata az Excelben (4 példa)
  • A VBA FileDateTime funkció használata az Excelben (3 felhasználás)
  • VBA Mod operátor használata (9 példa)
  • VBA EXP funkció Excelben (5 példa)

3. Kommentek frissítése a tanulói osztályzatban több If - Then - Else utasítás használatával a VBA-ban

Megtanultad, hogyan lehet kivonni, hogy egy diák passzol-e vagy sem egyetlen If-Then-Else utasítás, de ezúttal a Többszörös If-Then-Else utasítások a következő példával.

Futtatni fogunk egy VBA kódot, hogy kitöltse ezeket Comment dobozok több feltétel alapján.

Lépések:

  • Ugyanúgy, mint korábban, nyissa meg Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • A kódablakban másolja ki és illessze be a következő kódot.
 Sub UpdateComment() For Each grade In Range("D5:D10") If grade = "A" Then grade.Offset(0, 1).Value = "Nagyszerű munka" ElseIf grade = "B" Then grade.Offset(0, 1).Value = "Csak így tovább" ElseIf grade = "C" Then grade.Offset(0, 1).Value = "Fejlesztésre szorul" Else grade.Offset(0, 1).Value = "Szülő-tanár találkozó" End If Next grade EndSub 

A kódja most már futtatásra kész.

Ez a kód a diákok által elért osztályzatnak megfelelő megjegyzéseket nyomtat ki.

  • Fuss ezt a kódot, és lásd a következő képet, ahol a megjegyzések mezőit a megfelelő eredmények töltik ki.

4. If-Then-Else utasítás a kardinális irányok frissítésére az Excel kódja alapján

Használhatja a If-Then-Else hogy a megadott jelzőkód alapján megtaláljuk a kardinális irányokat. Nézd meg a következő képet, ahol a megadott kezdőbetűk alapján találjuk meg az irányokat.

Lépések:

  • Nyissa meg a címet. Visual Basic szerkesztő a Fejlesztő lap és Beillesztés a Modul a kódablakban.
  • A kódablakban másolja ki és illessze be a következő kódot.
 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 

A kódja most már futtatásra kész.

  • Fuss ezt a kódot, és megkapja az irányok nevét a megfelelő cellákban.

Vagy ha csak egy irányt szeretne megtalálni a kód alapján, akkor használhatja az alábbi kódot.

 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 

Ez a kód a Cell B5 figyelembe, és ennek megfelelően adja vissza az eredményt a Cell C5 .

Például, ha azt írja, hogy " N " in Cell B5 , akkor a " Észak ; ha azt írja " S " in Cell B5 , megmutatja neked " Dél " in Cell C5 .

Következtetés

Ez a cikk megmutatta, hogyan kell használni a If - Then - Else utasítás az Excelben a VBA . remélem, hogy ez a cikk nagyon hasznos volt számodra. Nyugodtan kérdezz, ha bármilyen kérdésed van a témával kapcsolatban.

Hugh West nagy tapasztalattal rendelkező Excel-oktató és elemző, több mint 10 éves tapasztalattal az iparágban. Számvitel és pénzügy szakos alapdiplomát, valamint üzleti adminisztrációból mesterképzést szerzett. Hugh szenvedélye a tanítás, és egyedülálló tanítási megközelítést dolgozott ki, amely könnyen követhető és érthető. Az Excelben szerzett szakértői tudása világszerte több ezer diáknak és szakembernek segített abban, hogy készségeiket és karrierjüket kiválóan teljesítsék. Hugh blogján keresztül megosztja tudását a világgal, ingyenes Excel-oktatóanyagokat és online képzéseket kínálva, hogy segítse az egyéneket és a vállalkozásokat teljes potenciáljuk kibontakoztatásában.