Variable Name

L

LadaDriver

Hi,

a little problem.

How can I access to my variables in a loop

Ex :

Dim Name1 as string
Dim Name2 as string
Dim Name3 as string

sub Test

Name1 = "X"
Name2 = "Y"
Name3 = "Z"
For i = 1 to 3
msgbox(*Name & i*) 'should display X then Y then Z
Next i
End Su
 
D

DNF Karran

I tried that once before and never found a way of doing it- I don'
think it can be done. What you can do though is create an arra
(matrix) and loop though the elements- Be aware the first element i
indexed as zero not 1.

Dim arMyArray(2) as Long

For i = 0 to 2
armyarray(i) = i*5
next i

The variable will be:

arMyArray = (0,5,10)

and to get the values back out just specify the index-

arMyArray(1) = 5

Dunca
 
F

Frank Kabel

Hi
use an array variable. e.g.
dim name(1 to 3) as string
dim i
name(1)="test1"
name(2)="test2"
name(3)="test3"
for i = 1 to 3
msgbox name(i)
next
 
L

Leo Heuser

Hi

You have to use arrays in this situation:
Sub Test
Dim i As Long
Dim Name(1 to 3) As Variant

Name(1) = "X"
Name(2) = "Y"
Name(3) = "Z"
For i = 1 to 3
msgbox Name(i)
Next i
End Sub
 
D

Dana DeLouis

Just to throw something out. I know this is most likely not useful, but
thought I would mention it. In "some" situations, the following "very
general idea" can simplify certain code.
A dedicated routine to update the Coll. helps.

Sub Demo()
Dim nm1
Dim nm2
Dim j
Dim v As New Collection

nm1 = "x"
nm2 = "y"

v.Add Array("nm1", nm1), "nm1"
v.Add Array("nm2", nm2), "nm2"

For j = 1 To v.Count
Debug.Print v(j)(0) & " holds -> " & v(j)(1)
Next j
End Sub

Returns...

nm1 holds -> x
nm2 holds -> y
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top