I VBA, för att avsluta ALL kodkörning, använd Slutet kommando.
1 | Slutet |
När körningen av koden kommer till Slutet, kommer det omedelbart att avsluta körningen och lämna programmet.
Om du vill lära dig hur du avslutar en Sub on Error, klicka på den här länken: VBA On Error Exit Sub
Om du vill lära dig hur du avslutar en del eller funktion, klicka på den här länken: VBA Avsluta sub eller funktion
Avsluta all kod i VBA
Du kommer att se i exemplet vad som händer när vi använder Slutet kommando i VBA. Vi skapade en Sub EndSub, som har Slutet kommando inuti. Denna sub kallas från CallEndSub. Här är koden:
123456789101112131415161718 | Private Sub EndSub ()Dim i As IntegerFör i = 1 till 10Om i = 5 DåMsgBox "Värdet på i är" & iSlutetAvsluta omNästa iAvsluta SubPrivate Sub CallEndSub ()Ring EndSubMsgBox "End Sub"Avsluta Sub |
I EndSub, anger vi först For Loop om värdet på i är mindre än 10:
123 | För i = 1 till 10Nästa i |
Efter det kontrollerar vi om värdet på i är lika med 5, med hjälp av kommandot If. Om värdet är 5 returnerar vi meddelanderutan med värdet i och använder kommandot Slutet.
1234567 | Om i = 5 DåMsgBox "Värdet på i är" & iSlutetAvsluta om |
Om villkoret inte är uppfyllt ökar följande sats i med 1 och går in i For -slingan igen:
1 | Nästa i |
I CallEndSub, vi kallar först Sub EndSub:
1 | Ring EndSub |
Efter det skickar vi tillbaka meddelanderutan:
1 | MsgBox "End Sub" |
Om du kör CallEndSub, det kommer först att ringa till EndSub. Om du kör den här koden i felsökningsläget ser du att den kommer att gå igenom slingan 5 gånger. I 5th iteration, värdet av variabeln i blir 5 och koden går in i If -kroppen. Nu den MsgBox “Värdet på i är” & i utförs och Slutet efter det:
Bild 1. VBA -slut
Som du kan se stoppas kodkörningen direkt efter Slutet kommando, så MsgBox “End Sub” utförs aldrig.