Controles VBA en Excel: Formularios y ActiveX
⚡ Resumen inteligente
Los controles VBA en Excel son los elementos interactivos, como botones, casillas de verificación y cuadros de texto, que conforman una interfaz gráfica de usuario. Esta página explica los controles de formulario, los controles ActiveX, las diferencias entre ambas familias y ofrece un ejemplo paso a paso de un botón de comando ActiveX.

Controles VBA: control de formularios VBA y controles ActiveX en Excel
Controles de formulario/GUI de VBA en Excel
GUI es el acrónimo de Interfaz Gráfica de Usuario. La GUI es la parte del programa con la que interactúa el usuario. Una GUI está formada por controles. Estos controles VBA de Excel se pueden utilizar en un formulario. La siguiente tabla muestra algunos de los controles VBA GUI más utilizados.
| S / N | Control | Mareas Ideales para Lecciones |
|---|---|---|
| 1 | Comando | Se utiliza para ejecutar código. |
| 2 | Combinada Box | Se utiliza para presentar una lista desplegable a los usuarios. |
| 3 | Comprobar Box | Se utiliza para valores verdaderos o falsos. Varias casillas de verificación pueden tener un valor verdadero al mismo tiempo. |
| 4 | Lista Box | Se utiliza para presentar una lista simple a los usuarios. |
| 5 | Texto Box | Se utiliza para aceptar la entrada del usuario. |
| 6 | Barra de desplazamiento | Se utiliza para proporcionar una barra de desplazamiento con fines de navegación. |
| 7 | Botón Girar | Se utiliza para incrementar o disminuir valores numéricos haciendo clic en las flechas hacia arriba o hacia abajo que aparecen en el botón Girar. |
| 8 | Botón de opción | Se utiliza para valores verdaderos o falsos. Sólo un botón de opción puede tener un valor verdadero a la vez. |
| 9 | Etiqueta | Se utiliza para mostrar texto estático al usuario. |
| 10 | Imagen | Se utiliza para mostrar imágenes. |
| 11 | Toggle Botón | Botón que tiene estados presionado y no presionado. |
En el control GUI de VBA,
- Haga clic en la pestaña de desarrollador
- Haga clic en el botón Insertar menú desplegable
Obtendrá el siguiente panel desplegable
Si pasa el mouse sobre los controles del formulario VBA, el nombre del control aparecerá como se muestra a continuación
Agregar controles GUI a una hoja de cálculo
Ahora agregaremos un botón de comando a nuestro libro de trabajo, para eso tenemos que
- Haga clic en Insertar menú desplegable
- Haga clic en el botón Comando (Control ActiveX) como se muestra en la imagen de arriba
- Arrastra y dibuja el botón en la hoja.
Configuración de propiedades de control GUI
Ahora configuraremos el título del botón en algo más descriptivo.
- Pulsamos derecho sobre el botón igual que acabamos de crear
- Seleccionar menú de propiedades
- Obtendrá la siguiente ventana de propiedades
- Establezca la propiedad de nombre en btnButton. La propiedad de nombre se utiliza para identificar el control en la ventana de código. btn es el prefijo del botón.
- Establezca la propiedad Título en Haga clic en mí. El texto en la propiedad del título es lo que los usuarios verán en el botón.
Cierra la ventana cuando hayas terminado.
Obtendrás los siguientes resultados.
Diferencia entre controles de formulario y controles ActiveX
Excel ofrece dos familias de controles, y elegir la adecuada simplifica el proyecto. Los controles de formulario están integrados en Excel y ejecutan una única macro asignada, mientras que los controles ActiveX son objetos programables que responden a múltiples eventos mediante código VBA. La siguiente tabla compara ambos tipos.
| Elemento | Controles de forma | Controles ActiveX |
|---|---|---|
| Configuración | Sencillo; asigne una macro al control. | Requiere código de evento VBA para responder. |
| Propiedades | Conjunto limitado de opciones | Amplio, incluyendo fuente, color y comportamiento. |
| Eventos | Acción única al hacer clic | Muchos eventos como Click, Change y GotFocus |
| Compatibilidad | Trabaja en Windows y Mac Excel | Trabaja en Windows Sólo Excel |
| Mejores adecuados para | Tareas rápidas y sencillas en hojas de trabajo | Formularios de usuario interactivos y dinámicos |
En resumen, utilice un control de formulario cuando una sola macro sea suficiente, y elija un control ActiveX cuando la interfaz necesite propiedades complejas o deba reaccionar a varios eventos del usuario.
Requisito previo
Antes de crear el ejemplo ActiveX, prepare el libro de trabajo para que los controles estén disponibles y las macros se puedan guardar.
Configurar Microsoft Excel
Como vemos en el tutorial anterior, asegúrese de que su cinta tenga el ícono "Desarrollador" como se muestra aquí.
Ahora, cambie el nombre de la hoja 1 a "VBA Opera“tor” como se muestra en la captura de pantalla a continuación. Guarde el libro de trabajo con la extensión de archivo Libro de trabajo habilitado para macros de Excel (*.xlsm). (Vea la imagen a continuación)
Después de eso, haga clic en el botón Guardar.
Cómo utilizar el control ActiveX en VBA
Con el libro de trabajo listo, podemos agregar un botón ActiveX funcional. En esta sección sobre controles ActiveX en Excel, veremos cómo incorporar el botón 'commandclick' en VBA y ejecutar un programa mediante dicho botón.
Paso 1) En este paso, haga clic en la opción "insertar botón" del Control Active X. Luego seleccione la opción del botón de comando.
Paso 2) Para insertar “clickcommandbutton1”, arrastre el cursor del mouse a la hoja de Excel.
Paso 3) Luego, haga clic con el botón derecho en el botón de comando y seleccione la opción "Ver". Code.
Paso 4) Comprueba que estás en la hoja correcta. Se abrirá un editor de código. Ingrese su código.
- En el código, definimos el rango A1 a A10.
- Este rango define el número de celda en la hoja de Excel de "A1 a A10".
- A continuación, definimos la cadena “GuruTutorial de VBA 99 en código
- Entonces, cuando haga clic en el botón "comando" en Excel, debería imprimir "Guru99 Tutorial de VBA” en el rango de celdas “A1 a A10”.
Paso 5) En el siguiente paso, guarde el archivo de código y luego salga del editor. Para volver al archivo de Excel, haga clic en el icono de la hoja de Excel. en la extrema izquierda.
Paso 6) En la hoja de Excel, verá que la pestaña Modo de diseño está activada. Asegúrese de que esté "APAGADO" o su código no funcionará.
Paso 7) Cuando el modo de diseño esté desactivado, no aparecerá resaltado en verde. Ahora puedes hacer clic en el botón de comando.
Paso 8) Haz clic en “CommandButton1”. Imprimirá “Guru99 Tutorial de VBA” en el rango de celdas “A1 a A10”.
Descargue Excel que contiene el código anterior
Eventos comunes de controles ActiveX en VBA
Un control ActiveX es potente porque reacciona a los eventos, que son las acciones que el usuario realiza sobre él. Cada evento ejecuta su propia subrutina, por lo que un mismo botón puede comportarse de forma diferente según la acción del usuario. A continuación se enumeran los eventos más comunes.
- Haga clic en – ejecuta el código cuando el usuario hace clic en el control, el evento utilizado en el ejemplo anterior.
- CAMBIAR – se ejecuta cuando cambia el valor de un control, como por ejemplo typing en un cuadro de texto o seleccionando un elemento de un cuadro combinado.
- Concéntrate / Perdiste el foco – Se ejecuta cuando el control gana o pierde el foco, lo que resulta útil para validar la entrada.
- Pulsar teclas – Se ejecuta cuando el usuario pulsa una tecla mientras el control está activo.
- Mover el ratón – Se ejecuta cuando el puntero del ratón se mueve sobre el control.
- Doble clic – Se ejecuta cuando el usuario hace doble clic en el control.
Para agregar código a cualquier evento, active el modo de diseño, haga clic con el botón derecho en el control y seleccione Ver. Codey seleccione el evento de la lista desplegable en la parte superior de la ventana de código.
















