View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
dan dan is offline
external usenet poster
 
Posts: 866
Default 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!