我有一个2天的数组,如下所示:
myArray(1 to 100, 1 to 3)
我粘贴数组的常规方法是这样的:
With ActiveWorkbook.Worksheets("Semesters")
If IsEmpty(.Range("A2")) Then
.Activate
.Range("A2", "C2").Resize(UBound(myArray)).Value = myArray
Else
.Activate
.Range("A1").End(xlDown).Offset(1, 0).Activate
Range(ActiveCell, ActiveCell.Offset(0, 2)).Resize(UBound(myArray)).Value = myArray
End If
End With
但这会粘贴整个数组。我想粘贴所有第一个维度,但只粘贴第二个维度的索引2和3处的值。这可以在不创建另一个过滤出维度2的索引1的数组的情况下完成,如果是,那么如何?
答案 0 :(得分:3)
您无法一步完成此操作,但您可以在两个步骤中完成此操作。
.Range("A2").Resize(UBound(myArray, 1)) = application.index(myArray, 0, 2)
.Range("C2").Resize(UBound(myArray, 1)) = application.index(myArray, 0, 3)