代碼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對象。