У VBA ви можете запрограмувати свій код для виходу з підзавантаження, коли виникає помилка. Для цього використовуйте Про помилку GoTo та Вийти з підп.
У разі помилки Goto повідомляє VBA, що при виявленні помилки потрібно перейти до певного розділу коду. Наприклад:
1 | Увімкніть помилку Перейдіть до ErrorHandler |
У цьому розділі ви можете сказати VBA, щоб вийти з Sub, щоб вийти з підпроцедури:
12 | ErrorHandler:Вийти з підп |
Читайте далі, щоб побачити ці рядки коду в дії …
Вийдіть із помилки Sub on VBA
У цьому прикладі ми будемо генерувати помилку діленням на нуль:
1 | i = 5/0 |
Повний код дивіться нижче. Коли VBA прочитає помилку, вона "перейде" до розділу коду ErrorHandler і вийде:
123456789101112131415 | Sub TestError ()Dim i як ціле числоУвімкніть помилку Перейдіть до ErrorHandleri = 5/0"Зробіть щось із iMsgBox iВийти з підпErrorHandler:MsgBox "Якщо помилка, то вийдіть з підрозділу"Вийти з підпEnd Sub |
Щоб вказати обробку помилок, спочатку потрібно оголосити Про помилку GoTo заяву. Його слід оголосити на початку підзаголовка:
1 | Увімкнути помилку Перейти до ErrorHandler |
Після цього вам потрібно оголосити код обробки помилок. Зазвичай це в кінці коду:
123 | ErrorHandler:MsgBox "Якщо помилка, то вийдіть із суб"Вийти з підп |
Ми додаємо “Exit Sub” над ErrorHandler, тому що ми хочемо запустити код ErrorHandler лише у разі помилки.
12345 | Вийти з підпErrorHandler:MsgBox "Якщо помилка, то вийдіть із суб"Вийти з підпEnd Sub |
Якщо ви запустите Sub, це призведе до помилки через поділ на нуль. У цей момент буде виконано код обробки помилок. З'явиться вікно з повідомленням, і Sub вийде.
Зображення 1. VBA про помилку Вихід з підп
Якщо ви хочете дізнатися, як завершити виконання коду у VBA, натисніть на це посилання: VBA End
Якщо ви хочете дізнатися, як вийти з підрозділу або функції, клацніть на цьому посиланні: VBA Вийти з суб -функції або функції