Solucionar el siguiente bucle en VBA Excel

Hola, 

En primer lugar agradecer a quien me consiga orientar para conseguir realizar el bucle que expongo a realizar con VBA Excel. Tengo un poco de experiencia, pero no la suficiente.

El caso es este:

1.- En el proyecto tengo 10 formularios cuyo nombres son: n1, n2, n3 ........n10.

2.- En cada uno de estos formularios tengo 30 TextBox con estos nombres:

zz13, zz14,zz15
zz23, zz24, zz25
zz33, zz34, zz35
.
.
zz103, zz104, zz105

3.-Quiero pasar en bucle algunos de los TextBox de algunos formularios (el "algunos"
depende de otras condiciones que no expongo aquí para no enrollarme y
porque no son mi problema) de tal manera que cada uno de esos TexBox tomen los valores que le indico en otros TextBox que están situados en otro formulario (for001). Por ejemplo, sería así:

PARA EL FORMULARIO n1:

* los Texbox zz13, zz23 .... Zz103  del form. n1 tomarían el valor de otro texbox llamado gg1

* los Texbox zz14, zz24 .... Zz104 del form. N1 tomarían el valor de otro texbox llamado sg1

* los Texbox zz15, zz25 .... Zz105 del form. N1 tomarían el valor de otro texbox llamado vg1

PARA EL FORMULARIO n2:
* los Texbox zz13, zz23 .... Zz103 del form. N2 tomarían el valor de otro texbox llamado gg2
* los Texbox zz14, zz24 .... Zz104 del form. N2 tomarían el valor de otro texbox llamado sg2
* los Texbox zz15, zz25 .... Zz105 del form. N2 tomarían el valor de otro texbox llamado vg2

.

.

PARA EL FORMULARIO n10:
* los Texbox zz13, zz23 .... Zz103 del form. N10 tomarían el valor de otro texbox llamado gg10
* los Texbox zz14, zz24 .... Zz104 del form. N10 tomarían el valor de otro texbox llamado sg10
* los Texbox zz15, zz25 .... Zz105 del form. N10 tomarían el valor de otro texbox llamado vg10

4.- Lo que consigo hacer yo es esto:

For i= 1 To tb001.Value
     For j = 3 To 5
     nombre = "zz" & i & j
          For Each UserForm In UserForms
               For Each CommandButton In n1.Controls
                     If CommandButton.Name = nombre Then
                           Select Case j
                           Case Is = 3
                           CommandButton.Value = gg1.Value
                           Case Is = 4
                           CommandButton.Value = sg1.Value
                           Case Is = 5
                           CommandButton.Value = vg1.Value
                           End Select
                     End If
              Next CommandButton
         Next UserForm
     Next j
Next i

Como ven, esto lo hago para el formulario n1 y tendría que repetirlo para el n2 y demás. Pero quiero que lo haga de forma automática. Intento hacer esto, pero no me deja:

* For Each CommandButton In n & i.Controls

* CommandButton.Value = gg & i.Value

Tal vez sólo es un error gramatical.

¿Qué solución hay para esto?

Como he dicho, agradezco de antemano la ayuda.

Añade tu respuesta

Haz clic para o