Във VBA можете да програмирате кода си за излизане от Sub, когато възникне грешка. За да направите това, използвайте При грешка GoTo и Изход от Sub.
При грешка Goto казва на VBA, че когато се срещне грешка, трябва да отидете на „Отиди до“ определен раздел от кода ви. Пример:
1 | На грешка GoTo ErrorHandler |
След това в този раздел можете да кажете на VBA да излезе от Sub, за да излезе от подпроцедурата:
12 | ErrorHandler:Изход от Sub |
Прочетете, за да видите тези редове код в действие …
Излезте от грешка на Sub on във VBA
В този пример ще генерираме грешка, като разделим на нула:
1 | i = 5 /0 |
Вижте пълния код по -долу. Когато VBA прочете грешката, тя ще "отиде" в раздела ErrorHandler на кода и ще излезе:
123456789101112131415 | Sub TestError ()Dim i As IntegerНа грешка GoTo ErrorHandleri = 5 /0„Направи нещо с iMsgBox iИзход от SubErrorHandler:MsgBox "Ако грешка, след това излезте от Sub"Изход от SubEnd Sub |
За да посочите обработката на грешки, първо трябва да декларирате При грешка GoTo изявление. Трябва да се декларира в началото на подзаглавие:
1 | На грешка GoTo ErrorHandler |
След това трябва да декларирате кода за обработка на грешки. Обикновено е в края на кода:
123 | ErrorHandler:MsgBox "Ако грешка, след това излезте от Sub"Изход от Sub |
Добавяме „Exit Sub“ над ErrorHandler, защото искаме да стартираме ErrorHandler кода само ако има грешка.
12345 | Изход от SubErrorHandler:MsgBox "Ако грешка, след това излезте от Sub"Изход от SubEnd Sub |
Ако стартирате Sub, той ще дойде до грешка поради делението на нула. В този момент кодът за обработка на грешки ще бъде изпълнен. Появява се полето със съобщение и Sub излиза.
Изображение 1. VBA при грешка Изход Sub
Ако искате да научите как да прекратите изпълнението на код във VBA, щракнете върху тази връзка: VBA End
Ако искате да научите как да излезете от под -функция или функция, щракнете върху тази връзка: VBA изход от под -функция или функция