Сбросить обновление экрана для дальнейшей совместимости с Excel XP - Советы по Excel

Содержание

Мой совет дня основан на моем собственном опыте. По мере того, как вы учитесь писать код, вы, вероятно, узнали, что можете радикально ускорить выполнение макроса, отключив обновление экрана во время выполнения макроса. Вы должны добавить эту строку кода в свой макрос:

Sub Test() Application.ScreenUpdating = False '… macro code here Application.ScreenUpdating = True End Sub

В Excel 2000 и более ранних версиях не требовалось возвращать ScreenUpdating значение true. Когда макрос завершился, Excel всегда возвращался к возврату обновления экрана к истинному состоянию. Когда я писал макросы для этой платформы, я часто отказывался от ScreenUpdating = True, потому что я знал, что Excel справится с этим за меня, и это решило проблему, связанную с необходимостью беспокоиться об этом, этот макрос был вызван из другого источника, который не хотел включилось обновление экрана или нет.

Теперь, когда эти макросы используются в Excel 2002, у нас возникла проблема. Политика Excel 2002 заключается в том, что макрос должен снова включать обновление экрана. На моей машине проблема возникает только в том случае, если я останавливаю макрос во время отладки, но на других машинах обновление экрана остается выключенным, что приводит к очень запутанным ситуациям. Мне нравится, когда вещи предсказуемы, а это определенно не так!

Итак, совет дня, пишете ли вы макросы в Excel 97, Excel 2000 или Excel 2002, всегда возвращайте обновление экрана к истинному состоянию с помощью:

Application.ScreenUpdating = True

Интересные статьи...