当一个工作簿内包含的公式越多,那么它的运行速度就会越慢。甚至会在操作时出现无法响应的状态。导致这种情况的原因是公式运算,当你进行一次计算操作时,表格内的所有公式都会重新进行一次计算。所以,如果我们可以限制计算区域,减少重新计算公式的数量,是不是就可以避免或者减少表格卡顿的状况呢?
其实在Excel的公式栏内,为使用者提供了公式的三种计算方式:自动、除模拟运算表外,自动计算、手动。
自动状态下,公式会自行进行计算。手动状态下,公式只在保存工作簿时进行计算。除模拟运算表外,自动计算,这里的模拟运算表,工作中很少用到。
三种方式的命令是针对整个工作簿的,意思是,当你点击手动时,整个工作簿内的公式都不会进行自行计算。
这里介绍几句代码,可以指定当前工作簿内的部分表格不计算、指定当前工作表的部分单元格区域计算。
Sub 代码1()
Application.Calculation =xlCalculationManual
Range("a1:c5").Calculate
End Sub
Calculation = xlCalculationManual首先指定当前工作的计算方式为手动。
Range(“a1:c5”).Calculate再设置单元格区域a1:c5内的公式进行计算。
由于整个工作簿已经设置为手动,所以只有单元格区域a1:c5才会进行计算。
Sub 代码2()
Sheets("测试").EnableCalculation= False
End Sub
这句代码的意思是,指定工作表“测试”不进行计算。如果需要只允许当前活动工作表可计算,那么可以先将所有表的EnableCalculation设置为False,再对当前活动表设置为True。
Sub 代码3()
Dim sht As Worksheet
For Each sht In Sheets
sht.EnableCalculation = False
Next
ActiveSheet.EnableCalculation = True
End Sub
至此,如何设置excel中公式的计算方式,优化表格运行速度就讲完了。