Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Dynamic Arrays | Excel Discussion (Misc queries) | |||
Dynamic arrays | New Users to Excel | |||
Dynamic Arrays | Excel Worksheet Functions | |||
Dynamic Arrays | Excel Programming | |||
Dynamic Arrays and Formulae | Excel Programming |