VBA On Error Exit Sub

În VBA, puteți programa codul dvs. pentru a ieși dintr-un sub ori de câte ori apare o eroare. Pentru a face acest lucru, utilizați La eroare GoTo și Ieșiți din Sub.

On Error Goto îi spune VBA că, atunci când se întâlnește o eroare, „Mergi la” o anumită secțiune din codul tău. Ex:

1 On Error GoTo ErrorHandler

Din secțiunea respectivă, puteți spune VBA să părăsească Sub pentru a părăsi procedura secundară:

12 ErrorHandler:Ieșiți din Sub

Citiți mai departe, pentru a vedea aceste linii de cod în acțiune …

Ieșiți dintr-o eroare secundară în VBA

În acest exemplu, vom genera o eroare împărțind la zero:

1 i = 5/0

Consultați codul complet de mai jos. Când VBA citește eroarea, va „trece” la secțiunea de cod ErrorHandler și va ieși:

123456789101112131415 Sub TestError ()Dim i IntegerOn Error GoTo ErrorHandleri = 5/0'Fă ceva cu iMsgBox iIeșiți din SubErrorHandler:MsgBox "Dacă eroare, apoi ieșiți din Sub"Ieșiți din SubSfârșitul Sub

Pentru a specifica gestionarea erorilor, trebuie mai întâi să declarați La eroare GoTo afirmație. Ar trebui să fie declarat la începutul unui Sub:

1 On Error GoTo ErrorHandler

După aceea, trebuie să declarați codul de tratare a erorilor. De obicei se află la sfârșitul codului:

123 ErrorHandler:MsgBox "Dacă eroare, apoi ieșiți din Sub"Ieșiți din Sub

Adăugăm „Exit Sub” deasupra ErrorHandler deoarece vrem să rulăm codul ErrorHandler numai dacă există o eroare.

12345 Ieșiți din SubErrorHandler:MsgBox "Dacă eroare, apoi ieșiți din Sub"Ieșiți din SubSfârșitul Sub

Dacă rulați Sub, va apărea o eroare din cauza împărțirii la zero. În acel moment, codul de gestionare a erorilor va fi executat. Apare caseta de mesaje și Sub este ieșită.

Imagine 1. VBA On Error Exit Sub

Dacă doriți să aflați cum să încheiați executarea codului în VBA, faceți clic pe acest link: VBA End

Dacă doriți să aflați cum să ieșiți dintr-un Sub sau Funcție, faceți clic pe acest link: VBA Exit Sub sau Function

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave