|
excel-VBA最基础入门教程.pdf |
|
|
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)
|
|
|
|
|
|
|
|
|
|
|