Variabel toegang to een VBA variabele

Status
Niet open voor verdere reacties.

stefanhovens

Gebruiker
Lid geworden
24 nov 2009
Berichten
14
Ik wil graag variabel een variabele oproepen, zie voorbeeld voor uitleg:

Dim Q1 as string
Dim Q2 as string
Dim i as Integer

Sub Start()
i=i+1
"Q" & i= "willekeurige tekst"
end Sub

De eerste keer dat Start word gerunt wordt de tekst wegeschreven in Q1, de tweede keer in Q2. Hoe moet ik Q1 en Q2 nu variabel benaderen, dus het afhankelijk van i pakt hij Q1 of Q2?
 
Laatst bewerkt:
Code:
Sub Start()
 Q1= "geen willekeurige tekst"
end Sub

en kijk ook eens hier.
 
Me is een textbox op een userform?
In dat geval kun je dat met controls doen
Voor dit voorbeeld moeten de textboxen(of comboboxen) als volgt benoemd zijn:
text1, text2 etc.

Code:
Dim lY as long
For lY = 1 To 10 
         Me.Controls("text" & lX) = Cells(lY, 1) 
Next lY
De boxen krijgen zo een waarde uit een cel van van de eerst kolom.
Wanneer Me voor een variabele staat doe je hetzelfde, maar maak je een array aan.

Code:
  Dim sMe(0 to 9) as string
  Dim iY as Integer
      For iY = 0 To 9 
        sMe(iY = Cells(iY, 1) 
  Next iY

De code is alleen als voorbeeld bedoelt.

mvg Leo
 
Laatst bewerkt:
Me is een textbox op een userform?

De Me() functie gebruik ik iid om een textbox en label op een userform te activeren bijvoorbeeld:

in userform gemaakt: lblVraag1

dim i as string

sub start()
Me("lblVraag"&i).caption = "Willekeurige tekst"
ens sub

Bij mijn vraag heb ik het echter over een nieuw aangemaakte variabele die ik wil oproepen, dus een VBA functie die niet tot een userForm behoort! Zie aangepaste eerste vraag voor beter uitleg.
 
Volgens mij is niet mogelijk, maar ik kan het mis hebben.
Je zou een array van strings kunnen declareren en deze vullen.

Code:
Dim Qs as string(2)
Dim i as Integer = 0 (moet static)

Sub Start()
Qs(i) = "willekeurige tekst"
i=i+1
end Sub

Dit werkt nog niet, compiler zal het ws niet accepteren maar de bedoeling is duidelijk lijkt me.
 
Dank je het werkt alsvolgt!


Dim Q(1 To 4) as String
Dim i as integer

sub Start ()
i=1
Q(i) = "Vul hier je gewenste tekst in"
end sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan