Следующие строки добьются цели:
ActiveSheet.EnableCalculation = False
ActiveSheet.EnableCalculation = True
Редактирование: .Calculate()
метод не будет работать на все функции. Я протестировал его на листе с дополнительными функциями массива. Производственный лист, который я использую, достаточно сложен, который я не хочу тестировать .CalculateFull()
метод, но это может работать.
Это должно добиться цели...
'recalculate all open workbooks
Application.Calculate
'recalculate a specific worksheet
Worksheets(1).Calculate
' recalculate a specific range
Worksheets(1).Columns(1).Calculate
Вы могли бы также попробовать
Application.CalculateFull
или
Application.CalculateFullRebuild
, если Вы не возражаете восстанавливать все открытые рабочие книги, а не просто активный рабочий лист. (CalculateFullRebuild
восстанавливает зависимости также.)