[問題] 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