Option Explicit
Private Sub CommandButton1_Click()
Dim i As Byte, t As MSForms.TextBox
If Not IsNumeric(TextBox1) Then Exit Sub
For i = 1 To CByte(TextBox1)
Set t = UserForm2.Controls.Add("Forms.TextBox.1")
t.Top = t.Height * (i - 1)
Next i
UserForm2.Show
End Sub