↩️ On Error GoTo Label
В отличие от On Error Resume Next, который игнорирует ошибки, оператор On Error GoTo Label позволяет перенаправить выполнение кода в специальный блок для обработки ошибок.
🛠 Как это работает?
При возникновении ошибки после оператора On Error GoTo Label выполнение кода переключается на указанный Label (метку), где происходит обработка ошибки.
📌 Пример
❓ Зачем нужен On Error GoTo Label?
🔸 Позволяет перехватывать ошибки и выполнять альтернативные действия.
🔸 Позволяет идентифицировать ошибки для дальнейшего анализа.
🔸 Позволяет безопасно завершить макрос без внезапных остановок.
💡 Важно!
🔹 Если необходимо отключить обработку ошибок On Error GoTo Label внутри кода, используйте оператор On Error GoTo 0.
🔹 Не забывайте ставить Exit Sub перед меткой, чтобы код обработки ошибок не выполнялся в обычном режиме.
🔹 При отладке процедуры оператор On Error GoTo Label лучше закомментировать, чтобы VBA подсвечивал строку кода с ошибкой. 🔦
#VBA #ExcelVBA #OnError #GoTo #Label #ОбработкаОшибок
В отличие от On Error Resume Next, который игнорирует ошибки, оператор On Error GoTo Label позволяет перенаправить выполнение кода в специальный блок для обработки ошибок.
🛠 Как это работает?
При возникновении ошибки после оператора On Error GoTo Label выполнение кода переключается на указанный Label (метку), где происходит обработка ошибки.
📌 Пример
Sub Primer()
On Error GoTo ErrorHandler ' Переключаем обработку ошибок на метку ErrorHandler
Dim x As Double
x = 10 / 0 ' Ошибка: деление на ноль (division by zero)
MsgBox "Результат: " & x
Exit Sub ' Выход из процедуры, чтобы не выполнить код обработки ошибки
ErrorHandler: ' Метка для обработки ошибок
MsgBox "Ошибка №" & Err.Number & ": " & Err.Description, vbCritical, "Ошибка"
End Sub
❓ Зачем нужен On Error GoTo Label?
🔸 Позволяет перехватывать ошибки и выполнять альтернативные действия.
🔸 Позволяет идентифицировать ошибки для дальнейшего анализа.
🔸 Позволяет безопасно завершить макрос без внезапных остановок.
💡 Важно!
🔹 Если необходимо отключить обработку ошибок On Error GoTo Label внутри кода, используйте оператор On Error GoTo 0.
🔹 Не забывайте ставить Exit Sub перед меткой, чтобы код обработки ошибок не выполнялся в обычном режиме.
🔹 При отладке процедуры оператор On Error GoTo Label лучше закомментировать, чтобы VBA подсвечивал строку кода с ошибкой. 🔦
#VBA #ExcelVBA #OnError #GoTo #Label #ОбработкаОшибок
🔥2