Application / Свойство
Application.ScreenUpdating
Обновление экрана — Рисует ли Excel каждый шаг макроса.
ScreenUpdating As Boolean
Когда использовать
Перед циклом записи или массовым копированием ставьте False, в конце обязательно True через обработку ошибок. Ускоряет код в разы.
Версии и среда
Excel 2007–365
Минимальный пример
On Error GoTo Finally
Application.ScreenUpdating = False
' работа с листом
Finally:
Application.ScreenUpdating = True
Типичный сбой
Забыли вернуть True — пользователь видит «застывший» Excel до перезапуска.
Рецепты
-
Записать массив на лист за одно действие
Выгрузка из кода по ячейкам занимает минуты.
-
Выгрузка из 1С в Excel через COM
Из обработки 1С нужно открыть книгу, записать таблицу и не оставить процесс Excel.
-
Сравнить две книги по коду и подсветить расхождения красным
Нужно сверить номенклатуру и количества в двух выгрузках и сразу увидеть, что не сошлось, в обеих книгах.
-
Пересчитать AED в доллары в оборотке
В колонке валюты AED и USD вперемешку, в H нужна одна сумма в долларах и итог по блоку.
-
Подготовить отчёт Яндекс Такси и сделать PDF по каждому ФИО
Выгрузка с лишними строками и 24 столбцами, а нужен узкий лист и отдельный PDF на каждого сотрудника.
-
Перенести заливку строк из старой книги в новую
Новая книга покупок без цветов, а в старой строки уже размечены заливкой — нужно перенести разметку по совпадению значения.
Рядом в Application
Quit GetOpenFilename ActiveWorkbook ActiveSheet ActiveCell Workbooks DisplayAlerts EnableEvents