Al crear formularios de usuario en Excel VBA , puede usar la colección Controles para recorrer fácilmente los controles y establecer una propiedad de cada control en un valor específico.

El formulario de usuario que vamos a crear tiene el siguiente aspecto:

Colección de controles en Excel VBA

Para crear este formulario de usuario, ejecute los siguientes pasos:

1. Abra el Editor de Visual Basic . Si el Explorador de proyectos no está visible, haga clic en Ver, Explorador de proyectos.

2. Haga clic en Insertar, formulario de usuario. Si la Caja de herramientas no aparece automáticamente, haga clic en Ver, Caja de herramientas. Su pantalla debe configurarse como se muestra a continuación.

Configuración de pantalla de formulario de usuario en Excel VBA

3. Agregue la etiqueta, los cuadros de texto (primero en la parte superior, el segundo debajo del primero, y así sucesivamente) y el botón de comando. Una vez que se haya completado, el resultado debe ser coherente con la imagen del formulario de usuario que se mostró anteriormente. Por ejemplo, cree un control de cuadro de texto haciendo clic en TextBox en el cuadro de herramientas. A continuación, puede arrastrar un cuadro de texto en el formulario de usuario.

4. Para cambiar el título del formulario de usuario, la etiqueta y el botón de comando, haga clic en Ver, Ventana Propiedades y haga clic en cada control.

5. Para mostrar el formulario de usuario, coloque un botón de comando en su hoja de trabajo y agregue la siguiente línea de código:

Private Sub CommandButton1_Click()

UserForm1.Show vbModeless

End Sub

Explicación: al agregar vbModeless, puede usar el formulario de usuario y trabajar en su hoja de trabajo al mismo tiempo.

Ahora hemos creado la primera parte del formulario de usuario. Aunque ya se ve ordenado, no sucederá nada aún cuando hagamos clic en el botón de comando en el formulario de usuario.

6. Abra el Editor de Visual Basic .

7. En el Explorador de proyectos, haga doble clic en UserForm1.

8. Haga doble clic en el botón de comando.

9. Agregue las siguientes líneas de código:

Private Sub CommandButton1_Click()

Dim i As Integer

For i = 1 To 10
    Controls("TextBox" & i).Value = Cells(i + 1, 1).Value
Next i

End Sub

Explicación: Con solo unas pocas líneas de código, podemos llenar los cuadros de texto con los números de teléfono de la hoja. Usamos el operador & para concatenar (unir) los elementos. Estas líneas de código funcionan porque no cambiamos los nombres de los controles del cuadro de texto (TextBox1, TextBox2, TextBox3, etc.). Para cambiar los nombres de los controles, haga clic en Ver, Ventana Propiedades y haga clic en cada control.

Resultado al hacer clic en el botón de comando en la hoja:

Resultado de la colección de controles

9/11 Completado! Obtenga más información sobre los formularios de usuario>
Siguiente capítulo: Rango