Страницы: 1
RSS
Остановить макрос пока не закончит работу другой
 
Доброй ночи Ув. форумчане.
Беглый поиск по google не привел к положительным результатам =(
Возможно ли остановить работу макроса, который завязан на Worksheet_Change ?
В частности, в Worksheet_Change макрос, который задает графику равные X и Y координаты когда есть изменения (не мой):
Код
With Sheet14.Range("MaxMin")
           SetSquareAxes Sheet4.ChartObjects("Chart 21").Chart, 5, 5, _
                         .Cells(1), .Cells(3), _
                         .Cells(2), .Cells(4)
        End With
 
Имеется другой макрос, который работает с данными в таблице, но проблема в том, что при каждом изменение производится запуск Sub Worksheet_Change что очень, очень тормозит весь процесс.
Возможно ли остановить Worksheet_Change до окончания работы макроса?
Application.ScreenUpdating = False не помогает в данном случае.

Если будет необходим пример то подготовлю, но надеюсь проблема и так ясна. Спасибо
 
Цитата
Teklan написал:
Application.ScreenUpdating = False не помогает в данном случае
Потому что надо перед выполнением кода, вносящего изменения в ячейки применять Application.EnableEvents = False. Только не забудьте возвращать его после выполнения кода, а так же при обработке ошибок и принудительного выхода из процедуры. Иначе отслеживание событий не будет происходить пока не перезапустите приложение.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Спасибо за быстрый ответ, сейчас попробую.
Так же нашел только что на заграничном ресурсе данное решение:
http://www.ozgrid.com/forum/showthread.php?t=15934&s=0947bc791e31c69b6e1225d0f63bbcac&p=80694#post80...
 
Ув The_Prist,ваше решение работает отлично.
Большое спасибо. Можно идти спать спокойно :)
Страницы: 1
Наверх