Qbik
Qbik

Reputation: 6157

How to paste part of two dimensional array into worksheet range without using loop?

How to paste part of two dimensional array into worksheet range without using loop ? Pasting whole array is straightforward :

Sub TestPasteArrayIntoRange()

    Dim MyArray As Variant

    MyArray = [{1,2;3,4;5,101}]

    selection.Resize(UBound(MyArray, 1), UBound(MyArray, 2)) = MyArray

End Sub

But what about pasting only second row (first row we could past in by simple reducing selection size to one row) ? I've seen answer for case of one dimensional array which use Index Excel function, but it doesn't apply here.

My first idea was to copy array into range and then copy row from it, but it seems, that I cannot create range object which is not part of some worksheet object (expecially cannot create virtual range without virtual worksheet).

Upvotes: 0

Views: 2753

Answers (1)

ChE Junkie
ChE Junkie

Reputation: 326

I think you will just have to create another function like e.g. GetRow() or GetColumn() to return a reduced vector (or array) with the select values you need. There are some functions here that you can use for your purpose: http://www.cpearson.com/excel/vbaarrays.htm

Upvotes: 1

Related Questions