VBA Avslutt sub eller funksjon

I VBA kan du avslutte en sub eller funksjon ved å bruke Avslutt Sub eller Avslutt funksjon kommandoer.

1 Avslutt Sub
1 Avslutt funksjon

Når kjøringen av koden kommer til Avslutt Sub eller Avslutt funksjon, vil den gå ut av en sub eller funksjon og fortsette med annen kodekjøring.

Hvis du vil lære å avslutte en Sub on Error, klikker du på denne lenken: VBA On Error Exit Sub

Hvis du vil lære å avslutte en hel kodekjøring, klikker du på denne lenken: VBA End

Avslutt en Sub i VBA

Du vil se på eksemplet hva som skjer når vi bruker Avslutt Sub kommando i en sub. Vi opprettet en Sub ExitSub, som har Avslutt Sub kommando inne. SubCallExitSub kaller dette Sub. Her er koden:

123456789101112131415161718 Private Sub ExitSub ()Dim i As IntegerFor i = 1 til 10Hvis i = 5 DaAvslutt SubMsgBox "Verdien av i er" og iSlutt omNeste jegSlutt SubPrivate Sub CallExitSub ()Ring ExitSubMsgBox "Exit Sub"Slutt Sub

I ExitSub, angir vi først For Loop hvis verdien av i er mindre enn 10:

123 For i = 1 til 10Neste jeg

Etter det sjekker vi om verdien av i er lik 5, ved hjelp av If -kommandoen. Hvis verdien er 5, vil vi gå ut av Sub og returnere meldingsboksen med verdien i:

1234 Hvis i = 5 DaAvslutt SubMsgBox "Verdien av i er" og iSlutt om

Hvis betingelsen ikke er oppfylt, øker følgende setning i med 1 og går inn i For -sløyfen igjen:

1 Neste jeg

I CallExitSub, kaller vi først Sub ExitSub:

1 Ring ExitSub

Etter det returnerer vi meldingsboksen:

1 MsgBox "Exit Sub"

Hvis du kjører CallExitSub, vil den først ringe til ExitSub. Hvis du kjører denne koden i feilsøkingsmodus, vil du se at den vil gå gjennom løkken 5 ganger. I 5th iterasjon, verdien av variabelen i blir 5 og koden kommer inn i If -kroppen. Nå er Sub ExitSub forlates og returneres til CallExitSub. Neste linje er MsgBox “Exit Sub”:

Som du kan se, ExitSub forlates rett etter Avslutt Sub kommando, så MsgBox “Verdien av i er” og i vil aldri bli henrettet.

Avslutt en funksjon i VBA

Å avslutte en funksjon i VBA ligner på å gå ut av en Sub, bare kommandoen er Avslutt funksjon. I eksemplet opprettet vi ExitFunc som returnerer et helt tall. Sub CallExitFunction kaller denne funksjonen. Her er koden:

1234567891011121314151617181920 Privat funksjon ExitFunc () som heltallDim i As IntegerFor i = 1 til 10Hvis i = 5 DaExitFunc = iAvslutt funksjonSlutt omNeste jegSluttfunksjonPrivate Sub CallExitFunction ()Dim intFunc som heltallintFunc = ExitFunction ()MsgBox "Verdien av intFunc er" & intFuncSlutt Sub

I ExitFunc, angir vi først For Loop hvis verdien av i er mindre enn 10:

123 For i = 1 til 10Neste jeg

Etter det sjekker vi om verdien av i er lik 5, ved hjelp av If -kommandoen. Hvis verdien er 5, tilordner vi verdien av i til funksjonsresultatet og avslutter funksjonen:

1234 Hvis i = 5 DaExitFunc = iAvslutt funksjonSlutt om

Hvis betingelsen ikke er oppfylt, øker følgende setning i med 1 og går inn i For -sløyfen igjen:

1 Neste jeg

I CallExitFunction, kaller vi først funksjonen ExitFunc: For å gjøre det må vi deklarere variabelen intFunc skriv heltall og tilordne resultatet av ExitFunc funksjon til det:

123 Dim intFunc som heltallintFunc = ExitFunction ()

Etter det returnerer vi meldingsboksen med verdien av intFunc:

1 MsgBox "Verdien av intFunc er" & intFunc

Hvis du kjører CallExitFunction, vil den først kalle funksjonen ExitFunc. Hvis du kjører denne koden i feilsøkingsmodus, vil du se at den vil gå gjennom løkken 5 ganger. I 5th iterasjon, verdien av variabelen i blir 5 og koden kommer inn i If -kroppen. Nå er verdien av ExitFunc blir i og funksjonen avsluttes og returneres til CallExitFunction. Neste linje er MsgBox “Verdien av intFunc er” og intFunc:

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave