Come creare in modo dinamico nuove caselle di text con valori di origine assegnati?

Ho una forma di utente che consente agli utenti di inserire informazioni in tre caselle di text per l'eliminazione di accesso. Questi dati si alimentano nel foglio excel dietro di esso. Ho voluto farlo così dopo che l'utente inserisce i dati nella prima casella creerà altre 3 caselle. Questo model ripeterebbe.

La prima casella è assegnata a 'Elimina registrazioni! A2

Attualmente, sto cercando di farlo, ma senza alcun risultato.

Private Sub Worksheet_Change(ByVal Target As Range) Select Case Left(Target.Address, 2) Case Is = "$A" Dim cCntrl As Control Dim i As Integer For i = 0 To 2 Set cCntrl = UserForm1.Frame10.Controls.Add("Forms.TextBox.1", "Login" & i & Target.Row + 1, True) With cCntrl .Width = UserForm1.TextBox240.Width .Height = UserForm1.TextBox240.Height .Top = (10 + UserForm1.TextBox240.Height) * (Target.Row - 3) .Left = UserForm1.TextBox154.Left + (UserForm1.TextBox154.Width) * i .ControlSource = "'Delete Logins'!" & Chr(65 + i) & Target.Row + 1 End With Next End Select End Sub 

Le prime tre caselle sono assegnate correttamente, ma non creano le nuove caselle di text.

Le caselle di text sono state create, ma non sono state piazzandole correttamente. Erano essenzialmente impilati dietro l'un l'altro.

 Private Sub Worksheet_Change(ByVal Target As Range) Select Case Left(Target.Address, 2) Case Is = "$A" 'If Target.Value <> "" Then 'If UserForm1 <> Nothing Then Dim cCntrl As Control Dim i As Integer For i = 0 To 2 Set cCntrl = UserForm1.Frame10.Controls.Add("Forms.TextBox.1", "Login" & i & Target.Row + 1, True) With cCntrl .Width = UserForm1.TextBox240.Width .Height = UserForm1.TextBox240.Height .Top = (10 + UserForm1.TextBox240.Height) * (Target.Row - 1) .Left = UserForm1.TextBox240.Left + (UserForm1.TextBox240.Width) * i .ControlSource = "'Delete Logins'!" & Chr(65 + i) & Target.Row + 1 End With Next ' End If End Select End Sub Per i = 0 a 2 Private Sub Worksheet_Change(ByVal Target As Range) Select Case Left(Target.Address, 2) Case Is = "$A" 'If Target.Value <> "" Then 'If UserForm1 <> Nothing Then Dim cCntrl As Control Dim i As Integer For i = 0 To 2 Set cCntrl = UserForm1.Frame10.Controls.Add("Forms.TextBox.1", "Login" & i & Target.Row + 1, True) With cCntrl .Width = UserForm1.TextBox240.Width .Height = UserForm1.TextBox240.Height .Top = (10 + UserForm1.TextBox240.Height) * (Target.Row - 1) .Left = UserForm1.TextBox240.Left + (UserForm1.TextBox240.Width) * i .ControlSource = "'Delete Logins'!" & Chr(65 + i) & Target.Row + 1 End With Next ' End If End Select End Sub Fine con Private Sub Worksheet_Change(ByVal Target As Range) Select Case Left(Target.Address, 2) Case Is = "$A" 'If Target.Value <> "" Then 'If UserForm1 <> Nothing Then Dim cCntrl As Control Dim i As Integer For i = 0 To 2 Set cCntrl = UserForm1.Frame10.Controls.Add("Forms.TextBox.1", "Login" & i & Target.Row + 1, True) With cCntrl .Width = UserForm1.TextBox240.Width .Height = UserForm1.TextBox240.Height .Top = (10 + UserForm1.TextBox240.Height) * (Target.Row - 1) .Left = UserForm1.TextBox240.Left + (UserForm1.TextBox240.Width) * i .ControlSource = "'Delete Logins'!" & Chr(65 + i) & Target.Row + 1 End With Next ' End If End Select End Sub