VBA Afslut sub eller funktion

I VBA kan du afslutte en sub eller funktion ved at bruge Afslut Sub eller Afslut funktion kommandoer.

1 Afslut Sub
1 Afslut funktion

Når udførelsen af ​​koden kommer til Afslut Sub eller Afslut funktion, vil den afslutte en Sub eller Funktion og fortsætte med enhver anden kodeudførelse.

Hvis du vil lære at afslutte en Sub on Error, skal du klikke på dette link: VBA On Error Exit Sub

Hvis du vil lære at afslutte en hel kodeudførelse, skal du klikke på dette link: VBA End

Afslut en Sub i VBA

Du vil se på eksemplet, hvad der sker, når vi bruger Afslut Sub kommando i en sub. Vi har oprettet en Sub ExitSub, som har Afslut Sub kommando indeni. SubCallExitSub kalder dette Sub. Her er koden:

123456789101112131415161718 Private Sub ExitSub ()Dim i As IntegerFor i = 1 til 10Hvis i = 5 SåAfslut SubMsgBox "Værdien af ​​i er" & iAfslut HvisNæste iAfslut SubPrivat underopkaldExitSub ()Ring til ExitSubMsgBox "Exit Sub"Afslut Sub

I ExitSub, indtaster vi først For Loop, hvis værdien af ​​i er mindre end 10:

123 For i = 1 til 10Næste i

Derefter kontrollerer vi, om værdien af ​​i er lig med 5, ved hjælp af kommandoen If. Hvis værdien er 5, vil vi afslutte Sub og returnere meddelelsesboksen med værdien i:

1234 Hvis i = 5 SåAfslut SubMsgBox "Værdien af ​​i er" & iAfslut Hvis

Hvis betingelsen ikke er opfyldt, øges følgende sætning i med 1 og indtastes i For -loop igen:

1 Næste i

I CallExitSub, kalder vi først Sub ExitSub:

1 Ring til ExitSub

Herefter returnerer vi meddelelsesboksen:

1 MsgBox "Exit Sub"

Hvis du kører CallExitSub, vil den først kalde ExitSub. Hvis du udfører denne kode i fejlfindingstilstanden, vil du se, at den vil gå gennem løkken 5 gange. I den 5th iteration, værdien af ​​variablen i bliver 5, og koden indtastes i If -brødteksten. Nu er Sub ExitSub forlades og returneres til CallExitSub. Den næste linje er MsgBox “Exit Sub”:

Som du kan se, er ExitSub forlades lige efter Afslut Sub kommando, så MsgBox “Værdien af ​​i er” & i vil aldrig blive henrettet.

Afslut en funktion i VBA

Afslutning af en funktion i VBA ligner at forlade en Sub, bare kommandoen er Afslut funktion. I eksemplet oprettede vi ExitFunc som returnerer et helt tal. Sub CallExitFunction kalder denne funktion. Her er koden:

1234567891011121314151617181920 Privat funktion ExitFunc () som heltalDim i As IntegerFor i = 1 til 10Hvis i = 5 SåExitFunc = iAfslut funktionAfslut HvisNæste iAfslut funktionPrivate Sub CallExitFunction ()Dim intFunc som heltalintFunc = ExitFunction ()MsgBox "Værdien af ​​intFunc er" & intFuncAfslut Sub

I ExitFunc, indtaster vi først For Loop, hvis værdien af ​​i er mindre end 10:

123 For i = 1 til 10Næste i

Derefter kontrollerer vi, om værdien af ​​i er lig med 5, ved hjælp af kommandoen If. Hvis værdien er 5, tildeler vi værdien af ​​i til funktionsresultatet og forlader funktionen:

1234 Hvis i = 5 SåExitFunc = iAfslut funktionAfslut Hvis

Hvis betingelsen ikke er opfyldt, øges følgende sætning i med 1 og indtastes i For -loop igen:

1 Næste i

I CallExitFunction, kalder vi først funktionen ExitFunc: For at gøre det skal vi deklarere variablen intFunc skriv heltal og tildel resultatet af ExitFunc funktion til det:

123 Dim intFunc som heltalintFunc = ExitFunction ()

Derefter returnerer vi meddelelsesboksen med værdien intFunc:

1 MsgBox "Værdien af ​​intFunc er" & intFunc

Hvis du kører CallExitFunction, vil den først kalde funktionen ExitFunc. Hvis du udfører denne kode i fejlfindingstilstanden, vil du se, at den vil gå gennem løkken 5 gange. I den 5th iteration, værdien af ​​variablen i bliver 5, og koden indtastes i If -brødteksten. Nu er værdien af ExitFunc bliver til i, og funktionen forlades og returneres til CallExitFunction. Den næste linje er MsgBox “Værdien af ​​intFunc er” & intFunc:

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave