VBA -s saate alam- või funktsioonist väljuda, kasutades nuppu Välju sub või Välju funktsioon käske.
1 | Välju sub |
1 | Välju funktsioon |
Kui koodi täitmine jõuab Välju sub või Välju funktsioon, väljub see alam- või funktsioonist ning jätkab mis tahes muu koodi täitmist.
Kui soovite teada saada, kuidas veast alamrežiimist väljuda, klõpsake sellel lingil: VBA tõrke korral väljuge alamast
Kui soovite õppida, kuidas lõpetada kogu koodi täitmine, klõpsake sellel lingil: VBA lõpp
Väljuge subjektist VBA -s
Näete näitel, mis juhtub, kui kasutame Välju sub käsk alamosas. Lõime alamjaotuse ExitSub, millel on Välju sub käsk sees. SubCallExitSub nimetab seda subiks. Siin on kood:
123456789101112131415161718 | Private Sub ExitSub ()Dim i As täisarvI = 1 kuni 10Kui i = 5 siisVälju subMsgBox "i väärtus on" & iLõpp KuiEdasi iEnd SubPrivaatne alamkõneExitSub ()Helistage ExitSubileMsgBox "Välju alamest"End Sub |
Aastal ExitSub, sisestame esmalt silmuse jaoks, kui i väärtus on väiksem kui 10:
123 | I = 1 kuni 10Edasi i |
Pärast seda kontrollime käsu If abil, kas i väärtus on 5. Kui väärtus on 5, tahame alamast väljuda ja tagastada sõnumi kasti väärtusega i:
1234 | Kui i = 5 siisVälju subMsgBox "i väärtus on" & iLõpp Kui |
Kui tingimus ei ole täidetud, suurendab järgmine lause i 1 võrra ja siseneb uuesti ahelasse For:
1 | Edasi i |
Aastal CallExitSub, kutsume esmalt alamliikmeks ExitSub:
1 | Helistage ExitSubile |
Pärast seda tagastame sõnumikasti:
1 | MsgBox "Välju alamest" |
Kui käivitate CallExitSub, see helistab kõigepealt ExitSub. Kui käivitate selle koodi silumisrežiimis, näete, et see läbib silmuse 5 korda. 5 -sth iteratsiooni korral muutub muutuja i väärtuseks 5 ja kood sisestatakse Ifi kehasse. Nüüd Sub ExitSub väljub ja naaseb kausta CallExitSub. Järgmine rida on MsgBox „Välju alamest”:
Nagu näete, ExitSub lahkutakse kohe pärast seda Välju sub käsk, nii et MsgBox “i väärtus on” & i ei hukata kunagi.
Väljuge funktsioonist VBA -s
Funktsioonist väljumine VBA -s on sarnane Sub -ist väljumisega, lihtsalt käsk on Välju funktsioon. Näites lõime ExitFunc mis tagastab täisarvu. Sub CallExitFunction kutsub seda funktsiooni. Siin on kood:
1234567891011121314151617181920 | Privaatfunktsioon ExitFunc () täisarvunaDim i As täisarvI = 1 kuni 10Kui i = 5 siisExitFunc = iVälju funktsioonLõpp KuiEdasi iLõppfunktsioonPrivaatne alamkõneExitFunction ()Dim intFunc täisarvunaintFunc = ExitFunction ()MsgBox "IntFunci väärtus on" & intFuncEnd Sub |
Aastal ExitFunc, sisestame esmalt silmuse jaoks, kui i väärtus on väiksem kui 10:
123 | I = 1 kuni 10Edasi i |
Pärast seda kontrollime käsu If abil, kas i väärtus on 5. Kui väärtus on 5, määrame funktsiooni tulemusele i väärtuse ja väljume funktsioonist:
1234 | Kui i = 5 siisExitFunc = iVälju funktsioonLõpp Kui |
Kui tingimus ei ole täidetud, suurendab järgmine lause i 1 võrra ja siseneb uuesti ahelasse For:
1 | Edasi i |
Aastal CallExitFunction, kutsume kõigepealt funktsiooni ExitFunc: Selleks peame muutuja deklareerima intFunc tippige täisarv ja määrake ExitFunc selle funktsioon:
123 | Dim intFunc täisarvunaintFunc = ExitFunction () |
Pärast seda tagastame sõnumi kasti väärtusega intFunc:
1 | MsgBox "IntFunci väärtus on" & intFunc |
Kui käivitate CallExitFunction, see kutsub kõigepealt funktsiooni ExitFunc. Kui käivitate selle koodi silumisrežiimis, näete, et see läbib silmuse 5 korda. 5 -sth iteratsiooni korral muutub muutuja i väärtuseks 5 ja kood sisestatakse Ifi kehasse. Nüüd väärtus ExitFunc muutub i -ks ja funktsioon väljub ning naaseb CallExitFunction. Järgmine rida on MsgBox “IntFunci väärtus on” ja intFunc: