Не проверено, но единственный способ, которым я могу придумать, - это использовать Application.CalculationInterruptKey
и Application.SendKeys()
.
Возможно что-то вроде ...
With Application
.CalculationInterruptKey = xlEscKey
.Calculation = xlCalculationAutomatic
.SendKeys ("{esc}")
Debug.Print .CalculationState
End With
Из того, что у меня есть прочитайте это, чтобы прервать пересчет листа, отправив нажатие клавиши esc
в приложение, но я не смог подтвердить, что оно работает (поскольку у меня нет достаточно больших данных, для вычисления которых требуется некоторое время.
В примечании, если вы хотите вернуть CalculatonInterruptKey
обратно к его первоначальному значению, просто присвойте переменную ее значение перед приведенным выше кодом, а затем после кода назначьте переменную обратно свойству.