/ / Excel VBA Controls Collection

Colección Excel VBA Controls

Al crear Userforms en Excel VBA, puedes usar el Colección de 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 se ve de la siguiente manera:

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 el Cuadro de herramientas no aparece automáticamente, haga clic en Ver, Cuadro de herramientas. Su pantalla debe configurarse como se muestra abajo.

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, etc.) y el botón de comando. Una vez que se haya completado, el resultado debe ser consistente 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 de 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 limpio, no ocurrirá nada 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. Utilizamos el operador & para concatenar (unir) los elementos. Estas líneas de código funcionan porque no cambiamos los nombres de los controles de cuadro de texto (TextBox1, TextBox2, TextBox3, etc.). Para cambiar los nombres de los controles, haga clic en Ver, Ventana de 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

Lea también: