Счёл нужным выделение проблемы в отдельную тему ввиду её важности и, к сожалению, распространённости
Программное назначение Application.EnableEvents = False при сбойном возврате в исходное состояние может иметь много неприятных и даже опасных последствий Я сталкивался со слётом чувствительности при работе вполне корректных процедур в связке Excel-Autocad
Ещё одно решение, основанное на совместном использовании летучей функции и UDF
Замечание1: любой инструмент восстановления чувствительности не должен срабатывать при активных процедурах, отключивших чувствительность Для этого можно использовать логическую переменную, управляемую из этих процедур Также поможет временное назначение режима ручного счёта
Замечание2: при наличии чужого неконтролируемого кода опасно не только отключение, но и включение обработчиков событий
Счёл нужным выделение проблемы в отдельную тему ввиду её важности и, к сожалению, распространённости
Программное назначение Application.EnableEvents = False при сбойном возврате в исходное состояние может иметь много неприятных и даже опасных последствий Я сталкивался со слётом чувствительности при работе вполне корректных процедур в связке Excel-Autocad
Ещё одно решение, основанное на совместном использовании летучей функции и UDF
Замечание1: любой инструмент восстановления чувствительности не должен срабатывать при активных процедурах, отключивших чувствительность Для этого можно использовать логическую переменную, управляемую из этих процедур Также поможет временное назначение режима ручного счёта
Замечание2: при наличии чужого неконтролируемого кода опасно не только отключение, но и включение обработчиков событийv__step