应用2:VBA中的Application.Calculation打开和关闭的效果

【分享成果,随喜正能量】吉人之辞寡,躁人之辞多。遇到急事时,话要慢慢说,冲动的心冷静下来,才有更好的解决办法。遇到难事,慢慢说,浮躁的心沉下来,一切问题迎刃而解。无论何时,稳定的情绪,良善的言语,都是一个人最大的福报。。

《VBA经典应用69例》(10178981),是我推出的第九套教程,教程是专门针对初级、中级学员在学习VBA过程中可能遇到的案例展开,这套教程案例众多,紧贴“实战”,并做“战术总结”,以便大家能很好的应用。教程的目的是要求大家在实际工作中要利用好VBA。本套教程共三册六十九个专题,今日内容:应用2:VBA中的Application.Calculation打开和关闭的效果应用2:VBA中的Application.Calculation打开和关闭的效果_第1张图片

应用2  VBA中的Application.Calculation

大家好,我们今天开始第二个专题的应用讲解。本来这个应用没有列入我的写作计划之中,但碰巧,最近总有学员向我反馈类似的问题,说自己的程序运行缓慢,我查了一下大家发给我的程序文件,大多数是“公式自动计算”惹的祸。许多学员都是玩EXCEL的高手,在VBA转型期间还有写工作表函数的习惯,往往在EXCEL工作表中保留有大量的公式,每当工作表的单元格发生改变时,公式就要自动重新计算,从而浪费了大量的时间。那么如何解决这个问题呢?这讲给大家讲解。

2使用 VBA 关闭或打开自动计算

在VBA中设置或更改计算选项的代码非常简单,可以使用Application.Calculation属性,这个属性返回或设置一个XlCalculation值, 它代表计算模式。

语法:expression.Calculation

其中expression:表示 Application 对象的变量。

XlCalculation 枚举值:

①xlCalculationAutomatic-4105Excel控制重新计算

②xlCalculationManual-4135用户请求时进行计算

③xlCalculationSemiautomatic2Excel控制重新计算,但忽略表中的更改

3应用示例

实例一: 打开和关闭自动计算的效果这个例子中我们会看到自动计算打开和关闭的实际应用及效果。重现在以上讲解中的各种操作。

看下面的代码:

Sub mynzA()

    '初始化两个单元格及在第三个单元格中设置公式

    Cells(1, 1).Value = "5"

    Cells(1, 2).Value = "10"

    Range("C1").Select

    ActiveCell.Formula = "=A1+B1"

    '输出C1的值

    Debug.Print Cells(1, 3).Value

    '修改计算模式为 "手动"并输出计算后的值

    Application.Calculation = xlCalculationManual

    Cells(1, 1).Value = "10"

    Debug.Print Cells(1, 3).Value

    '设置立即计算,并再次尝试打印。

    Application.Calculate

    Debug.Print Cells(1, 3).Value

    '修改计算模式为自动并计算

    Application.Calculation = xlCalculationAutomatic

    Cells(1, 1).Value = "3"

    Debug.Print Cells(1, 3).Value

End Sub

代码截图:

应用2:VBA中的Application.Calculation打开和关闭的效果_第2张图片

代码的解读:(略)

代码的测试效果:

应用2:VBA中的Application.Calculation打开和关闭的效果_第3张图片

(待续)

本讲内容参考程序文件:应用002.xlsm

应用2:VBA中的Application.Calculation打开和关闭的效果_第4张图片

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:


应用2:VBA中的Application.Calculation打开和关闭的效果_第5张图片

你可能感兴趣的:(VBA,OFFICE,开发语言)