I VBA skal du afslutte ALLE kodeudførelser ved hjælp af Ende kommando.
1 | Ende |
Når udførelsen af koden kommer til Ende, vil den straks afslutte udførelsen og forlade programmet.
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 sub eller funktion, skal du klikke på dette link: VBA Exit Sub eller Function
Afslut alle koder i VBA
Du vil se på eksemplet, hvad der sker, når vi bruger Ende kommando i VBA. Vi har oprettet en Sub EndSub, som har Ende kommando indeni. Denne Sub kaldes fra CallEndSub. Her er koden:
123456789101112131415161718 | Private Sub EndSub ()Dim i As IntegerFor i = 1 til 10Hvis i = 5 SåMsgBox "Værdien af i er" & iEndeAfslut HvisNæste iAfslut SubPrivate Sub CallEndSub ()Ring til EndSubMsgBox "End Sub"Afslut Sub |
I EndSub, 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, returnerer vi meddelelsesboksen med værdien i og bruger kommandoen Ende.
1234567 | Hvis i = 5 SåMsgBox "Værdien af i er" & iEndeAfslut 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 CallEndSub, kalder vi først Sub EndSub:
1 | Ring til EndSub |
Herefter returnerer vi meddelelsesboksen:
1 | MsgBox "End Sub" |
Hvis du kører CallEndSub, vil den først kalde EndSub. 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 MsgBox “Værdien af i er” & i udføres og Ende efter det:
Billede 1. VBA End
Som du kan se, stoppes kodeudførelsen lige efter Ende kommando, så MsgBox “End Sub” bliver aldrig henrettet.