aantal comboboxen zichtbaar maken naargelang waarde textbox

Status
Niet open voor verdere reacties.

DominiqueAegten

Gebruiker
Lid geworden
16 mrt 2016
Berichten
23
Ik heb een textbox waar ik een waarde kan ingeven van 1 tot 20.

Ik heb 20 comboboxen die onzichtbaar zijn

Als ik in de textbox de waarde "5" in geef, dan moeten de eerste 5 comboboxen zichtbaar worden
Als ik in de textbox de waarde "12" in geef, dan moeten de eerste 12 comboboxen zichtbaar worden
en zo verder

Hoe kan ik dat best doen?
 
Als alle keuzelijsten dezelfde naamstructuur hebben (i.e. je hebt de standaard namen niet aangepast, of het juiste volgnummer gegeven) kun je met een lus, die wordt bepaald door het aantal dat je in het tekstvak hebt staan, zichtbaar maken. In dummycode:
Code:
Sub Testje()
    For i = 1 To Me.Tekstvak
        Me("Combobox" & i).Visible = True
    Next i
End Sub
 
Code:
Private Sub Userform_initialize()
  for j=1 to 20
    me("combobox" & j).visible=j<=1*textbox1.Text
  next
End sub
 
Laatst bewerkt:
Ik begrijp beiden opstellingen, maar ik moet de comboboxen toch eerst ergens eerst onzichtbaar maken?
Doe ik dat in sub userform_initialize() ??
 
In jouw geval begin je natuurlijk met onzichtbare keuzelijsten. Desnoods gebruik je een lus (je hebt nu een paar voorbeelden) om ze allemaal bij het laden onzichtbaar te maken.
 
Met mijn suggestie is dat niet nodig. Test maar.
 
Het werkt niet:-(
Kan het te maken hebben met het feit dat de comboboxen op een page staan? Moet ik de naam van de page dan ook opnemen in de code?
 
Ik heb om het gemakkelijk te maken het aantal comboboxen beperkt tot 4.
Dit zijn hun namen: combobox1, combobox2, combobox3, combobox4
de textbox noemt TextBox1

Ondertussen werkt het gedeeltelijk:
-als ik cijfer 1 in geef, dan verschijn combobox1
-als ik cijfer 2 in geef, dan verschijnt combox1 en 2 , tot zover alles goed
-als ik cijfer selecteer en verander is het ok, als ik het cijfer selecteer en op delete druk of de bakcspace knop om zo het nieuwe cijfer in te geven dan heb ik een error. Ik mag de cijfers niet aanpassen met de delete toets of backspace knop
-bijkomend blijven de comboboxen zichtbaar wanneer ik op start
 
Laatst bewerkt:
ComboBox1.Visible = False
ComboBox2.Visible = False
ComboBox3.Visible = False
ComboBox4.Visible = False


'TextBox1.Value = ("")
'For i = 1 To Me.TextBox1
'Me("Combobox" & i).Visible = True
'Next i

'TextBox1.Value = ("1")
For j = 1 To 4
Me("combobox" & j).Visible = j <= 1 * TextBox1.Text
Next j
 
Gebruik svp code tags !
De textbox heet blijkbaar "textbox1"

Code:
Private Sub Userform_initialize()
  textbox1.Text="6"

  for j=1 to 20
    me("combobox" & j).visible=j<=1*textbox1.Text
  next
End sub
 
Vooreerst dank voor het meedenken.
Ik ben zover dat het werkt. Alleen krijg ik een error als ik de delete -of backspace knop gebruikt om een waarde in te geven in mijn textbox.
Hoe komt dat en wat kan ik er aan doen?
 
Daarom kun je beter een combobox gebruiken waarin de cijfers 1 tot 20 staan.
Een textbox lijkt eerder ontworpen voor teksten dan voor getallen ?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan