Ich erstelle mit folgendem Code eine variable Anzahl Labels (in Frame Jugendliche) und jeweils 2 Optionbuttons sowie ein Textfeld, nicht mehr Combobox (in Frame Schulbesuch). Letzteres Feld ist unsichtbar.
Das klappt grundsätzlich hervorragend, nur würde ich sehr gerne realisieren, dass das jeweils zugehörige Textfeld erst sichtbar wird, wenn man den zweiten Optionbutton (Option nein) anklickt.
Normalerweise würde ich dafür einfach ein Button_click event nehmen und da reinschreiben, dass Textfeld.visible = true ist.
Jetzt habe ich aber ja zu dem Zeitpunkt wo ich das erstellen lassen die Buttons noch nicht und weiß auch nicht wie viele das sind.
Daher weiß ich nicht wie ich das am besten realisieren kann, nach ausgiebigem googeln war ich eben auf diese "Code durch Code" Variante gestoßen, aber gerne nehme ich auch Hinweise entgegen wie sich das anders lösen lässt.
For i = 1 To anzahl
Set box = Me.Jugendliche.Controls.Add("Forms.Label.1")
With box
.name = "Text" & i
.Caption = wks.Cells(i + 1, 1).Value & " " & wks.Cells(i + 1, 2).Value
.Top = i * 25
.Left = 2
.Height = 20
.Width = 400
End With
Set box = Me.Schulbesuch.Controls.Add("Forms.OptionButton.1")
With box
.name = "Option1" & i
.GroupName = i
.Caption = "Ja"
.Top = i * 25
.Left = 2
.Height = 20
.Width = 32
End With
Set box = Me.Schulbesuch.Controls.Add("Forms.OptionButton.1")
With box
.name = "Option2" & i
.GroupName = i
.Caption = "Nein"
.Top = i * 25
.Left = 40
.Height = 20
.Width = 40
End With
Set box = Me.Schulbesuch.Controls.Add("Forms.TextBox.1")
With box
.name = "Textbox" & i
.Top = i * 25
.Left = 100
.Height = 20
.Width = 200
.Visible = False
End With
Next
|