Con sólo unas pocas líneas de código, podemos fácilmente hacer un bucle a través de los controles en un Excel VBA Userform . El Userform que vamos a crear tiene el siguiente aspecto:
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. 2. Haga clic en Insertar, Formulario de usuario. 3. Si la Caja de herramientas no aparece automáticamente, haga clic en Ver, Caja de herramientas. La pantalla debe configurarse como se indica a continuación.
3. Añade la etiqueta, las casillas de verificación (la primera en la parte superior, la segunda debajo de la primera, y así sucesivamente) y el botón de comando. Una vez que esto se haya completado, el resultado debe ser consistente con la imagen del Formulario de Usuario mostrado anteriormente. Por ejemplo, cree un control de casilla de verificación haciendo clic en CheckBox desde la Caja de Herramientas. A continuación, puede arrastrar una casilla de control en el Formulario de Usuario.
4. Puedes cambiar los nombres y los títulos de los controles. Los nombres se usan en el código VBA de Excel. Los subtítulos son los que aparecen en la pantalla. Es una buena práctica cambiar los nombres de los controles, pero no es necesario aquí porque sólo tenemos unos pocos controles en este ejemplo. Para cambiar la leyenda del formulario de usuario, la etiqueta, las casillas de verificación 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 añada la siguiente línea de código:
Soldado Sub Sub CommandButton1_Click() Formulario de usuario1.Show End Sub
Hemos creado la primera parte de la forma de usuario. Aunque ya se ve bien, no pasará nada todavía cuando hagamos clic en el botón de Borrar.
6. Abre el Editor de Visual Basic.
7. En el Explorador del Proyecto, haga doble clic en UserForm1.
8. Haga doble clic en el botón Borrar.
9. Añade las siguientes líneas de código:
Soldado Sub Sub CommandButton1_Click() Diminuto control como control Por cada contr en UserForm1.Controls Si TypeName(contr) = «CheckBox» entonces contr.Valor = Falso Finalizar si Siguiente End Sub
Explicación: Excel VBA pasa por todos los controles del formulario de usuario. La función TypeName se utiliza para filtrar los controles de la casilla de verificación. Si un control de casilla de verificación, Excel VBA desmarca la casilla de verificación. El control se elige al azar aquí, se puede utilizar cualquier nombre. Recuerda hacer referencia a este nombre en el resto del código.
Resultado al hacer clic en el botón Borrar: