上一章介绍了数据是如何写入数组的。这一章,介绍数组的数据如何输出到工作表。
1.1、 一维数组输出数据到工作表
数组中的数据输出到工作表,常常使用Range对象的Resize属性。
通过Resize建造一个大小和数组一样的单元格区域来写入数组数据。
其中,Resize的行列两参数往往使用变量。
注意1:Array数组的下标0,上标3,它有4个元素。这种情况使用数组的上标来确定Resize大小,需注意使用Ubound()+1,否则会缺少数据。
注意2:一维数组数据输出到工作表的一列,往往需要转置函数Transpose。
1.2、 二维数组输出到工作表
我们知道,数据来自于工作表的数组都是二维数组,要放回工作表,就相当于同根同源了。(不改变维度数)
所以,二维数组天生就和工作表八字契合。
使用Resize(一维上标,二维上标)建造和二维数组大小适当的单元格区域写入其数据。
2.1、一维数组转二维数组
2.2、 二维数组转一维数组
2.3、 二维数组使用Transpose,相当于工作表的转置操作,一维和二维维度互换。
2.4 当然,一维数组和二维数组之间的相互转置或数据传递,依然可以使用循环。
3.1、使用单元格方法
3.2、使用数组方法
同样配置的电脑,使用数组的效率比单元格要高得多。
Transpose函数在数据超过65536条时会转置失败。
但我在Excel2016当中测试,它早早就发生了错误(不知道为什么……)
若要避免发生此问题,方法就是不使用Transpose,不用就没有问题了。
将数组arr设置成二维数组,再输出到工作表。
联系客服