Saludos, ya tenia ratos de no realizar algo parecido, he creado un pequeño ejemplo de como puedes crear formularios por nombre.
Una pequeña gran observación es que los formularios se deben de mostrar modales, ya que cuando termines de usarlos se pueda limpiar la variable que utilizamos para albergar al formulario. De lo contrario se limpiara y luego cuando utilices el formulario VB creará otra variable por lo que no estarás haciendo un buen uso de la memoria.
Existe una manera de hacerlo sin formulario modal pero no me acuerdo
Código vb:
Ver originalPrivate Sub cmdLaunch_Click()
Dim frmX As Form
'Manejo de errores
On Error GoTo ErrorExit
'Añadir un nuevo formulario
Set frmX = Forms.Add(txtFormName.Text)
'Modificarle algunos aspectos
frmX.Caption = "Test"
'Mostrarla Modal
frmX.Show vbModal
'Limpiar la variable
Set frmX = Nothing
Exit Sub
ErrorExit:
If Err.Number = 424 Then
MsgBox "El nombre del formulario no existe en el proyecto", _
vbCritical + vbOKOnly, _
"Error 424"
Else
MsgBox Err.Number & Err.Description
End If
End Sub
Espero que te sea de utilidad