Thread: Dynamic Arrays
View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Rick Rothstein Rick Rothstein is offline
external usenet poster
 
Posts: 5,934
Default Dynamic Arrays

I would probably do the ReDim statement this way...

ReDim aCom(1 To 2, 0 To flstRow - 2)

I know the "0 To" part of the second element is not required, but I think it
adds clarity... the "1 To" part of the first element insures an unused 0
index is not created for the first element.

--
Rick (MVP - Excel)


"Jacob Skaria" wrote in message
...
What Gary meant is just above the loop...ReDim aCom(2, flstRow - 2)


Sub Macro()
Dim aCom As Variant, x As Long, flstRow As Long

flstRow = something
ReDim aCom(2, flstRow - 2)
For x = 2 To flstRow
aCom(1, x - 2) = Range("A" & x).Value
aCom(2, x - 2) = Range("M" & x).Value
Next x
End Sub
If this post helps click Yes
---------------
Jacob Skaria


"Gary''s Student" wrote:

try ReDim before the loop:

Sub sistence()
x = 100
ReDim aCom(2, x - 2)
End Sub

--
Gary''s Student - gsnu200906


"QB" wrote:

I am trying to generate an array on the fly

For x = 2 To flstRow
aCom(1, x - 2) = Range("A" & x).Value
aCom(2, x - 2) = Range("M" & x).Value
Next x

but when I run the code I keep getting a Subscript out of range error
and it
highlights the x-2 part of my code. How can I loop through the row of
a
table and populate a 2 dimensional array with the values?

QB