如何将应用程序计算设置为在Excel VBA中由用户定义?

我有一个相当大的工作簿,有些用户更喜欢有自动计算,而另一些喜欢closures它。

与工作表交互的一些macros指向工作簿。 为了加快我的VBA代码,我设置了

Application.Calculation = xlManual 

在每个工作簿的开始。

我的问题是,我如何恢复到macros观结束的状态呢?

现在我正在使用

 Application.Calculation = xlAutomatic 

但是会覆盖用户的select。 每次macros运行时,都必须将其改回到手动状态。 (或者相反,如果离开它手动。)

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

 Sub calctest() Dim calcsetting As Integer calcsetting = Application.Calculation ' Put code here Application.Calculation = calcsetting End Sub