首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改为Application.Calculation xlAutomatic,无需重新计算

更改为Application.Calculation xlAutomatic,无需重新计算
EN

Stack Overflow用户
提问于 2020-04-20 11:37:09
回答 1查看 333关注 0票数 0

我有VBA,在VBA中,我首先使用xlManual在Excel表中进行计算。

程序完成后,切换回xl.Automatic

代码语言:javascript
复制
Sub Run_Procedure()
Application.Calculation = xlManual
Call Procedure
Application.Calculation = xlAutomatic
End Sub

所有这些都是应该做的。

现在,我想知道是否有一种方法可以将应用程序更改为xlAutomatic,而不需要实际re-calculating文件。

基本上,我只希望procedure完成后,User可以继续正常地处理文件。

为了避免在procedure之后加载时间,不应该再进行计算。

你对此有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2020-04-20 13:36:38

没有测试,但我能想到的唯一方法是使用Application.CalculationInterruptKeyApplication.SendKeys()

也许有点像..。

代码语言:javascript
复制
With Application
    .CalculationInterruptKey = xlEscKey
    .Calculation = xlCalculationAutomatic
    .SendKeys ("{esc}")
    Debug.Print .CalculationState
End With

据我所读,这将中断工作表重新计算,方法是将esc键按下到应用程序,但我无法确认它是否正常工作(因为我没有足够大的数据,需要一些时间计算。

另外,如果您想将CalculatonInterruptKey返回到它的原始值,只需在上面的代码之前分配一个变量它的值,然后在代码将变量分配回属性之后。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61321555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档