返回列表 上一主題 發帖

當逐步執行巨集時, 如何暫停自訂公式的執行

當逐步執行巨集時, 如何暫停自訂公式的執行

本帖最後由 enoch 於 2014-11-10 11:46 編輯

當逐步執行巨集時(F8),
間中就會跳至自訂公式(Function 程序),
請問可以暫時停止自訂公式的執行嗎?
請多多指教

回復 1# enoch
  1. Option Explicit
  2. Sub Ex()
  3.    Application.Calculation = xlCalculationManual   '程式開始執行時 設定手動計算
  4.    '
  5.    '
  6.    '
  7.    [A1] = 515        '儲存格有數字變動,會重新計算自訂函數
  8.    [A2] = 5515
  9.    
  10.    'Application.Calculation = xlCalculationAutomatic
  11.    '程式結束前 設定自動計算
  12.    '但還是會執行自訂函數的程式碼
  13. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

沒想到還有這種功能, 受教, 只是不了解何時要使用這功能?為何?

TOP

請問
Application.Calculation = xlCalculationManual
與 Application.Calculation = xlManual 相同嗎?

TOP

本帖最後由 luhpro 於 2014-11-11 23:10 編輯
沒想到還有這種功能, 受教, 只是不了解何時要使用這功能?為何?
mmxxxx 發表於 2014-11-10 15:42

自動計算 :
只要工作表內容有 異動 或是 存檔 與 檔案關閉 前都會執行運算一次.
一般非特殊情形大都會設定為此模式,
好處是只要有異動不須額外動作就可以很快看到運算結果,
壞處是當遇到下述情形時可能出現無限迴圈或錯誤結果.

手動計算:
必須是當使用者按下運算鈕(或是觸發預設運算程序)才會執行運算一次.
當運算的執行可能會拖慢亦或是拉長結果產生的時間時,
或是工作表內容異動頻繁發生亦或是前後兩次觸發時間較短(如盤中股票或期權價格異動),
可能會發生前次運算迴圈尚未完成就又觸發相同作用的運算時.
一般會設定為 手動計算 模式以避免無限迴圈或是錯誤結果的產生.

請問
Application.Calculation = xlCalculationManual
與 Application.Calculation = xlManual 相同嗎?
enoch 發表於 2014-11-10 17:13

只要在即時運算視窗中求值就可得知 :
?xlManual
-4135
?xlCalculationManual
-4135

TOP

在即時運算視窗中試過
?xlmanual =-4135
?xlCalculationAutomatic = -4105
想請問這些數字在平時計設程式或執行巨集時可以點應用呢?

有沒有辦法在執行巨集時停用指定Function 的執行,
若使用手動計算, 可能在執行巨集時會影響程式結果而沒有留意

請指教

TOP

回復 6# enoch
  1. Calculate 方法 套用至範例特定計算所有開啟的活頁簿、活頁簿中的特定工作表或工作表中指定範圍的儲存格,如下清單格所示:
  2. 若要計算 依照此範例
  3. 所有開啟的活頁簿 Application.Calculate (或只用 Calculate)
  4. 指定工作表 Worksheets(1).Calculate
  5. 指定範圍 Worksheets(1).Rows(2).Calculate
複製代碼
  1. Option Explicit
  2. Sub Ex()
  3.     Application.Calculation = xlCalculationManual
  4.     [B1] = 5
  5.     [C1] = 5
  6.     [A1] = "=TEST(B1,C1)"
  7.     [A2] = "=TEST(B1,C1)"
  8.     [B1] = 10
  9.     Range("A1").Calculate  '只重算A1,A2不會重算
  10. End Sub
  11. Function TEST(A, B) As Single
  12.     TEST = A * B
  13. End Function
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 不要隨心所欲,要隨心教育自己。
返回列表 上一主題