配色: 字号:
excel-VBA最基础入门教程.pdf
2021-04-16 | 阅:  转:  |  分享 
  

startime=Timer
Forirow=1To60000
Cells(irow,1)=arr(irow)
Nextirow
MsgBox"数组写入共用了"&Timer-startime&"秒!"
EndSub
以上程序是使用循环,将数组里的元素逐个写入单元格,为了对比不同的输入方式的效
率,我加入了计算时间的代码,有了前面的基础,相信读上面的代码对大家来说,不会太困
难。
2、批量写入
实际上用一条语句就可以将数的内容写入单元格区域中,即:单元格区域=数组名
还是上面的例子,我们可改为:
代码:
Subtest2()
''创建数组,并赋值
Dimarr(1To60000),iAsLong
Fori=1To60000
arr(i)=i
Nexti
''将数组的值写入单元格(A列)
[a1:a65536].Clear''清除原有数据
DimstartimeAsDouble
startime=Timer
[a1:a60000]=Application.WorksheetFunction.Transpose(arr)
MsgBox"数组写入共用了"&Timer-startime&"秒!"
EndSub
这里,我们用?[a1:a60000]=Application.WorksheetFunction.Transpose(arr)?代
替了上面代码For循环,在我的电脑上,程序的效率就提高了25倍以上。数组写入单元
格.rar(8.04KB)
数组写入单元格.rar(8.04KB)
所以在大批量的数据需要写入时,我建议尽量不要用循环的
方式写入。
这种批量写入的方式在上面的例子里其实我已经用到了,相信大家不会陌生。
这里,我再补充两点我个人在学习过程中的心得:
(1)一维数组写入单元格区域时,这个单元格必须是水平方向的,也就是一个一行多列
的单元格区域,如果想写入垂直区域,必须使用工作表的Transpose函数转换一下;
(2)和工作表的多单元格数组公式一样,数组写入单元格时,单元格的区域必须和数组
的大小一致。
(回复)宝贝有酒窝的学生花名册汇总.rar(23.92KB)
for_next-1到1000自然数的和.rar(6.14KB)
IF语句.rar(6.7KB)
11.jpg(35.5KB)
献花(0)
+1
(本文系童古书屋升...首藏)