↪️ On Error Resume Next
При выполнении макросов могут возникать ошибки: деление на ноль, отсутствие файла, неверные данные и т. д. Чтобы программа не прерывалась, можно использовать оператор On Error Resume Next – игнорирование ошибок в VBA.
📌 Пример
🛠 Как это работает?
🔹 Оператор On Error Resume Next включает обработчик ошибок, который игнорирует ошибки после него и позволяет коду продолжать выполнение.
🔹 После прохождения участка кода, где предполагалось игнорировать ошибки, желательно отключить обработку ошибок.
🔹 Оператор On Error GoTo 0 отключает обработчик ошибок и возвращает стандартное поведение VBA при обнаружении ошибок.
👍 Когда использовать?
🔹 Когда ошибка не критична и не должна прерывать выполнение кода.
🔹 При проверке существования файлов, листов, диапазонов.
🔹 В блоках кода, где ошибка не влияет на общий результат.
🚫 Не стоит использовать повсеместно! Это может скрывать важные ошибки, делая код сложным для отладки.
#VBA #ExcelVBA #OnError #ResumeNext #GoTo0 #ОбработкаОшибок
При выполнении макросов могут возникать ошибки: деление на ноль, отсутствие файла, неверные данные и т. д. Чтобы программа не прерывалась, можно использовать оператор On Error Resume Next – игнорирование ошибок в VBA.
📌 Пример
' Включаем игнорирование ошибок
On Error Resume Next
' Отключаем оповещения
Application.DisplayAlerts = False
Sheets("Оглавление").Delete
' Включаем оповещения
Application.DisplayAlerts = True
' Отключаем игнорирование ошибок
On Error GoTo 0
🛠 Как это работает?
🔹 Оператор On Error Resume Next включает обработчик ошибок, который игнорирует ошибки после него и позволяет коду продолжать выполнение.
🔹 После прохождения участка кода, где предполагалось игнорировать ошибки, желательно отключить обработку ошибок.
🔹 Оператор On Error GoTo 0 отключает обработчик ошибок и возвращает стандартное поведение VBA при обнаружении ошибок.
👍 Когда использовать?
🔹 Когда ошибка не критична и не должна прерывать выполнение кода.
🔹 При проверке существования файлов, листов, диапазонов.
🔹 В блоках кода, где ошибка не влияет на общий результат.
🚫 Не стоит использовать повсеместно! Это может скрывать важные ошибки, делая код сложным для отладки.
#VBA #ExcelVBA #OnError #ResumeNext #GoTo0 #ОбработкаОшибок
👍2🔥2