當前位置:成語大全網 - 書法字典 - Excel vba超級慢,怎麽加速?

Excel vba超級慢,怎麽加速?

對象,包括在VBA使用的所有對象。您的每個調用將消耗比調用次數多n倍的資源。讓我們看兩段代碼。要完成的任務是填寫A1中的序列號:A10000。

代碼1:

Sub?操作1()

t?=?計時器

為了什麽?x?=?1?去哪?10000

範圍(“a”?& amp?x)?=?x

下壹個?x

MsgBox?計時器?-?t

結束?Sub解析:上述代碼中,Range對象被循環調用,* * *被調用10000次。操作時間:0.98秒

Sub?操作2()

暗淡?arr(1?去哪?10000,?1?去哪?1)

t?=?計時器

為了什麽?x?=?1?去哪?10000

arr(x,1)?=?x

下壹個?x

範圍(“a1:a10000“)?=?arrive)

MsgBox?計時器?-?t

結束?分析:在這段代碼中,首先聲明了壹個10000行1列的數組,然後它不是直接輸入到循環中的Range對象中,而是先存儲在arr數組中。最後,將arr數組中的數字壹次性輸入到A1:A10000區域中。最終運行時間為0.062秒,比代碼1快了十倍。

從上面兩段代碼可以看出,在大循環中調用對象對速度的影響很大。編寫代碼時,盡量避免在循環中調用VBA對象。