Van lijst naar tekstvakken
- Vraag van een Excel gebruiker: kan ik in een lijst een aantal dingen laten aankruisen (MultiSelect = True) en die verschillende geselecteerde items in verschillende tekstvakken laten weergeven?
- Ja, dat kan. VBA kent geen arrays van controls, maar je kan dat oplossen als je een aantal controls maakt met een gelijkaardige naam (bv. Textbox1 tot TextBox25; het moeten er in elk geval voldoen,de zijn. Je kan die Controls dan bereiken met het Control sleutelwoord en de naam.
- Bijvoorbeeld als volgt (code wordt uitgevoerd als de gebruiker geklikt heeft om verschillende items te selecteren:
Private Sub Listbox1_MouseUp(ByVal Button As Integer, ByVal Shift As
Integer, ByVal X As Single, ByVal Y As Single)
Dim i As Integer
Listbox1.Value = ""
For i = 0 To Listbox1.ListCount - 1
If Listbox1.Selected(i) = True Then
Textbox1.Value = Textbox1.Value & Listbox1.List(i) & ","
End If
Next i
If Textbox1.Value <> "" Then Textbox1.Value = Left(Textbox1.Value,
Len(Textbox1.Value) - 1)
End Sub
[VB Web] - [hlrnet] - [copyright]