[問題] Application.Calculation的重算設定?
軟體: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) ─> 自動運算 ─┤
└>沒修改不重算
但是一旦變更為自動運算後,好像沒有辦法再插入一個判斷式來決定是否重算...
不知有無方法可解決呢? 謝謝!!
--
┌─────────────────────────────┐
│就這樣,終於到了啟程的日子。 │
│和來機場送行的朋友們說著玩笑話,其實內心恍恍惚惚像在作夢。│
│也似乎是因為,為了走到「出發」這一步,耗盡了全部心力。 │
└─────────────────石田裕輔《不去會死!》─┘
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.249.149.121
※ 文章網址: https://www.ptt.cc/bbs/Office/M.1428976234.A.529.html
→
04/14 10:38, , 1F
04/14 10:38, 1F
→
04/14 10:38, , 2F
04/14 10:38, 2F
→
04/14 15:11, , 3F
04/14 15:11, 3F
→
04/14 15:56, , 4F
04/14 15:56, 4F
謝謝蘇大! 看懂了,但是後續有個問題:
我在活頁簿的部分也寫了一樣的東西,透過蘇大的方法,
如果活頁簿沒有任何變動時,當取消選擇該活頁簿時就不會切換運算方式;
但實際上,巨集所在活頁簿只是使用者每天使用的眾多活頁簿其中一個,
當他切去其他任意表格的時候仍需要其他表格後續有計算功能。
也就是說一定要切成自動運算,因為使用者可能要處理其它活頁簿的資料。
目前就只有這個設定 Application.Calculation = xlCalculationAutomatic
會連帶重算讓人很困擾。是否還有更佳解呢? 麻煩了 @_@
※ 編輯: foolkids (59.120.249.136), 04/14/2015 16:44:03
→
04/14 16:47, , 5F
04/14 16:47, 5F
→
04/14 16:48, , 6F
04/14 16:48, 6F
目前就是寫在 Workbook_SheetDeactivate 及 Workbook_SheetActivate
但是仍無法讓Application.Calculation = xlCalculationAutomatic後的重算取消 @@
※ 編輯: foolkids (60.249.149.121), 04/15/2015 10:29:52
→
04/15 10:36, , 7F
04/15 10:36, 7F
→
04/15 10:36, , 8F
04/15 10:36, 8F
Office 近期熱門文章
PTT數位生活區 即時熱門文章