VBA bij fout Sub afsluiten

In VBA kunt u uw code programmeren om een ​​sub af te sluiten wanneer er een fout wordt aangetroffen. Gebruik hiervoor Bij fout Ga naar en Sluit sub.

On Error Goto vertelt VBA dat wanneer er een fout wordt aangetroffen om naar een specifiek gedeelte van uw code te gaan. Ex:

1 Bij fout Ga naar ErrorHandler

Vanuit die sectie kun je VBA vertellen om Sub af te sluiten om de subprocedure af te sluiten:

12 ErrorHandler:Sluit sub

Lees verder om deze coderegels in actie te zien…

Sluit een sub af bij fout in VBA

In dit voorbeeld genereren we een fout door te delen door nul:

1 ik = 5 / 0

Zie de volledige code hieronder. Wanneer VBA de fout leest, "gaat" het naar het ErrorHandler-gedeelte van de code en sluit het af:

123456789101112131415 Subtestfout ()Dim ik als geheel getalBij fout Ga naar ErrorHandlerik = 5 / 0'Doe iets met i'MsgBox iSluit subErrorHandler:MsgBox "Als er een fout is, verlaat dan de Sub"Sluit subEinde sub

Om foutafhandeling te specificeren, moet u eerst declareren Bij fout Ga naar uitspraak. Het moet aan het begin van een Sub worden gedeclareerd:

1 Bij fout Ga naar ErrorHandler

Daarna moet u de foutafhandelingscode declareren. Het staat meestal aan het einde van de code:

123 ErrorHandler:MsgBox "Als er een fout is, verlaat dan de Sub"Sluit sub

We voegen de "Exit Sub" toe boven de ErrorHandler omdat we de ErrorHandler-code alleen willen uitvoeren als er een fout is.

12345 Sluit subErrorHandler:MsgBox "Als er een fout is, verlaat dan de Sub"Sluit subEinde sub

Als u de Sub uitvoert, komt deze tot een fout vanwege deling door nul. Op dat moment wordt de foutafhandelingscode uitgevoerd. Het berichtvenster verschijnt en de Sub wordt afgesloten.

Afbeelding 1. VBA bij fout Sub afsluiten

Als u wilt leren hoe u code-uitvoering in VBA kunt beëindigen, klikt u op deze link: VBA End

Als je wilt leren hoe je een Sub of Functie afsluit, klik dan op deze link: VBA Exit Sub of Functie

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave