Якщо ви ще не знайомі з обробкою помилок, ми настійно рекомендуємо вам спочатку прочитати цей приклад. Коли помилка в Excel VBA має властивості Об'єкт Err наповнені інформацією.
Ситуація:
Нижче наведена програма обчислює квадратний корінь з чисел.
1. Помістіть кнопку команди на своєму аркуші та додайте такі рядки коду:
Dim rng As Range, клітинка As Range
Встановити rng = Вибір
Для кожної клітинки В rng
Помилка Перейти до InvalidValue:
cell.Value = Sqr (cell.Value)
Наступна клітина
Вийти з підп
Недійсне значення:
MsgBox Err.Number & "" & Err.Description & "at cell" & cell.Address
Відновити далі
Результат, коли ви вибираєте Діапазон ("B2: B6") і натискаєте кнопку команди на аркуші:
Пояснення: коли виникає помилка, властивість number об’єкта Err заповнюється унікальним номером помилки поточної помилки, а властивість Description - описом помилки поточної помилки.
2. Ці описи можуть бути не дуже корисними для користувачів вашої програми. Ви можете зробити повідомлення про помилки більш зручними для користувачів, змінивши останню частину макросу наступним чином:
Недійсне значення:
Виберіть Ер. Номер справи
Випадок = 5
MsgBox "Не вдається обчислити квадратний корінь з від'ємного числа в клітинці" & комірка. Адреса
Випадок = 13
MsgBox "Не вдається обчислити квадратний корінь тексту в клітинці" & cell.Address
Кінець Виберіть
Відновити далі
Порада: перегляньте нашу програму Select Case, щоб дізнатися більше про структуру Select Case.
Результат: