Отключение обновления экрана - примеры кода VBA

Как бы здорово это ни выглядело, наблюдая, как ваш макрос VBA манипулирует экраном, вы можете помочь вашему макросу работать быстрее, если отключите (отключите) ScreenUpdating.

Отключить обновление экрана

1. Чтобы отключить ScreenUpdating, в начале кода поместите эту строку:

1 Application.ScreenUpdating = False

Включить обновление экрана

2. Чтобы снова включить ScreenUpdating, в конце кода поместите эту строку:

1 Application.ScreenUpdating = True

Пример обновления экрана VBA

Тогда ваша процедура будет выглядеть так:

1234567891011 Sub ScreenUpdating_Example ()Application.ScreenUpdating = False'Сделай что-нибудьДиапазон («a1»). Копировать диапазон («b1»)Диапазон («a2»). Копировать диапазон («b2»)Диапазон («a3»). Копировать диапазон («b3»)Application.ScreenUpdating = TrueКонец подписки

Обновление экрана Обновить

Отключение ScreenUpdating заставит ваш код VBA работать НАМНОГО быстрее, но это также сделает вашу работу более профессиональной. Конечные пользователи обычно не хотят видеть закулисные действия ваших процедур (особенно, когда процедура выполняется медленно). Кроме того, вы можете не захотеть, чтобы конечные пользователи видели скрытые функции (например, скрытые рабочие листы). Я рекомендую отключить (и снова включить) ScreenUpdating практически во всех ваших процедурах.

Однако бывают случаи, когда вы хотите, чтобы экран обновился. Чтобы обновить экран, вам нужно будет временно снова включить ScreenUpdating (нет команды «обновить» экрана):

123 Application.ScreenUpdating = True'Сделай что-нибудьApplication.ScreenUpdating = False

Настройки VBA - код ускорения

Есть несколько других настроек, с которыми можно поиграть, чтобы улучшить скорость вашего кода.

Отключение автоматических вычислений может ОГРОМНО изменить скорость:

1 Application.Calculation = xlManual

Отключение строки состояния также имеет небольшое значение:

1 Application.DisplayStatusBar = False

Если ваша рабочая книга содержит события, вам обычно следует отключать события в начале процедуры:

1 Application.EnableEvents = False

Наконец, ваш код VBA может замедлиться, когда Excel пытается повторно вычислить разрывы страниц (Примечание: не все процедуры будут затронуты). Чтобы отключить отображение разрывов страниц, используйте эту строку кода:

1 ActiveSheet.DisplayPageBreaks = False

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave