I VBA kan du programmere koden til Exit a Sub når det oppstår en feil. For å gjøre dette, bruk På feil GoTo og Avslutt Sub.
On Error forteller Goto til VBA at når det oppstår en feil med "Gå til" en bestemt del av koden din. Eks:
1 | På feil GoTo ErrorHandler |
Innenfor den delen kan du deretter be VBA om å avslutte sub for å avslutte delprosedyren:
12 | ErrorHandler:Avslutt Sub |
Les videre for å se disse kodelinjene i bruk …
Avslutt en Sub on Error i VBA
I dette eksemplet vil vi generere en feil ved å dividere med null:
1 | i = 5/0 |
Se hele koden nedenfor. Når VBA leser feilen, vil den "gå" til ErrorHandler -delen av koden og avslutte:
123456789101112131415 | Sub TestError ()Dim i As IntegerPå feil GoTo ErrorHandleri = 5/0'Gjør noe med jegMsgBox iAvslutt SubErrorHandler:MsgBox "Hvis feil, avslutt Sub"Avslutt SubSlutt Sub |
For å spesifisere feilhåndtering må du først deklarere På feil GoTo uttalelse. Det bør deklareres i begynnelsen av en under:
1 | På feil GoTo ErrorHandler |
Etter det må du deklarere feilhåndteringskoden. Det er vanligvis på slutten av koden:
123 | ErrorHandler:MsgBox "Hvis feil, avslutt Sub"Avslutt Sub |
Vi legger til "Exit Sub" over ErrorHandler fordi vi bare vil kjøre ErrorHandler -koden hvis det er en feil.
12345 | Avslutt SubErrorHandler:MsgBox "Hvis feil, avslutt Sub"Avslutt SubSlutt Sub |
Hvis du kjører Sub, kommer det til en feil på grunn av divisjon med null. I det øyeblikket vil feilhåndteringskoden bli utført. Meldingsboksen vises og Sub er avsluttet.
Bilde 1. VBA ved feil Avslutt sub
Hvis du vil lære hvordan du avslutter kodeutførelse i VBA, klikker du på denne lenken: VBA End
Hvis du vil lære å avslutte en sub eller funksjon, klikker du på denne lenken: VBA Exit Sub eller Function