Tartalomjegyzék
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.