VBA izejas apakšfunkcija vai funkcija

VBA varat iziet no apakšfunkcijas vai funkcijas, izmantojot Iziet no apakšnodaļas vai Iziet funkcija komandas.

1 Iziet no apakšnodaļas
1 Iziet funkcija

Kad tiek izpildīts kods Iziet no apakšnodaļas vai Iziet funkcija, tas izies no apakšgrupas vai funkcijas un turpinās ar jebkuru citu koda izpildi.

Ja vēlaties uzzināt, kā iziet no apakšbāzes kļūdas dēļ, noklikšķiniet uz šīs saites: VBA On Error Exit Sub

Ja vēlaties uzzināt, kā pārtraukt visa koda izpildi, noklikšķiniet uz šīs saites: VBA beigas

Iziet no apakšprogrammas VBA

Par piemēru jūs redzēsiet, kas notiek, kad mēs izmantojam Iziet no apakšnodaļas komandu apakšnodaļā. Mēs izveidojām apakšnodaļu ExitSub, kurai ir Iziet no apakšnodaļas komanda iekšā. ApakšdaļaCallExitSub sauc šo apakšnodaļu. Šeit ir kods:

123456789101112131415161718 Private Sub ExitSub ()Dim i As IntegerJa i = 1 līdz 10Ja i = 5, tadIziet no apakšnodaļasMsgBox "i vērtība ir" & iBeigas JaTālāk iBeigu apakšPrivāts apakšzvansExitSub ()Zvaniet ExitSubMsgBox "Exit Sub"Beigu apakš

Iekš ExitSub, vispirms ievadām cilpu For, ja i vērtība ir mazāka par 10:

123 Ja i = 1 līdz 10Tālāk i

Pēc tam mēs pārbaudām, vai i vērtība ir vienāda ar 5, izmantojot komandu If. Ja vērtība ir 5, mēs vēlamies iziet no apakšgrupas un atgriezt lodziņu Ziņojums ar i vērtību:

1234 Ja i = 5, tadIziet no apakšnodaļasMsgBox "i vērtība ir" & iBeigas Ja

Ja nosacījums nav izpildīts, šāds paziņojums palielina i par 1 un atkal tiek ievadīts cilnē For:

1 Tālāk i

Iekš CallExitSub, mēs vispirms izsaucam Sub ExitSub:

1 Zvaniet ExitSub

Pēc tam mēs atgriežam ziņojumu lodziņu:

1 MsgBox "Exit Sub"

Ja jūs vadāt CallExitSub, tas vispirms izsauks ExitSub. Ja izpildīsit šo kodu atkļūdošanas režīmā, jūs redzēsit, ka tas iet cauri cilpai 5 reizes. 5tūkst iterācija, mainīgā i vērtība kļūst par 5 un kods tiek ievadīts If korpusā. Tagad Sub ExitSub tiek iziets un atgriezts CallExitSub. Nākamā rinda ir MsgBox “Exit Sub”:

Kā redzat, ExitSub tiek iziets uzreiz pēc tam Iziet no apakšnodaļas komanda, tāpēc MsgBox “i vērtība ir” un i nekad netiks izpildīts.

Iziet no funkcijas VBA

Funkcijas iziešana VBA ir līdzīga iziešanai no Sub, tikai komanda ir Iziet funkcija. Piemērā mēs izveidojām ExitFunc kas atgriež veselu skaitli. Apakšdaļa CallExitFunction izsauc šo funkciju. Šeit ir kods:

1234567891011121314151617181920 Privātā funkcija ExitFunc () kā vesels skaitlisDim i As IntegerJa i = 1 līdz 10Ja i = 5, tadExitFunc = iIziet funkcijaBeigas JaTālāk iBeigu funkcijaPrivāts apakšzvansExitFunction ()Dim intFunc Kā vesels skaitlisintFunc = ExitFunction ()MsgBox "IntFunc vērtība ir" & intFuncBeigu apakš

Iekš ExitFunc, vispirms ievadām cilpu For, ja i vērtība ir mazāka par 10:

123 Ja i = 1 līdz 10Tālāk i

Pēc tam mēs pārbaudām, vai i vērtība ir vienāda ar 5, izmantojot komandu If. Ja vērtība ir 5, mēs piešķiram i vērtību funkcijas rezultātam un izejam no funkcijas:

1234 Ja i = 5, tadExitFunc = iIziet funkcijaBeigas Ja

Ja nosacījums nav izpildīts, šāds paziņojums palielina i par 1 un atkal tiek ievadīts cilnē For:

1 Tālāk i

Iekš CallExitFunction, vispirms izsaucam funkciju ExitFunc: Lai to izdarītu, mums ir jādeklarē mainīgais intFunc ierakstiet veselu skaitli un piešķiriet rezultātu ExitFunc funkcija tam:

123 Dim intFunc Kā vesels skaitlisintFunc = ExitFunction ()

Pēc tam mēs atgriežam lodziņu Ziņojums ar vērtību intFunc:

1 MsgBox "IntFunc vērtība ir" & intFunc

Ja jūs vadāt CallExitFunction, tas vispirms izsauks funkciju ExitFunc. Ja izpildīsit šo kodu atkļūdošanas režīmā, jūs redzēsit, ka tas iet cauri cilpai 5 reizes. 5tūkst iterācija, mainīgā i vērtība kļūst par 5 un kods tiek ievadīts If korpusā. Tagad vērtība ExitFunc kļūst par i, un funkcija tiek aizvērta un atgriezta CallExitFunction. Nākamā rinda ir MsgBox “IntFunc vērtība ir” un intFunc:

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave