昨天总结了如何将单元格区域的数据放入数组中,今天讲一下如何将数组中的数据放入单元格中。 上一篇文章中的例子都是直接将工作表的数据放入数组中。 这样,数组都是两位数的数组。 先说二维数组怎么写。
1:将二维数组放入工作表中。
Sub 二维数组放入工作表() Dim arr arr = Sheets(1).Range("a1:a2") Range("b1").Resize(UBound(arr, 1), UBound(arr, 2)) = arr End Sub
2:二维数组的行列转换。
Sub 二维数组的行列转换() Dim arr arr = Sheets(1).Range("E1:F5") Range("G1").Resize(UBound(arr, 2), UBound(arr, 1)) = Application.WorksheetFunction.Transpose(arr) 'Transpose是转置函数 '函数Ubound是取得数组arr1最大的索引号, 'UBound(arr1, 1)数组arr1最大的行索引号 'UBound(arr1, 2))最大的列索引号 End Sub
一维数组也是常用的。说说一维数组
3:一维数组排成一行。
Sub 一维数组放入一行() Dim arr arr = Array("k", "m", "o", "q") 'array生成的数组是一维数组; 'UBound(arr) + 1是因为array组成的数组,下标是0; Range("a5").Resize(1, UBound(arr) + 1) = arr End Sub
4:一维数组变成一列。
Sub 一维数组放入一列() Dim arr arr = Array("k", "m", "o", "q") '下面注释的代码写入是错误的 'Range("a5").Resize(UBound(arr) + 1,1) = arr Range("a5").Resize(UBound(arr) + 1, 1) = Application.WorksheetFunction.Transpose(arr) End Sub