如何在不使用循环的情况下将二维数组的一部分粘贴到工作表范围中



如何在不使用循环的情况下将二维数组的一部分粘贴到工作表范围中?粘贴整个数组很简单:

Sub TestPasteArrayIntoRange()
    Dim MyArray As Variant
    MyArray = [{1,2;3,4;5,101}]
    selection.Resize(UBound(MyArray, 1), UBound(MyArray, 2)) = MyArray
End Sub

但是只粘贴第二行(我们可以通过简单地将选择大小减小到一行来跳过第一行(呢?我已经看到了使用Excel函数的一维数组情况Index答案,但它不适用于这里。

的第一个想法是将数组复制到范围内,然后从中复制行,但似乎我无法创建不属于某个工作表对象的范围对象(特别是无法在没有虚拟工作表的情况下创建虚拟范围(。

我认为您只需要创建另一个函数,例如 GetRow(( 或 GetColumn(( 即可返回具有所需选择值的简化向量(或数组(。这里有一些函数可用于您的目的:http://www.cpearson.com/excel/vbaarrays.htm

最新更新