No sé cual será la utilidad que darás al array de controles TextBox, pero puedes utilizar el siguiente código (He probado y funciona correctamente). Lamentablemente pierdes el control de eventos de los mismos, al menos no he sabido encontrar el truco.
Código:
Option Explicit
Dim txt() As TextBox
Private Sub Command1_Click()
On Local Error Resume Next
Dim msg As String
Dim i As Long, j As Long
msg = "Contenido de controles" + vbNewLine
msg = msg + "==================================" + vbNewLine
For i = 1 To 2
For j = 1 To 5
msg = msg + "txt(" + CStr(i) + ", " + CStr(j) + "): " + txt(i, j) + vbNewLine
Next j
Next i
MsgBox msg
End Sub
Private Sub Form_Load()
Dim i As Integer, j As Integer
Dim pX As Long
Dim pY As Long
ReDim txt(1 To 2, 1 To 5)
For i = 1 To 2
pX = (i - 1) * 2000 + 256
pY = 0
For j = 1 To 5
pY = (j - 1) * 450 + 256
Set txt(i, j) = Controls.Add("VB.TextBox", "txt" + CStr(i) + CStr(j))
txt(i, j).Left = pX: txt(i, j).Top = pY
txt(i, j).Text = "Text(" + CStr(i) + ", " + CStr(j) + ")"
txt(i, j).Height = 285
txt(i, j).Visible = True
Next j
Next i
End Sub