ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Dynamic Arrays (https://www.excelbanter.com/excel-programming/434405-dynamic-arrays.html)

QB

Dynamic Arrays
 
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

Gary''s Student

Dynamic Arrays
 
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


Jacob Skaria

Dynamic Arrays
 
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


Rick Rothstein

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




All times are GMT +1. The time now is 12:42 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com