Вимкнути оновлення екрана - приклади коду VBA

Як би круто це не виглядало, коли макрос VBA маніпулює екраном, ви можете допомогти вашому макросу працювати швидше, якщо вимкнути (вимкнути) оновлення екрана.

Вимкнути оновлення екрана

1. Щоб вимкнути оновлення екрана, на початку коду поставте цей рядок:

1 Application.ScreenUpdating = Неправда

Увімкнути оновлення екрана

2. Щоб знову ввімкнути оновлення екрана, в кінці коду поставте цей рядок:

1 Application.ScreenUpdating = Істина

Приклад оновлення екрана VBA

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

1234567891011 Sub ScreenUpdating_Example ()Application.ScreenUpdating = Неправда'Робити щосьДіапазон ("a1"). Діапазон копіювання ("b1")Діапазон ("a2"). Діапазон копіювання ("b2")Діапазон ("a3"). Діапазон копіювання ("b3")Application.ScreenUpdating = ІстинаEnd Sub

Оновлення екрана

Вимкнення оновлення екрана прискорить роботу коду VBA, але також зробить вашу роботу більш професійною. Кінцеві користувачі зазвичай не хочуть бачити закулісні дії ваших процедур (особливо, коли процедура працює повільно). Крім того, ви можете не хотіти, щоб кінцеві користувачі бачили закулісну функціональність (наприклад, приховані аркуші). Я рекомендую вимкнути (і знову включити) оновлення екрана практично у всіх ваших процедурах.

Однак, буває, що потрібно, щоб екран оновився. Щоб оновити екран, вам потрібно буде тимчасово знову ввімкнути оновлення екрана (немає команди «оновити екран»):

123 Application.ScreenUpdating = Істина'Робити щосьApplication.ScreenUpdating = Неправда

Налаштування VBA - код прискорення

Існує кілька інших параметрів, з якими можна пограти, щоб покращити швидкість коду.

Вимкнення автоматичних розрахунків може мати величезну різницю в швидкості:

1 Application.Calculation = xlManual

Вимкнення рядка стану також матиме невелику різницю:

1 Application.DisplayStatusBar = Неправда

Якщо у вашій книзі є події, зазвичай слід відключити події на початку процедури:

1 Application.EnableEvents = Неправда

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

1 ActiveSheet.DisplayPageBreaks = Неправда

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

wave wave wave wave wave