I am working on a Userform where I want to add textboxes every time I click a commandButton. The below code does this :
Private Sub CommandButton1_Click() Dim editBox As Control Set editBox = UserForm1.Controls.Add("Forms.TextBox.1") End Sub
However I think I only add one textbox on click, am I right ? If so, is there a way to add as many textbox as I click on commandButton ?
Also my big issue is to position each textboxes added below each other like in column. Is there a way to do it ?
Or do you suggest me to change the way to add textboxes ?
Arrange textboxes created on the fly
Each click creates a new textBox, without assigning a (changing) value to the
.Top property they got overlapped. Without a name you won’t be in the position to refer to them later.
Private Sub CommandButton2_Click() Static i Dim editBox As MSForms.Control Set editBox = Me.Controls.Add("Forms.TextBox.1") i = i + 1 editBox.Name = "myBox" & i editBox.Top = i * editBox.Height End Sub