Excel VBA矩阵打印独立列
我已经生成了一个包含x行和2列的矩阵。So矩阵(1到x,1到2) 由于我的矩阵有两列,是否可以将它们(不循环)打印到两个不同的位置。 例如:我希望矩阵的第1列在表1 A列,第2列在表1 C列 我该怎么做?我只知道如何把整个矩阵打印出来,似乎找不到一种方法把它的一部分打印到一张纸上。以下是我到目前为止的情况Excel VBA矩阵打印独立列,excel,vba,matrix,printing,Excel,Vba,Matrix,Printing,我已经生成了一个包含x行和2列的矩阵。So矩阵(1到x,1到2) 由于我的矩阵有两列,是否可以将它们(不循环)打印到两个不同的位置。 例如:我希望矩阵的第1列在表1 A列,第2列在表1 C列 我该怎么做?我只知道如何把整个矩阵打印出来,似乎找不到一种方法把它的一部分打印到一张纸上。以下是我到目前为止的情况 Worksheets("Sheet6").Range("C" & ExportToLine).Resize(UBound(Matrix,1), UBound(Matrix,2)).Va
Worksheets("Sheet6").Range("C" & ExportToLine).Resize(UBound(Matrix,1), UBound(Matrix,2)).Value = Matrix
问题是,您不想调整列的大小,只想调整行的大小。然后可以使用
Application.Index
返回数组中的一列。也许下面的内容可以帮助您:
样本数据: 想象一下
A1:B3
中的以下示例2d矩阵:
示例代码:
样本结果:
Sub Test()
Dim arr As Variant
With Sheet1 'Change to whichever sheets CodeName you working with
'Get a 2D-array for testing
arr = .Range("A1:B3")
'Print the first column
.Cells(1, 4).Resize(UBound(arr)).Value = Application.Index(arr, 0, 1)
'Print the 2nd column
.Cells(1, 6).Resize(UBound(arr)).Value = Application.Index(arr, 0, 2)
'Print the nth column, change "n" to whichever column of your array.
'.Cells(1, 4).Resize(UBound(arr)).Value = Application.Index(arr, 0, n)
End With
End Sub