VBA Kilépés al- vagy funkció

A VBA -ban kiléphet egy al- vagy funkciófunkcióból a Kilépés a Subból vagy Kilépés funkció parancsokat.

1 Kilépés a Subból
1 Kilépés funkció

Amikor elérkezik a kód végrehajtása Kilépés a Subból vagy Kilépés funkció, kilép egy al vagy funkcióból, és folytatja bármely más kódfuttatást.

Ha szeretné megtudni, hogyan lépjen ki egy alhibából, kattintson erre a linkre: VBA On Error Exit Sub

Ha szeretné megtudni, hogyan fejezhető be egy teljes kódfuttatás, kattintson erre a linkre: VBA End

Kilépés a VBA -ból

A példán látni fogja, mi történik, amikor a Kilépés a Subból parancsot egy almenüben. Létrehoztunk egy alosztályt ExitSub, amely rendelkezik a Kilépés a Subból parancsoljon belül. Az alCallExitSub ezt Subnak hívja. Itt a kód:

123456789101112131415161718 Private Sub ExitSub ()Dim i As IntegerI = 1 és 10 közöttHa i = 5 akkorKilépés a SubbólMsgBox "Az i értéke" & iVége HaKövetkező iEnd SubPrivát alhívásExitSub ()Hívja az ExitSub -otMsgBox "Kilépés al"End Sub

Ban,-ben ExitSub, először akkor írjuk be a For ciklusba, ha az i értéke kevesebb, mint 10:

123 I = 1 és 10 közöttKövetkező i

Ezt követően az If paranccsal ellenőrizzük, hogy i értéke egyenlő -e 5 -tel. Ha az érték 5, akkor ki akarunk lépni az alszámból, és vissza kell adni az Üzenet mezőt az i értékkel:

1234 Ha i = 5 akkorKilépés a SubbólMsgBox "Az i értéke" & iVége Ha

Ha a feltétel nem teljesül, akkor a következő utasítás 1 -gyel növeli az i -t, és újra belép a For ciklusba:

1 Következő i

Ban,-ben CallExitSub, először a Sub -t hívjuk ExitSub:

1 Hívja az ExitSub -ot

Ezt követően visszaadjuk az Üzenet mezőt:

1 MsgBox "Kilépés al"

Ha futtatja a CallExitSub, először hívja a ExitSub. Ha ezt a kódot hibakeresési módban hajtja végre, látni fogja, hogy ötször megy keresztül a cikluson. Az 5 -benth iteráció esetén az i változó értéke 5 lesz, és a kód bekerül az If törzsbe. Most a Sub ExitSub kilép és visszatér a CallExitSub. A következő sor az MsgBox „Kilépés al”:

Mint látható, a ExitSub azonnal kilép Kilépés a Subból parancs, így a MsgBox „Az i értéke” és i soha nem fogják kivégezni.

Lépjen ki egy funkcióból a VBA -ban

A VBA -ból való kilépés hasonló a Sub -ból való kilépéshez, csak a parancs Kilépés funkció. A példában létrehoztuk a ExitFunc ami egy egész számot ad vissza. Az al CallExitFunction hívja ezt a funkciót. Itt a kód:

1234567891011121314151617181920 Privát funkció ExitFunc () mint egészDim i As IntegerI = 1 és 10 közöttHa i = 5 akkorExitFunc = iKilépés funkcióVége HaKövetkező iVége funkcióPrivát alhívásExitFunction ()Dim intFunc mint egészintFunc = ExitFunction ()MsgBox "Az intFunc értéke" & intFuncEnd Sub

Ban,-ben ExitFunc, először akkor írjuk be a For ciklusba, ha az i értéke kevesebb, mint 10:

123 I = 1 és 10 közöttKövetkező i

Ezt követően az If paranccsal ellenőrizzük, hogy i értéke egyenlő -e 5 -tel. Ha az érték 5, akkor az i értékét hozzárendeljük a függvény eredményéhez, és kilépünk a függvényből:

1234 Ha i = 5 akkorExitFunc = iKilépés funkcióVége Ha

Ha a feltétel nem teljesül, akkor a következő utasítás 1 -gyel növeli az i -t, és újra belép a For ciklusba:

1 Következő i

Ban,-ben CallExitFunction, először hívjuk a függvényt ExitFunc: Ehhez deklarálnunk kell a változót intFunc írja be az egész számot, és rendelje hozzá a ExitFunc funkció hozzá:

123 Dim intFunc mint egészintFunc = ExitFunction ()

Ezt követően visszaadjuk az Üzenet mezőt a értékkel intFunc:

1 MsgBox "Az intFunc értéke" & intFunc

Ha futtatja a CallExitFunction, először meghívja a függvényt ExitFunc. Ha ezt a kódot hibakeresési módban hajtja végre, látni fogja, hogy ötször megy keresztül a cikluson. Az 5 -benth iteráció esetén az i változó értéke 5 lesz, és a kód bekerül az If törzsbe. Most az értéke ExitFunc i lesz, és a funkció kilép, és visszatér a CallExitFunction. A következő sor az MsgBox „Az intFunc értéke:” és intFunc:

Segít a fejlesztés a helyszínen, megosztva az oldalt a barátaiddal

wave wave wave wave wave