我在多个工作表中进行了大量计算(10多张,30000多行,250多列,大约50%具有依赖性)。
我有一个VBA程序,它运行一个变量列表,一次更改一个变量。这会使用公式更改所有单元格中的值。
每次更改变量时,我都不需要重新计算所有工作表。
有没有办法只重新计算活动工作表或指定的工作表?
ActiveSheet.Calculate
要么
vbasheetname.Calculate
要么
Worksheets("Sheet1").Calculate
如果可能的话,最好避免在代码中使用activesheet
(很少需要它),所以尽量坚持使用后两者。
没有VBA的一种方法是使公式依赖于布尔单元格。如果bool是真的,那么他们计算,否则他们不计算。
然后在此布尔单元格中,键入以下公式:=CELL("filename") = CELL("filename", [B1])
。然后在此工作表上放置一个简单的切换按钮,该按钮链接到工作表中的任何单元格。然后,每当按下切换按钮时,链接的单元格将更改值,这将导致布尔单元格中的公式生成TRUE而不是FALSE,然后将计算依赖于此布尔单元格的所有单元格。
示例#1
例#2
这不会阻止细胞计算,但它会使计算速度超快。