Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA矩阵打印独立列_Excel_Vba_Matrix_Printing - Fatal编程技术网

Excel VBA矩阵打印独立列

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

我已经生成了一个包含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)).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