[问题] Application.Calculation的重算设定?

楼主: foolkids (翼をください)   2015-04-14 09:50:31
软件:Office Excel
版本:2010
之前设置了一个宏,依据切换工作表来设定是否开启公式自动运算,如下:
===========================================================================
Private Sub Worksheet_Activate() '选择此工作表(A)就为手动运算
Application.Calculation = xlCalculationManual
End Sub
===========================================================================
Private Sub Worksheet_Deactivate() '不选择此工作表(A)就自动运算
Application.Calculation = xlCalculationAutomatic
End Sub
===========================================================================
现在问题是:只要执行了 Application.Calculation = xlCalculationAutomatic
Excel就会立即全部重新计算一次,就算实际上我并未有任何资料修改。
有找到参数:Application.CalculationState,可判算目前是否有尚未计算的资料。
本想结合两个参数来达到下列目的:
┌>有修改就重算
选择工作表(A) ─> 手动运算 ─> 选择工作表(B) ─> 自动运算 ─┤
└>没修改不重算
但是一旦变更为自动运算后,好像没有办法再插入一个判断式来决定是否重算...
不知有无方法可解决呢? 谢谢!!
作者: soyoso (我是耀宗)   2015-04-14 10:38:00
那在Workbook_SheetChange内写给布林值,宣告在模组处宣告个
楼主: foolkids (翼をください)   2015-04-14 15:11:00
不太了解 @_@
作者: soyoso (我是耀宗)   2015-04-14 15:56:00
http://goo.gl/sVWCji 想到的是类似这样那从thisworkbook内Workbook_SheetDeactivate或是Workbook_SheetActivate来下手,试试

Links booklink

Contact Us: admin [ a t ] ucptt.com