如何将应用程序计算设置回 Excel VBA 中用户定义的值?

How do I set application calculation back as to defined by user in Excel VBA?

我有一个相当大的工作簿,一些用户喜欢打开自动计算,而另一些用户则喜欢关闭它。

一些与工作表交互的宏已附加到工作簿。为了加快我的 VBA 代码,我设置了

Application.Calculation = xlManual

在每个工作簿的开头。

我的问题是,如何将它恢复到宏结束时的状态?

我现在正在使用

Application.Calculation = xlAutomatic

但这会覆盖用户的选择。每次宏有 运行 时都必须将其改回手动,这很烦人。 (或者相反,如果保留手动。)

开始前保存设置,完成后恢复:

Sub calctest()
Dim calcsetting As Integer

    calcsetting = Application.Calculation
    ' Put code here
    Application.Calculation = calcsetting
End Sub