EXCEL越來越大,運算的數字越來越多,要如何增加程式運算的效率呢? 幾個重要的運用,跟著我一起學起來吧~~~

 

1.ScreenUpdating

我們是否在寫程式時,時常呼叫各個不同的工作簿,又或者時常在使用select時,螢幕可是不斷地隨著程式碼,好像人動作一樣,不斷的切換工作簿。這個情況只要先關掉ScreenUpdating,讓螢幕不要隨著程式碼作動,最後再開啟螢幕變動就可以囉!!!

Application.ScreenUpdating = False  關掉螢幕變動

Application.ScreenUpdating = True  開啟螢幕變動

 

2.Calculation

未命名.png

平常在使用EXCEL時,幾乎都是讓EXCEL自動計算的方式,當數據很多連動時,時常改一個數字,就要等EXCEL計算!!! 是不是很惱人!!!

所以我們在寫程式時,只要不需要計算時,先讓它暫停(手動),等我們要整理的數字都到位了,再改回自動運算囉

Application.Calculation = xlCalculationManual 手動計算

Application.Calculation = xlCalculationAutomatic 自動計算

 

3.Events

有時候整個EXCEL裡,已經寫滿了各種會觸發的VBA,此時如果因為不斷的Change額觸發,只會不斷迴圈,導致當機!!!

這時就要記得先關掉事件觸發。例如:

Application.EnableEvents = False 暫停事件觸發

Application.EnableEvents = True 開啟事件觸發

 

4.Status Bar

我們使用EXCEL時,EXCLE最下方,時常會出現目前的狀態列表,再跑程式的時候,它根本不需要執行,記得先暫時關掉!!!

Application.DisplayStatusBar = False 關閉狀態列更新

Application.DisplayStatusBar = True 開啟狀態列更新

 

5.Option Explicit

在寫VBA時,對於變數形態上的定義,可以非常不明確就可以執行。但是,這樣就會有一個缺點,當程式碼不知道變數型態時,就會自動將變數視為Variant類型,而佔存資源,因此在運算效能上會較差。當需要運算的程式越來越多時,就會有較大的影響,所以一開始就想成好的習慣,明確宣告變數的型態。

 

Sub SpeedUp()

    Option Explicit                                                '強制宣告變數型態

    Application.ScreenUpdating = False                             '關掉螢幕變動
    
    Application.Calculation = xlCalculationManual                  '手動計算

    Application.EnableEvents = False                               '暫停事件觸發

    Application.DisplayStatusBar = False                           '關閉狀態列更新

    'VBA Code 放這裡!

    Application.ScreenUpdating = True                              '開啟螢幕變動

    Application.Calculation = xlCalculationAutomatic               '自動計算

    Application.EnableEvents = True                                '開啟事件觸發

    Application.DisplayStatusBar = True                            '開啟狀態列更新

End Sub
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 心靈富足理財日記 的頭像
    心靈富足理財日記

    心靈富足理財日記 Eudaimonia Condition

    心靈富足理財日記 發表在 痞客邦 留言(0) 人氣()