I VBA, for å avslutte ALLE kodeutførelsen, bruk Slutt kommando.
1 | Slutt |
Når kjøringen av koden kommer til Slutt, vil den umiddelbart fullføre utførelsen og forlate programmet.
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 sub eller funksjon, klikker du på denne lenken: VBA Exit Sub eller Function
Avslutt alle koder i VBA
Du vil se på eksemplet hva som skjer når vi bruker Slutt kommando i VBA. Vi opprettet en Sub EndSub, som har Slutt kommando inne. Denne Sub kalles fra CallEndSub. Her er koden:
123456789101112131415161718 | Private Sub EndSub ()Dim i As IntegerFor i = 1 til 10Hvis i = 5 DaMsgBox "Verdien av i er" og iSluttSlutt omNeste jegSlutt SubPrivate Sub CallEndSub ()Ring EndSubMsgBox "End Sub"Slutt Sub |
I EndSub, 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, returnerer vi meldingsboksen med verdien av i og bruker kommandoen Slutt.
1234567 | Hvis i = 5 DaMsgBox "Verdien av i er" og iSluttSlutt 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 CallEndSub, kaller vi først Sub EndSub:
1 | Ring EndSub |
Etter det returnerer vi meldingsboksen:
1 | MsgBox "End Sub" |
Hvis du kjører CallEndSub, vil den først ringe til EndSub. 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 MsgBox “Verdien av i er” og i blir henrettet og Slutt etter det:
Bilde 1. VBA -slutt
Som du kan se, stoppes kodeutførelsen rett etter Slutt kommando, så MsgBox “End Sub” blir aldri henrettet.