creating an array on the fly
Using ReDim Preserve within the loop is inefficient. Might better consider
ReDim myArray(1 To 50)
For y = 1 To 20
myArray(y) = Cells(y, 1).Value
msg = msg & vbCrLf & y & " " & myArray(y)
Next
ReDim Preserve myArray(1 To y - 1)
Alan Beban
Will wrote:
Gary,
Not too difficult.. you'll need to declare the array with no
constraints in the parenthesis first
Each time in your loop you need the statement "Redim Preserve" prior to
making the variable assignment.. see example below.
-------------
Option Base 1
Dim myArray() As String
Dim y As Integer
Dim msg As String
Sub redim_myArray()
msg = "myArray"
For y = 1 To 20
ReDim Preserve myArray(1 To y)
myArray(y) = Cells(y, 1).Value
msg = msg & vbCrLf & y & " " & myArray(y)
Next
MsgBox (msg)
End Sub
ReDim Preserve myArray(1 To y)
Gary Keramidas wrote:
what is the syntax for creating an array while running a for next loop?
let's say the array is called arr, the string to add is called sStr. there could
be up to 50 elements.
thanks
--
Gary
|