Если вы хотите, чтобы ваш код макроса VBA работал быстро, то необходимо отключить некоторые функции VBA Excel в начале кода. После выполнения макроса снова включаем все функции.
Для этого мы можно использовать следующий код:
' Процедура : TurnOffFunctionality ' Источник : www.planacademy.ru ' Назначение: Отключает автоматические вычисления, обработку событий и обновление экрана Public Sub TurnOffFunctionality() ' Все расчеты переводим в ручной режим Application.Calculation = xlCalculationManual ' Отключаем статусную строку Application.DisplayStatusBar = False ' Отключаем события Application.EnableEvents = False ' Отключаем показ разбиения листа на печатные страницы If Workbooks.Count Then ActiveWorkbook.ActiveSheet.DisplayPageBreaks = False End If ' Больше не обновляем страницы после каждого действия Application.ScreenUpdating = False ' Отключаем сообщения Excel Application.DisplayAlerts = False End Sub ' Процедура : TurnOnFunctionality ' Источник : www.planacademy.ru ' Purpose : Включает автоматические вычисления, обработку событий и обновление экрана Public Sub TurnOnFunctionality() Application.Calculation = xlCalculationAutomatic Application.DisplayStatusBar = True Application.EnableEvents = True If Workbooks.Count Then ActiveWorkbook.ActiveSheet.DisplayPageBreaks = True End If Application.ScreenUpdating = True Application.DisplayAlerts = True End SubПодробнее