Это зависит от того, сколько вы фактически обновляете на экране как часть вашего кода (то есть, сколько ячеек обновлено), и сколько листов там, сколько листов / ячеек относятся к листу, который обновляет ваш код, и как много формул присутствуют во всей рабочей тетради.
Каждый раз, когда вы что-то меняете на листе, Excel пересчитывает все формулы. Поэтому, если ваш код не обновляет слишком много листов / ячеек, но в вашей книге много формул, отключение обновления экрана может вам совсем не помочь.
Еще одна вещь, которую следует учитывать для производительности, - это свойство Calculation, установите для него значение xlCalculationManual, чтобы отключить автоматические повторные вызовы и в конце включить его обратно в xlCalculationAutomatic.
Application.Calculation = xlCalculationManual
Еще одна вещь, на которую следует обратить внимание, это События, если один или несколько из этих листов имеют обработчики событий Worksheet_Chnage или Worksheet_Calculate, каждое изменение, которое делает ваш код, будет вызывать их, и ваш код должен ждать, пока они не вернутся. Так что выключите его во время вашего кода.
Application.EnableEvents = False
В большей части моего кода я обычно использую это
On Error GoTo lblError
Dim bEvents As Boolean, iCalc As Integer, bScrnUpd As Boolean
bEvents = Application.EnableEvents
iCalc = Application.Calculation
bScrnUpd = Application.ScreenUpdating
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
'-----------------------My code
Application.EnableEvents = bEvents
Application.Calculation = iCalc
Application.ScreenUpdating = bScrnUpd
Exit Sub
'reset them even if you are exiting due to error
lblError:
Application.EnableEvents = bEvents
Application.Calculation = iCalc
Application.ScreenUpdating = bScrnUpd
Debug.print Err.Description