variable element vba

Alles over programmeren en development binnen de IT-wereld
Plaats reactie
Gebruikersavatar
defenderII
Premium Member
Premium Member
Berichten: 488
Lid geworden op: 03 feb 2004, 14:41
Locatie: Zolder
Uitgedeelde bedankjes: 8 keer
Bedankt: 18 keer

ik heb volgend probleem in vba
ik heb verschillende textbox elementen waarde1, waarde2, ....
via een loop zou ik bv de height waarde willen veranden; dit dacht ik als volgt willen doen
for i=1 to 10
waarde(i).height = 125
next i

dit werkt echter niet
kan iemand mij opweg helpen om dit op te lossen?
Gebruikersavatar
honda4life
Moderator
Moderator
Berichten: 6132
Lid geworden op: 03 jan 2010, 21:42
Locatie: 127.0.0.1
Uitgedeelde bedankjes: 213 keer
Bedankt: 391 keer
Provider

bij je waarde(i) vermoed ik dat je datatype een array is, terwijl je datatype een object is.
Hoe je dat volgens mij kan oplossen denk ik is door je textboxen
tekstbox(1) enz te noemen, zodat dit ook een array is
Is al veel te lang geleden dat ik met vba gewerkt heb helaas.
✂ – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
Gebruikersavatar
cptKangaroo
Elite Poster
Elite Poster
Berichten: 3269
Lid geworden op: 18 dec 2004, 14:33
Locatie: 053 Aalst
Uitgedeelde bedankjes: 748 keer
Bedankt: 250 keer
Provider
Te Koop forum

Zoiets misschien: (ben ook niet meer vertrouwd met VBA)

For i=0 to 10
Form1.Controls("waarde" & i).Height = 125
Next i

(of de Controls collectie van een ander Form of object, natuurlijk)
Maglor
Elite Poster
Elite Poster
Berichten: 2050
Lid geworden op: 06 dec 2004, 16:26
Uitgedeelde bedankjes: 139 keer
Bedankt: 56 keer

Je kan de textboxen ook in een frame plaatsen en dan het volgende doen:

Dim txtB As Control
For Each txtB In Frame1.Controls
txtB.Height = 120
Next
There are 10 types of people in the world: those who understand binary, and those who don't.
BMaster
Elite Poster
Elite Poster
Berichten: 951
Lid geworden op: 01 apr 2005, 16:46
Uitgedeelde bedankjes: 42 keer
Bedankt: 45 keer

In de gewone VB (heb ook geen ervaring in VBA) heb je behalve de Name van een textbox ook een Index property. Hier kan je dan een array mee maken. Noem de eerste textbox "Waarde" en zet de Index op 1. De tweede textbox noem je hetzelfde maar geef je Index 2. Enzovoort. De for-lus zoals je ze in de eerste post hebt staan zal dan wel werken.
Gebruikersavatar
honda4life
Moderator
Moderator
Berichten: 6132
Lid geworden op: 03 jan 2010, 21:42
Locatie: 127.0.0.1
Uitgedeelde bedankjes: 213 keer
Bedankt: 391 keer
Provider

BMaster schreef:In de gewone VB (heb ook geen ervaring in VBA) heb je behalve de Name van een textbox ook een Index property. Hier kan je dan een array mee maken. Noem de eerste textbox "Waarde" en zet de Index op 1. De tweede textbox noem je hetzelfde maar geef je Index 2. Enzovoort. De for-lus zoals je ze in de eerste post hebt staan zal dan wel werken.
Inderdaad ja, er beginnen me terug dingen te binnen te schieten, volgens mij maakt hij zelf die arrays aan als je textboxen kopieert en plakt in je form :wink:
✂ – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
BMaster
Elite Poster
Elite Poster
Berichten: 951
Lid geworden op: 01 apr 2005, 16:46
Uitgedeelde bedankjes: 42 keer
Bedankt: 45 keer

honda4life schreef:
BMaster schreef:In de gewone VB (heb ook geen ervaring in VBA) heb je behalve de Name van een textbox ook een Index property. Hier kan je dan een array mee maken. Noem de eerste textbox "Waarde" en zet de Index op 1. De tweede textbox noem je hetzelfde maar geef je Index 2. Enzovoort. De for-lus zoals je ze in de eerste post hebt staan zal dan wel werken.
Inderdaad ja, er beginnen me terug dingen te binnen te schieten, volgens mij maakt hij zelf die arrays aan als je textboxen kopieert en plakt in je form :wink:
Ongeveer... hij stelt geloof ik een vraag in het genre van "do you want to create a control array?". Maar dat is dus de gewone oeroude VB6.. Geen idee hoe VBA daarmee omgaat!
Gebruikersavatar
honda4life
Moderator
Moderator
Berichten: 6132
Lid geworden op: 03 jan 2010, 21:42
Locatie: 127.0.0.1
Uitgedeelde bedankjes: 213 keer
Bedankt: 391 keer
Provider

Identiek wat betreft forms :wink:
Heb er nog een heel mooi eindwerk gedaan met VBA 8)
Hoe het juist zit met bijvoorbeeld een knopje in de application weet ik echter niet.
✂ – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
Gebruikersavatar
kweezie wabbit
Plus Member
Plus Member
Berichten: 158
Lid geworden op: 28 feb 2007, 14:55

defenderII schreef: for i=1 to 10
waarde(i).height = 125
next i
Deze notering verwijst inderdaad naar een array
Prober eens met waarde & i
Als je tegen de lamp loopt, breng dan wat licht mee.
Gebruikersavatar
defenderII
Premium Member
Premium Member
Berichten: 488
Lid geworden op: 03 feb 2004, 14:41
Locatie: Zolder
Uitgedeelde bedankjes: 8 keer
Bedankt: 18 keer

ik ge deze oplossingen eens uitproberen en zien wat er (het best in mijn geval) werk; in ieder geval al bedankt voor deze reacties :wink:
BMaster
Elite Poster
Elite Poster
Berichten: 951
Lid geworden op: 01 apr 2005, 16:46
Uitgedeelde bedankjes: 42 keer
Bedankt: 45 keer

kweezie wabbit schreef:
defenderII schreef: for i=1 to 10
waarde(i).height = 125
next i
Deze notering verwijst inderdaad naar een array
Prober eens met waarde & i
hoe zou je dat dan exact noteren? "waarde & i.height = 125"? Dat gaat niet werken hoor...
Plaats reactie

Terug naar “Development”