Just to add that this fails for an array > 65536 rows.
Since the OP said it was too large to put on a worksheet. (which could mean
it is larger than the limit)
> Actually you can use Index to return a specific column of an array...
>
[quoted text clipped - 35 lines]
> Thanks a lot
> Lloyd
Basically the index is maxed at Long number limit. I don't think any array
can that more than that.
I guess you can create your own 2D Matrix using double as index and go
beyound the limit. And use Array of Arrays to store more data.
Like have a MyArray(65536 , 65536)
And put a lot of them in A collection(MyArray)
And calculate the double index to map your matrix
This is a bad example because array like that waste a lot of memory. Anyway,
you get the idea.
> Just to add that this fails for an array > 65536 rows.
>
[quoted text clipped - 40 lines]
> > Thanks a lot
> > Lloyd
Tom,
Thanks for that; I have added a comment to my notes on indexing Arrays.
The following is all I could come up with to "pull out" a
column from a larger array. It does work almost instantly...
Regards,
Jim Cone
San Francisco, USA
--------------------------
Sub CreateSuperSizeMeArray_R1()
Dim arr(1 To 66000, 1 To 5) As Long
Dim arrCol() As Long
Dim j As Long
Dim i As Long
For i = 1 To 66000
For j = 1 To 5
arr(i, j) = i + j * 100
Next j
Next i
'Create single column array containing the 3rd column of arr.
ReDim arrCol(LBound(arr, 1) To UBound(arr, 1), 1 To 1)
For i = LBound(arr, 1) To UBound(arr, 1)
arrCol(i, 1) = arr(i, 3)
Next 'i
MsgBox arrCol(1, 1) & vbCr & _
arrCol(33000, 1) & vbCr & _
arrCol(66000, 1)
End Sub
'------------
"Tom Ogilvy" <twogilvy@msn.com>
wrote in message
Just to add that this fails for an array > 65536 rows.
Since the OP said it was too large to put on a worksheet. (which could mean
it is larger than the limit)

Signature
regards,
Tom Ogilvy
"Jim Cone" <jim.coneXXX@rcn.comXXX>
wrote in message
Actually you can use Index to return a specific column of an array...
>
> Sub CreateSuperSizeMeArray()
[quoted text clipped - 34 lines]
> Thanks a lot
> Lloyd
Alan Beban - 17 Dec 2006 03:37 GMT
If the functions in the freely downloadable file at
http://home.pacbell.net/beban are available to your workbook, another way is
> Sub CreateSuperSizeMeArray_R1()
> Dim arr(1 To 66000, 1 To 5) As Long
[quoted text clipped - 9 lines]
>
> 'Create single column array containing the 3rd column of arr.
newArray = SubArray(arr, 3, 3, 1, 66000)
End Sub
>Jim Cone wrote:
> Tom,
[quoted text clipped - 35 lines]
> Since the OP said it was too large to put on a worksheet. (which could mean
> it is larger than the limit)