加速VBA的方法: 1.關閉螢幕更新 : Application.ScreenUpdating = False 'True 2.禁止觸發事件 : Application.EnableEvents = False 'True 3.禁止交互模式 : Application.Interactive = False 'True 4.計算模式設定為手動 : Application.Calculation = xlCalculationManual 'xlCalculationAutomatic 5.儲存格寫法 : 請使用cells : cells(1,1).value > cells(1,1) > Range("A1") > [A1] 6.比較句 : IF A THEN IF B THEN 優於 IF A AND B THEN 與 IF A THEN ... ELSE IF B THEN 優於 IF A OR B then 7.IF 快於SELECT 8.IF/ELSE 快於 IIF 9.循環句 For 語句快於DO/WHILE For/each快於for/to 10.使用With語句 11.盡量不用Variant類型 12.使用Option Explicit 13.給返回值一個明確的類型. 14使用left$,而不用left,使用int%,而不用int 15.set=nothing 16.有些工作表函數(方法)速度是很快的,比如FIND,VLOOKUP等,要記得使用它們,不要花力氣去做不討好的事。 17.當使用工作表函數時,操作對象應避免使用內存變量,那樣反而慢。 18.使用不相鄰的range前,先使用UNION,一次進行. 使用內存數組 1.內存變量的運算速度大大快於RANGE對象。 將RANGE數據寫入內存數組。 下面兩句將生成一個65536行,6列的數組。 用這種方法產生的數組都是兩維數組,即使引用的RANGE只有一行或一列。 下標始於1,不受option base設定的影響。 arr必需聲明為Variant類型。 Dim arr() arr=range(“A1:F65536”) 將內存數組數據寫入RANGE。 在內存數組經過計算處理後,寫回時只需下句就可以了。 range(“A1:F65536”)...