VBA išėjimo sub arba funkcija

VBA galite išeiti iš antrinės dalies ar funkcijos naudodami Išeiti iš Sub arba Išėjimo funkcija komandas.

1 Išeiti iš Sub
1 Išėjimo funkcija

Kai ateina kodo vykdymas Išeiti iš Sub arba Išėjimo funkcija, jis išeis iš poskyrio ar funkcijos ir toliau vykdys bet kokį kitą kodo vykdymą.

Jei norite sužinoti, kaip išeiti iš klaidos klavišo, spustelėkite šią nuorodą: VBA On Error Exit Sub

Jei norite sužinoti, kaip užbaigti viso kodo vykdymą, spustelėkite šią nuorodą: VBA pabaiga

Išeikite iš „Sub“ VBA

Pavyzdyje pamatysite, kas atsitinka, kai naudojame Išeiti iš Sub komandą „Sub“. Mes sukūrėme sub „ExitSub“, kuris turi Išeiti iš Sub komandą viduje. Sub„CallExitSub“ vadina tai Sub. Čia yra kodas:

123456789101112131415161718 Privatus antrinis išėjimasSub ()Dim i As IntegerJei i = nuo 1 iki 10Jei i = 5, tadaIšeiti iš Sub„MsgBox“ „i reikšmė yra“ ir „i“Pabaiga JeiKitas I.Pabaiga SubPrivatus antrinis skambutisExitSub ()Skambinkite „ExitSub“„MsgBox“ „Exit Sub“Pabaiga Sub

Viduje konors „ExitSub“, pirmiausia įvedame „For Loop“, jei i reikšmė yra mažesnė nei 10:

123 Jei i = nuo 1 iki 10Kitas I.

Po to mes patikriname, ar i reikšmė lygi 5, naudodami komandą If. Jei vertė yra 5, norime išeiti iš „Sub“ ir grąžinti pranešimo laukelį su i reikšme:

1234 Jei i = 5, tadaIšeiti iš Sub„MsgBox“ „i reikšmė yra“ ir „i“Pabaiga Jei

Jei sąlyga neįvykdyta, šis teiginys padidina i 1 ir vėl įveda į ciklą For:

1 Kitas I.

Viduje konors „CallExitSub“, pirmiausia vadiname Sub „ExitSub“:

1 Skambinkite „ExitSub“

Po to grąžiname pranešimo laukelį:

1 „MsgBox“ „Exit Sub“

Jei paleisite „CallExitSub“, pirmiausia jis paskambins „ExitSub“. Jei vykdysite šį kodą derinimo režimu, pamatysite, kad jis eis per ciklą 5 kartus. 5 -ametūkst iteraciją, kintamojo i reikšmė tampa 5 ir kodas įvedamas į If kūną. Dabar „Sub“ „ExitSub“ išeina ir grįžta į „CallExitSub“. Kita eilutė yra „MsgBox“ „Exit Sub“:

Kaip matote, „ExitSub“ išeina iš karto po to Išeiti iš Sub komanda, todėl „MsgBox“ „i reikšmė yra“ ir i niekada nebus įvykdyta.

Išeikite iš funkcijos VBA

Išėjimas iš funkcijos VBA yra panašus į išėjimą iš „Sub“, tik komanda Išėjimo funkcija. Pavyzdyje mes sukūrėme „ExitFunc“ kuris grąžina sveiką skaičių. Sub „CallExitFunction“ vadina šią funkciją. Čia yra kodas:

1234567891011121314151617181920 Privati ​​funkcija ExitFunc () kaip sveikasis skaičiusDim i As IntegerJei i = nuo 1 iki 10Jei i = 5, tada„ExitFunc“ = iIšėjimo funkcijaPabaiga JeiKitas I.Pabaigos funkcijaPrivatus antrinis skambutisExitFunction ()„Dim intFunc As Integer“intFunc = ExitFunction ()„MsgBox“ „IntFunc“ vertė yra „& intFunc“Pabaiga Sub

Viduje konors „ExitFunc“, pirmiausia įvedame „For Loop“, jei i reikšmė yra mažesnė nei 10:

123 Jei i = nuo 1 iki 10Kitas I.

Po to mes patikriname, ar i reikšmė lygi 5, naudodami komandą If. Jei vertė yra 5, funkcijos rezultatui priskiriame i reikšmę ir išeiname iš funkcijos:

1234 Jei i = 5, tada„ExitFunc“ = iIšėjimo funkcijaPabaiga Jei

Jei sąlyga neįvykdyta, šis teiginys padidina i 1 ir vėl įveda į ciklą For:

1 Kitas I.

Viduje konors „CallExitFunction“, pirmiausia vadiname funkcija „ExitFunc“: Norėdami tai padaryti, turime deklaruoti kintamąjį intFunc įveskite sveikąjį skaičių ir priskirkite rezultatą „ExitFunc“ funkcija tam:

123 „Dim intFunc As Integer“intFunc = ExitFunction ()

Po to grąžiname pranešimo laukelį su reikšme intFunc:

1 „MsgBox“ „IntFunc“ vertė yra „& intFunc“

Jei paleisite „CallExitFunction“, pirmiausia iškvies funkciją „ExitFunc“. Jei vykdysite šį kodą derinimo režimu, pamatysite, kad jis eis per ciklą 5 kartus. 5 -ametūkst iteraciją, kintamojo i reikšmė tampa 5 ir kodas įvedamas į If kūną. Dabar vertė „ExitFunc“ tampa i, o funkcija išjungiama ir grąžinama į „CallExitFunction“. Kita eilutė yra „MsgBox“ „intFunc vertė yra“ ir „intFunc“:

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave