Code execution has been interrupted - что за баг?
Иногда при выполнении вполне рабочего кода может возникнуть ошибка "Code execution has been interrupted":
чаще всего она появляется в циклах (это
И главное:
Я знаю два способа.
Перед выполнением кода поставить строку:
Application.EnableCancelKey = xlDisabled |
а после выполнения(перед End Sub или в любом месте, где может произойти выход из процедуры) её вернуть:
Application.EnableCancelKey = xlEnabled |
чем не нравится данный метод мне лично: свойство EnableCancelKey отвечает за возможность обработки нажатия клавиш при выполнении кода. Значение xlDisabled переводит VBA в режим "глухой обороны" - т.е. он не будет реагировать ни на какие нажатия пока не завершится выполнение кода. Догадались, чем это чревато? Правильно: если вдруг попали в бесконечный цикл или захотели прервать выполнение - ничего не получится, т.к. сочетание
После появления ошибки нажмите Debug, затем
Главное жать не
Если знаете еще способы устранения ошибки - делитесь в комментариях - это обязательно поможет кому-то спасти нервы и силы и в карму вам плюсанется :)
Статья помогла? Поделись ссылкой с друзьями!

Поиск по меткам
Access apple watch Multex Power Query и Power BI VBA управление кодами Бесплатные надстройки Дата и время Записки Надстройки Печать Политика Конфиденциальности Почта Программы Работа с приложениями Разработка приложений Тренинги и вебинары Финансовые Форматирование Функции Excel акции MulTEx ссылкиКомментарии, не имеющие отношения к комментируемой статье, могут быть удалены без уведомления и объяснения причин. Если есть вопрос по личной проблеме - добро пожаловать на Форум
Спасибо огромное!
Спасибо. Второй способ помог. Не представляю как можно было досооброжать до такого неочевидного решения)
Это режим отладки включенный.
Попробуйте прожать еще раз Ctrl+Break
Евгений, Вы бы статью прочитали для начала, прежде чем комментарий оставлять :) Этот баг проявляется редко и ни о каком режиме отладки речи не идет. Рассматривается ситуация, когда код просто запущен стандартным методом или через кнопку и появляется данная ошибка.
Ситуация действительно похожа на какой-то глюк отладчика VBA. Запускаем макрос по F5, нажимаем Ctrl+Pause, Debug, перезапускаем по F5 или кнопке Play - получаем ошибку с остановкой в произвольных местах. Никакое количество последовательностей "Debug, Ctrl+Pause, F5" не помогает, но при замене F5 на Play срабатывает. Перезапуск Excel не помогает, перезагрузка Win помогает (если правильно помню).
Выручили!
Спасибо! Способ №2 помог!