|
在开始阶段将excel对象读入内存数组中,进行运算后存入新数组,然后将新数组存到excel对象中。
所以,针对excel对象,除了开始和结束时有操作,其它都在内存数组中完成,会大大提升代码效率。
比如:
dim arr , i% ,s% ,Timer
Timer =time
arr=sheet1.range("a1:a10000").value '工作表对象数据读入数组
for i=1 to ubound(arr)
s=s+1
arr(i,1)=s
next i
sheet1.range("a1").resize(ubound(arr),ubound(arr,2))=arr '数组写入工作表对象
msgbox "代码运行时间为" & time -Timer
'以上代码对excel对象操作了两次
----------------------------------------------------
dim i%, s% ,Timer
Timer =time
for i=1 to 10000
s=s+1
sheet1.range("A" & i)=s
next i
msgbox "代码运行时间为" & time -Timer
'以上代码对excel对象操作了一万次
-----------------------------------------------------
你可以运行验证上面两个不同的代码,运行得出的结果一样,但是出现的代码运行时间肯定是第一段代码要少。
|
|