Excel VBA Err Объект
Если вы не знакомы с ссылка: / VBA-примеры ошибок обработки [Обработка ошибок]
тем не менее, мы настоятельно рекомендуем вам прочитать этот пример первым. При возникновении ошибки в Excel VBA, свойство объекта Err заполнены информацией.
Ситуация:
Ниже программа вычисляет квадратный корень из числа.
-
Поместите командную кнопку
на листе и добавьте следующие строки кода:
Dim rng As Range, cell As Range Set rng = Selection For Each cell In rng On Error GoTo InvalidValue: cell.Value = Sqr(cell.Value) Next cell Exit Sub InvalidValue: MsgBox Err.Number & " " & Err.Description & " at cell " & cell.Address Resume Next
Результат при выборе Range ( «B2: B6») и нажмите кнопку команды на листе:
Объяснение: при возникновении ошибки, число свойства объекта Err заполнено с уникальным номером ошибки текущей ошибки и описанием имуществом заполняются с описанием ошибки текущей ошибки.
-
Эти описания не могут быть очень полезны для пользователей вашей программы. Вы можете сделать сообщения об ошибках более дружественной к пользователю, изменив последнюю часть макроса следующим образом:
InvalidValue: Select Case Err.Number Case Is = 5 MsgBox "Can't calculate square root of negative number at cell " & cell.Address Case Is = 13 MsgBox "Can't calculate square root of text at cell " & cell.Address End Select Resume Next
Подсказка: пройти через нашу ссылку: / VBA-примеры-выбор регистр [Select Case]
программы для более узнать о структуре Select Case.
Результат: