Los controles ActiveX son componentes interactivos que se pueden usar en Microsoft Excel para mejorar las capacidades de las hojas de cálculo. Con los controles ActiveX, los usuarios pueden crear interfaces más atractivas y flexibles, como cuadros de texto, cuadros de lista, cuadros combinados, casillas de verificación y botones de opción.
Esta característica cuenta con la tecnología de Visual Basic para Aplicaciones (VBA), que permite a los usuarios escribir código para organizar las interacciones entre los usuarios y las hojas de cálculo de Excel.
La presencia de ActiveX en Excel VBA es esencial porque ofrece una amplia gama de ventajas. Los controles ActiveX proporcionan interacciones más intuitivas, como elegir de una lista o escribir texto. Además, con VBA, los usuarios pueden personalizar el comportamiento y la apariencia de los controles según sea necesario, como rellenar automáticamente los cuadros combinados de la base de datos.
ActiveX también ayuda a reducir los errores de entrada al proporcionar controles estructurados, como una casilla para las opciones Sí/No. Los controles ActiveX se pueden integrar con macros de VBA, lo que permite la automatización de diversas tareas, incluida la validación de datos y la generación de informes dinámicos.

Diferencia entre controles ActiveX y controles de formulario en Excel
En Excel, hay dos tipos principales de controles que puede usar: ActiveX Controls y Form Controls.
| Comparación | ActiveX Controls | Form Controls |
| Interactividad | Más dinámico, programable con VBA | Menos flexible, solo para funciones esenciales |
| Personalización | Cambiar el tamaño, el color y otras propiedades | Limitaciones en la configuración de la pantalla |
| Compatibilidad | Solo funciona en Windows y requiere VBA | Se puede utilizar en Windows y Mac |
| Facilidad de uso | Necesita comprensión de VBA para una configuración avanzada | Fácil de usar sin codificación |
| Respuesta | Puede responder a eventos como clics, desplazamientos o entradas | Solo tiene funciones básicas como ejecutar macros |
Si necesita controles más complejos e integración con VBA, los controles ActiveX son el camino a seguir. Sin embargo, si solo desea usar botones simples o listas sin necesidad de programación, los controles de formulario serán suficientes.
Habilitación de controles ActiveX en Excel
Si ActiveX Controls no funcionan en Excel, es probable que la configuración de seguridad integrada de Excel limite esta característica. Microsoft restringe automáticamente el uso de ActiveX Controls para evitar riesgos de seguridad, como la ejecución de código malintencionado de fuentes no confiables. Por lo tanto, debe cambiar la configuración de seguridad en el Trust Center para que Excel pueda usar ActiveX Controls más libremente. Puede habilitar una opción que permita que los controles ActiveX funcionen sin restricciones o solicitar confirmación antes de activarlos.
Pasos:
- Abra la aplicación Microsoft Excel.
- Haga clic en el menú File, luego seleccione Options y proceda a Trust Center.
- En la ventana que aparece, seleccione Trust Center Settings….
- En el panel izquierdo, busque y seleccione ActiveX Settings.
- Verás varias opciones; Elija una de las siguientes opciones:
- Enable all controls without restrictions and without prompting (Habilite todos los controles sin restricciones ni solicitudes de confirmación).
- O, si desea un mayor nivel de seguridad, elija Prompt me before enabling all controls with minimal restrictions (Solicite confirmación antes de habilitar todos los controles con restricciones mínimas).
- Después de elegir, haga clic en OK y cierre todas las ventanas de configuración que se abran.
Tipos de controles ActiveX y cómo usarlos
En Excel VBA, ActiveX Controls se utilizan para mejorar la interactividad y la automatización en las hojas de trabajo. Estos son algunos de los controles más utilizados y cómo usarlos.
1. Cuadro de texto
El Text Box permite a los usuarios introducir o mostrar texto en una UserForm de Excel o en una hoja de cálculo. Con VBA, podemos establecer el contenido del Text Box, ya sea completando los datos automáticamente o recibiendo entradas de los usuarios.
Cómo crear un cuadro de texto en Excel VBA
- Abra Excel y habilite la pestaña Developer.
- Seleccione Developer > Insert > Text Box (ActiveX Controls).
- Haga clic y arrastre para crear un Text Box en la hoja de cálculo.
- Para agregar un código VBA, haga clic con el botón derecho en Text Box y luego seleccione View Code.
Ejemplo de código VBA para rellenar automáticamente cuadros de texto
El siguiente código rellenará automáticamente el Text Box con texto cuando se ejecute:
TextBox1.Text “Data imported successfully”2. Cuadro de lista
List Box es un elemento de control que sirve para mostrar una lista de selecciones, lo que permite al usuario seleccionar uno o más elementos. Esto es especialmente útil en formularios de entrada de datos o para la navegación entre páginas en aplicaciones que usan Excel VBA.
Cómo agregar datos a un cuadro de lista en Excel VBA
- Abra la pestaña Developer en Excel.
- Seleccione Insert > List Box (ActiveX Controls).
- Haga clic y arrastre para colocar el List Box en la hoja de trabajo.
- Haga clic derecho en List Box > Properties.
Ejemplo de código VBA para agregar elementos al cuadro de lista
Utilice el siguiente código VBA para agregar varios nombres de ciudades al List Box:
With Sheet1.ListBox1
.AddItem “Jakarta”
.AddItem “Surabaya”
.AddItem “Bandung”
End WithEste código se puede colocar en Workbook_Open evento para que los datos se carguen automáticamente cuando se abra el archivo.
Conexión de cuadros de lista con celdas en Excel
Para mostrar los elementos seleccionados del List Box a una celda específica, realice los siguientes pasos:
- Haga clic con el botón derecho en List Box y luego seleccione Properties.
- Busque la propiedad LinkedCell y, a continuación, escriba la dirección de la celda (ejemplo: D3).
- Ahora, cada vez que el usuario seleccione un elemento en el List Box, el valor aparecerá en la celda D3.
Si desea recuperar el valor seleccionado mediante VBA, utilice el siguiente código:
Range(“D3”).Value = ListBox1.Value3. Cuadro combinado
Combo Box es un control ActiveX en Excel VBA que sirve como una lista de opciones que se pueden desplegar. Los usuarios pueden seleccionar un solo elemento de la lista o escribir su texto. A menudo se utiliza un Combo Box en los formularios de entrada para minimizar los errores al introducir datos, ya que los usuarios sólo pueden elegir entre las opciones que se han proporcionado.
Cómo agregar datos dinámicos a un cuadro combinado
Para agregar un Combo Box a una hoja de cálculo, siga estos pasos:
- Abra Excel y asegúrese de que la pestaña Developer esté activada.
- Haga clic en Developer > Insert > Combo Box (ActiveX Controls).
- Haga clic y arrastre para dibujar Combo Box en la hoja de trabajo.
- Haga clic con el botón derecho en Combo Box y luego seleccione Properties.
Ejemplo de código VBA para agregar elementos a un cuadro combinado de forma dinámica
Utilice el siguiente código para agregar elementos al Combo Box automáticamente cuando se abra el libro o se haga clic en el botón:
ComboBox.Add Item “Option 1”
ComboBox1.Add Item “Option 2”
ComboBox1.Add Item “Option 3”Conexión de cuadros combinados con celdas en Excel
Para guardar el valor seleccionado en el Combo Box en una celda específica, realice los siguientes pasos:
- Haga clic con el botón derecho en Combo Box y luego seleccione Properties.
- Busque la propiedad LinkedCell y, a continuación, escriba la dirección de la celda (por ejemplo, D3).
- Ahora, cada vez que el usuario selecciona un elemento en el Combo Box, ese valor aparecerá en la celda D3.
Como alternativa, utilice el siguiente código VBA para guardar el valor de la opción en la celda:
Range(“D3”).Value ComboBox1.Value4. Casilla de verificación
Check Box es un control que permite al usuario seleccionar la opción Ya/Tidak o True/False. Esto es útil para entradas binarias como la confirmación de consentimiento, la selección de características o la activación/desactivación de una función en un formulario.
Usar la casilla de verificación para guardar valores verdaderos/falsos
Para agregar un Check Box en Excel VBA, siga estos pasos:
- Abra la pestaña Developer en Excel.
- Haga clic en Insert > Check Box (ActiveX Controls).
- Haga clic y arrastre para colocar el Check Box en la hoja de trabajo.
- Haga clic derecho en Check Box > Properties.
Ejemplo de código VBA para conectar una casilla de verificación con una celda
Para Check Box almacenar valores en celdas en función de su estado, use el siguiente código:
If CheckBox1.Value = True Then
Range(“D2”).Value 1
Else
Range(“D2”).Value = 0
End IfEste código rellenará D2 celdas con 1 si el Check Box está marcado y 0 si no está marcado.
Para que esta función se ejecute automáticamente cuando el usuario haga clic en Check Box, use event Change dentro del VBA Editor:
Private Sub CheckBox1_Click()
If CheckBox1.Value =True Then
Range(“D2”).Value 1
Else
Range(“D2”).Value = 0
End If
End Sub5. Botones de opción
Tanto Check Box como Option Buttons se utilizan para proporcionar opciones a los usuarios, pero existen diferencias importantes entre los dos:
| Característica | Check Box | Option Buttons |
| Función | Permite a los usuarios elegir más de una opción | Solo se puede seleccionar una opción en un grupo |
| Tipo de entrada | Valor binario (verdadero/falso) | Opciones exclusivas (solo una opción activa en un grupo) |
| Uso | Se utiliza para activar/desactivar funciones | Se utiliza para elegir una de varias opciones |
| Ejemplos de uso | Elegir características adicionales en un formulario | Elige un género o método de pago |
Si el usuario necesita seleccionar más de una opción, use Check Box. Sin embargo, si solo puede elegir una de varias opciones, use Option Buttons.
Pasos para crear un botón de selección en Excel VBA
- Abra Excel y habilite la pestaña Developer.
- Seleccione Developer > Insert > Option Button (ActiveX Controls).
- Haga clic y arrastre para colocar dos Option Buttons en la hoja de trabajo.
- Haga clic con el botón derecho en cada Option Button y luego seleccione Properties.
- Cambie el nombre de (Name) a OptionButton1 y OptionButton2.
- Cambie el Caption a “Hombre” para OptionButton1 y “Mujer” para OptionButton2.
- Para agrupar los dos botones, colóquelos en Frame (ActiveX Controls) o en el UserForm.
Ejemplo de código VBA para conectar teclas selectoras con celdas
El siguiente código almacenará una selección del Option Button en la celda D3 de acuerdo con la elección del usuario:
If OptionButton1.Value =True Then Range(“D3”).Value “Male”
If OptionButton2.Value =True Then Range(“D3”).Value “Female”Para asegurarse de que este código se ejecuta automáticamente cuando el usuario hace clic en el botón, use los siguientes eventos de VBA:
Private Sub OptionButton1_Click()
Range(“D3”).Value =“Male”
End Sub
Private Sub OptionButton2_Click()
Range(“D3”).Value =“Female”
End SubCon este código, D3 celdas se actualizarán automáticamente de acuerdo con las elecciones realizadas por el usuario.
6. Botón de giro
Spin Button es un control que se utiliza para aumentar o disminuir el valor numérico de una celda gradualmente. Esto es especialmente útil para entradas numéricas, como establecer el número de bienes, las tasas de interés u otros parámetros que tienen limitaciones de valor.
Cómo establecer los valores máximo y mínimo en el botón Girar
- Abra la pestaña Developer en Excel.
- Haga clic en Insert > Spin Button (ActiveX Controls).
- Haga clic y arrastre para colocar el Spin Button en la hoja de trabajo.
- Haga clic con el botón derecho en el Spin Button y luego seleccione Properties.
Ejemplo de código VBA para configurar el botón de giro
Utilice el siguiente código para establecer el límite de valor de Spin Button:
SpinButton1.Max = 100
SpinButton1.Min = 0Para conectar Spin Button con celdas en Excel, use el siguiente código:
Private Sub SpinButton1_Change()
Range(“C3”).Value = SpinButton1.Value
End SubEste código garantizará que cada vez que el usuario presione la tecla Spin Button, los valores de la celda C3 cambiarán de acuerdo con los valores establecidos en los controles.
Conclusión
Los controles ActiveX en Excel VBA son una característica muy útil para mejorar la interacción y la eficiencia en el procesamiento de datos. Con varios controles como Text Box, Combo Box, List Box, Check Box, Option Buttons y Spin Button, los usuarios pueden crear una interfaz más comprensible, automatizar el llenado de datos y reducir los errores al completar formularios.
Una ventaja clave de los controles ActiveX es su capacidad de personalizarse a través de VBA, lo que permite la ejecución automática de comandos y la integración con bases de datos o macros para una gestión de datos más compleja.
Para maximizar el uso de los controles ActiveX, se recomienda implementar técnicas de automatización más avanzadas, como el uso de UserForm, la validación de datos, el control de eventos y el formato condicional para mejorar la experiencia del usuario. Además, la conexión de controles ActiveX con bases de datos como Microsoft Access o SQL Server puede ayudar a administrar grandes cantidades de datos.
Al aplicar estas técnicas, el proceso de llenado de datos se vuelve más eficiente, preciso y profesional. Por lo tanto, comprender e implementar controles ActiveX en Excel VBA puede ser la mejor solución para los usuarios que desean crear un sistema de entrada de datos más estructurado y automatizado.


