作者:乔山办公网日期:
返回目录:excel表格制作
昨天总结了如何把单元格区域的数据放入数组,今天就来说一下如何把数组的数据放入单元格。上一篇文章里面的例子都是直接把工作表的数据放入数组。这样放入数组都是二位数组。先说一下二维数组如何写入。
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
延伸阅读: