Getting data into an array
I don't have the full solution but the following code can be used to obtain
the correctly sized array...
Sub Create_Array()
'highlight the three ranges
Dim r As Range
Dim row As Integer, col As Integer
Dim arr() As Integer
For Each r In Selection.Areas
If col < r.Columns.Count Then
col = r.Columns.Count
End If
row = row + r.Rows.Count
Next r
ReDim arr(row, col) As Integer
End Sub
"xp" wrote:
I have three discontiguous ranges, each with the same number of columns, but
each may have a different number of rows.
I want to copy the data from each of the ranges into a single array
preserving their relative row/column positions from the source.
When the array is written out, it should write the data into cells in the
same relative position, but as a single contiguous range.
So, for example, if the source has three sets of selections, each 5 columns
wide, one has two rows, one has three rows, and one has four rows, then the
data should write out as a single contiguous range having 9 rows and 5
columns.
Mostly, I need help with getting the data into the array, I think I can take
care of the write out.
Thanks much for your help!
|