VBA vid fel Avsluta sub

Innehållsförteckning

I VBA kan du programmera din kod till Exit a Sub när ett fel uppstår. För att göra detta, använd Vid fel GoTo och Avsluta Sub.

Vid fel berättar Goto för VBA att när ett fel uppstår vid "Gå till" ett specifikt avsnitt i din kod. Ex:

1 Vid fel GoTo ErrorHandler

Från det avsnittet kan du sedan säga till VBA att avsluta sub för att avsluta delproceduren:

12 ErrorHandler:Avsluta Sub

Läs vidare för att se dessa kodrader i aktion …

Avsluta en Sub on Error i VBA

I det här exemplet genererar vi ett fel genom att dividera med noll:

1 i = 5/0

Se hela koden nedan. När VBA läser felet kommer det att "gå" till ErrorHandler -delen av koden och avsluta:

123456789101112131415 Sub TestError ()Dim i As IntegerVid fel GoTo ErrorHandleri = 5/0'Gör något med iMsgBox iAvsluta SubErrorHandler:MsgBox "Om fel, avsluta sedan Sub"Avsluta SubAvsluta Sub

För att ange felhantering måste du först deklarera Vid fel GoTo påstående. Det bör deklareras i början av en del:

1 Vid fel GoTo ErrorHandler

Därefter måste du deklarera felhanteringskoden. Det är vanligtvis i slutet av koden:

123 ErrorHandler:MsgBox "Om fel, avsluta sedan Sub"Avsluta Sub

Vi lägger till "Exit Sub" ovanför ErrorHandler eftersom vi bara vill köra ErrorHandler -koden om det finns ett fel.

12345 Avsluta SubErrorHandler:MsgBox "Om fel, avsluta sedan Sub"Avsluta SubAvsluta Sub

Om du kör Sub kommer det att bli ett fel på grund av division med noll. I det ögonblicket körs felhanteringskoden. Meddelandefältet visas och suben avslutas.

Bild 1. VBA vid fel Avsluta sub

Om du vill lära dig hur du avslutar kodkörning i VBA, klicka på den här länken: VBA End

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

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave