VBA Exit Sub tai Function

VBA: ssa voit poistua ala- tai toiminnosta käyttämällä Lopeta Sub tai Lopeta toiminto komentoja.

1 Lopeta Sub
1 Lopeta toiminto

Kun koodin suoritus tulee Lopeta Sub tai Lopeta toiminto, se poistuu aliosasta tai toiminnosta ja jatkaa minkä tahansa muun koodin suorittamisen kanssa.

Jos haluat oppia poistumaan Sub -virheestä, napsauta tätä linkkiä: VBA On Error Exit Sub

Jos haluat oppia lopettamaan koko koodin suorittamisen, napsauta tätä linkkiä: VBA End

Poistu Sub VBA: sta

Näet esimerkistä, mitä tapahtuu, kun käytämme Lopeta Sub komento sub. Loimme Subin ExitSub, jolla on Lopeta Sub komento sisällä. SubSoitaExitSub kutsuu tätä Subiksi. Tässä on koodi:

123456789101112131415161718 Private Sub ExitSub ()Dim i Kuten kokonaislukuI = 1-10Jos i = 5 niinLopeta SubMsgBox "i: n arvo on" & iLoppu JosSeuraavaksi minäEnd SubYksityinen alipuheluExitSub ()Soita ExitSubMsgBox "Exit Sub"End Sub

Kohteessa ExitSub, syötetään ensin For Loop, jos i: n arvo on alle 10:

123 I = 1-10Seuraavaksi minä

Tämän jälkeen tarkistamme If -komennolla, onko i: n arvo 5. Jos arvo on 5, haluamme poistua Sub -osiosta ja palauttaa Viesti -ruudun, jonka arvo on i:

1234 Jos i = 5 niinLopeta SubMsgBox "i: n arvo on" & iLoppu Jos

Jos ehto ei täyty, seuraava lause kasvaa i: llä 1: llä ja siirtyy uudelleen For -silmukkaan:

1 Seuraavaksi minä

Kohteessa SoitaExitSub, soitamme ensin Subille ExitSub:

1 Soita ExitSub

Palautamme sen jälkeen Viesti -ruudun:

1 MsgBox "Exit Sub"

Jos suoritat SoitaExitSub, se soittaa ensin ExitSub. Jos suoritat tämän koodin virheenkorjaustilassa, näet, että se menee silmukan läpi 5 kertaa. 5: ssäth iteraatio, muuttujan i arvoksi tulee 5 ja koodi tulee If -runkoon. Nyt Sub ExitSub poistuu ja palautetaan SoitaExitSub. Seuraava rivi on MsgBox "Exit Sub":

Kuten näette, ExitSub poistuu heti sen jälkeen Lopeta Sub komento, joten MsgBox “i: n arvo on” & i ei koskaan teloiteta.

Poistu toiminnosta VBA: ssa

Toiminnon poistuminen VBA: sta on samanlainen kuin Sub -osasta poistuminen, vain komento on Lopeta toiminto. Esimerkissä loimme ExitFunc joka palauttaa kokonaisluvun. Sub CallExitFunction kutsuu tätä toimintoa. Tässä on koodi:

1234567891011121314151617181920 Yksityinen toiminto ExitFunc () kokonaislukunaDim i Kuten kokonaislukuI = 1-10Jos i = 5 niinExitFunc = iLopeta toimintoLoppu JosSeuraavaksi minäLopeta toimintoYksityinen alipuheluExitFunction ()Dim intFunc kokonaislukunaintFunc = ExitFunction ()MsgBox "intFuncin arvo on" & intFuncEnd Sub

Kohteessa ExitFunc, syötetään ensin For Loop, jos i: n arvo on alle 10:

123 I = 1-10Seuraavaksi minä

Tämän jälkeen tarkistamme If -komennolla, onko i: n arvo 5. Jos arvo on 5, määritämme funktion tulokseen arvon i ja poistumme toiminnosta:

1234 Jos i = 5 niinExitFunc = iLopeta toimintoLoppu Jos

Jos ehto ei täyty, seuraava lause kasvaa i: llä 1: llä ja siirtyy uudelleen For -silmukkaan:

1 Seuraavaksi minä

Kohteessa CallExitFunction, kutsumme ensin funktiota ExitFunc: Tätä varten meidän on ilmoitettava muuttuja intFunc kirjoita kokonaisluku ja määritä ExitFunc toiminto sille:

123 Dim intFunc kokonaislukunaintFunc = ExitFunction ()

Tämän jälkeen palautamme Viesti -ruudun, jonka arvo on intFunc:

1 MsgBox "IntFuncin arvo on" & intFunc

Jos suoritat CallExitFunction, se kutsuu ensin toiminnon ExitFunc. Jos suoritat tämän koodin virheenkorjaustilassa, näet, että se menee silmukan läpi 5 kertaa. 5: ssäth iteraatio, muuttujan i arvoksi tulee 5 ja koodi tulee If -runkoon. Nyt arvo ExitFunc tulee i ja funktio poistuu ja palautetaan CallExitFunction. Seuraava rivi on MsgBox “IntFuncin arvo on” ja intFunc:

Tulet auttaa kehittämään sivuston jakaminen sivu ystävillesi

wave wave wave wave wave