Hey Starl,
You can create an array from a range easily:
MyData = Range("A2:Z1000").Value
Then, later you could use:
For i = 1 to UBound(MyData, 1)
For j = 1 to UBound(MyData, 2)
debug.Print MyData(i, j)
Next j
Next i
If you need to store the array, you can store the entire array in a workbook name:
Names.Add Name:="MyName", RefersTo:=MyData
Limits in Excel 2000 or earlier on storing a range in a name: 256 columns and not more than 5461 elements total. In XL2002 or later, the size is limited only by memory.
Credit to Bullen's "Excel 2002 VBA"
Bill