Well at least I got one part right. Here's another way, but be warned, it will also create labels with captions. You could remove that as I was just playing around. Have never seen it necessary to to this, so the reason intrigues me. This creates 2 columns of 50 textboxes per column.
Code:
Sub NewControls2()
Dim frm As Form
Dim ctl As Control
Dim a As Integer, i As Integer
Set frm = CreateForm
frm.RecordSource = "Sheet1"
frm.DefaultView = 1 'Continius form
For a = 1 To 50
'create 1st column textboxes then label then assign caption
Set ctl = CreateControl(frm.Name, acTextBox, , "", "", 1200, a * 400, 1000, 350)
Set ctl = CreateControl(frm.Name, acLabel, , ctl.Name, , 125, a * 400, 1000, 350)
ctl.Caption = "Textbox" & a
'create 2nd column textboxes then label then assign caption
Set ctl = CreateControl(frm.Name, acTextBox, , , , 3800, a * 400, 1000, 350)
Set ctl = CreateControl(frm.Name, acLabel, , ctl.Name, , 2600, a * 400, 1100, 350)
ctl.Caption = "Textbox" & (a + 50)
Next a
End Sub