VBA -s saate oma koodi programmeerida Subist väljumiseks, kui ilmneb tõrge. Selleks kasutage Viga GoTo ja Välju sub.
On Error ütleb Goto VBA -le, et kui ilmneb tõrge teie koodi teatud jaotises „Mine”. Näiteks:
1 | Viga GoTo ErrorHandler |
Selles jaotises saate seejärel öelda VBA -le, et alamprotseduurist väljumiseks väljuda:
12 | ErrorHandler:Välju sub |
Nende koodiridade toimimise nägemiseks lugege edasi …
Väljuge VBA -s vea alamast
Selles näites genereerime vea, jagades nulliga:
1 | i = 5 /0 |
Vaadake täielikku koodi allpool. Kui VBA loeb viga, läheb see koodi ErrorHandleri sektsiooni ja väljub:
123456789101112131415 | Alamkatse viga ()Dim i As täisarvViga GoTo ErrorHandleri = 5 /0'Tehke midagi i -gaMsgBox iVälju subErrorHandler:MsgBox "Kui viga, siis väljuge alamast"Välju subEnd Sub |
Vigade käsitlemise määramiseks peate esmalt deklareerima Viga GoTo avaldus. See tuleks deklareerida alamosa alguses:
1 | Viga GoTo ErrorHandler |
Pärast seda peate veakäsitluskoodi deklareerima. Tavaliselt on see koodi lõpus:
123 | ErrorHandler:MsgBox "Kui viga, siis väljuge alamast"Välju sub |
Lisame ErrorHandleri kohale „Exit Sub”, kuna tahame tõrke korral käivitada ainult ErrorHandler koodi.
12345 | Välju subErrorHandler:MsgBox "Kui viga, siis väljuge alamast"Välju subEnd Sub |
Kui käivitate Subi, ilmneb see nulliga jagamise tõttu veale. Sel hetkel käivitatakse veakäsitluskood. Ilmub sõnumikast ja alamosa väljub.
Pilt 1. VBA tõrke korral väljuge alamosast
Kui soovite õppida, kuidas VBA -s koodi täitmist lõpetada, klõpsake seda linki: VBA lõpp
Kui soovite õppida alam- või funktsioonist väljumist, klõpsake sellel lingil: VBA välju alam- või funktsioonist