You can define a dynamic array as follows:
Dim lngIndex As Long
Dim avarArray As Variant
'One dimension array
'Initialize empty array - ZERO based
Redim avarArray(lngIndex)
'Spin through data preserving prior values
Redim Preserve avarArray(lngIndex)
avarArray(lngIndex) = SomeValue
lngIndex = lngIndex + 1
'Later retrieve the data
For lngIndex = 0 to UBound(avarArray)
Msgbox avarArray(lngIndex)
Next lngIndex
'Multiple dimension array
Redim avarArray(3, lngIndex) '4 by 1 multi dimension
'Spin through data preserving prior values
Redim Preserve avarArray(3, lngIndex)
avarArray(0, lngIndex) = SomeValue1
avarArray(1, lngIndex) = SomeValue2
avarArray(2, lngIndex) = SomeValue3
avarArray(3, lngIndex) = SomeValue4
lngIndex = lngIndex + 1
'Later retrieve the data
For lngIndex = 0 to UBound(avarArray, 2)
Msgbox "Value1: " & avarArray(0, lngIndex) & vbcrlf _
& "Value2: " & avarArray(1, lngIndex) & vbcrlf _
& "Value3: " & avarArray(2, lngIndex) & vbcrlf _
& "Value4: " & avarArray(3, lngIndex)
Next lngIndex
Good Luck!
Have a great day!
j2consulting@yahoo.com