• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Combobox en tekst vakken

Status
Niet open voor verdere reacties.

Dennizz

Gebruiker
Lid geworden
20 mei 2006
Berichten
7
Goeienavond.

Ik heb op mijn userform een combobox staan die de waarden 1 tot en met 20 bevat.
Ook heb ik op mijn userform 20 textboxen staan die visible = false staan.

Graag zou ik willen dat als ik in de combobox bijvoorbeeld 3 selecteer dat dan textbox 1, 2 en 3 zichtbaar zijn.
Hoe ga ik dit verwezelijken.

Alvast bedankt voor jullie hulp.

Gr Dennis
 
Private Sub ComboBox1_Change()
For Aantal = 1 To ComboBox1
Controls("TextBox" & Aantal).Visible = True
Next
End Sub
 
En om de andere meteen invisible te maken en de code wat netter te maken:

Code:
Const AantalTextBoxen = 20

Private Sub ComboBox1_Change()

Dim Aantal as integer

For Aantal = 1 To ComboBox1
    Controls("TextBox" & Aantal).Visible = True
Next
if Combobox1 < Aantaltextboxen
    For AantalUit = Combobox1  +  1 To AantalTextBoxen
        Controls("TextBox" & Aantal).Visible = False
    Next
end if

End Sub
 
Bedankt voor jullie antwoorden.
Het werk wel, maar als ik dus bijvoorbeeld 10 selecteer in de combobox, worden er 10 textboxen weergegeven.
Als ik nu doe 1, dan gaat textbox 2 weg maar 3 tot 10 blijven staan.
Dus de overige textboxen blijven staan.
Ik heb er al uren mee zitten stoeien om het zelf voor elkaar te krijgen, maar geen resultaat.
Kunnen jullie mij nogmaals helpen, het moet voor jullie niet moeilijk zijn.

Alvast weer bedankt voor de moeite.

Gr Dennis
 
Dnereb is vergeten om een teller in de lus te zetten die zorgt dat het aantal tekstboxen weergeeft. En Dnereb was "then" bij de If functie vergeten.

Const AantalTextBoxen = 20

Private Sub ComboBox1_Change()

Dim Aantal As Integer

For Aantal = 1 To ComboBox1
Controls("TextBox" & Aantal).Visible = True
Next
If ComboBox1 < AantalTextBoxen Then
For Aantaluit = ComboBox1 + 1 To AantalTextBoxen
Controls("TextBox" & Aantal).Visible = False
Aantal = Aantal + 1
Next
End If

End Sub
 
Hallo Roncancio,

Dit heeft mijn vraag bijna opgelost en werkt helemaal zoals ik het in gedachten had.
Hiervoor mijn dank en tof dat je zo snel reageerd.
Alleen hoe zit het met de labels die naast de textboxen staan.( zouden ook moeten verschijnen en weergegeven worden)
Deze zijn genummerd van Label17 tot Label36
Dus label17 hoort bij textbox1, Label18 hoor bij textbox2 enz.

Ik hoor het graag van je.

Gr Dennis:thumb:
 
Laatst bewerkt:
Zo dan:

Const AantalTextBoxen = 20

Private Sub ComboBox1_Change()

Dim Aantal As Integer

For Aantal = 1 To ComboBox1
Controls("TextBox" & Aantal).Visible = True
Controls("label" & Aantal + 16).Visible = True
Next
If ComboBox1 < AantalTextBoxen Then
For Aantaluit = ComboBox1 + 1 To AantalTextBoxen
Controls("TextBox" & Aantal).Visible = False
Controls("label" & Aantal + 16).Visible = False
Aantal = Aantal + 1
Next
End If

End Sub
 
Geweldig dat is wat ik zocht.
Onwijs bedankt, en ik ga er mee verder stoeien.

Gr Dennis
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan