Los controles ActiveX son piezas que añades a una hoja de Excel (botones, casillas, listas desplegables, cuadros de texto) y que responden a acciones del usuario gracias a un programa escrito en VBA. Pulsas el botón y la hoja calcula, cambias la opción de la lista y se rellena una celda, marcas una casilla y se muestra u oculta un gráfico. Pertenecen a la familia de los controles clásicos de Windows y, por eso, son los más personalizables que tiene Excel. Sirven para montar pequeños formularios, paneles de control y simuladores dentro de una hoja, sin abrir un UserForm aparte. Al terminar este tutorial sabrás insertar un botón ActiveX, programarlo para que ejecute una macro, crear una lista desplegable editable ligada a una columna, distinguir estos controles de los «controles de formulario» y arreglar los errores más habituales. Funcionan en Excel para Windows (Microsoft 365, 2024, 2021, 2019, 2016 y 2013); en Excel para Mac son una versión reducida y en Excel para la web no existen.
Qué es un control ActiveX y para qué sirve en una hoja
Imagina la hoja de pedidos de una tienda pequeña. Hoy los pedidos se apuntan a mano y, al final del día, alguien suma las cantidades a ojo. Con un control ActiveX puedes poner un botón con la palabra «Sumar pedidos» en la propia hoja, justo al lado de la columna de cantidades. El lector pulsa el botón y la suma aparece en una celda. Esa es la idea: una pieza visual dentro de la hoja que, al interactuar con ella, ejecuta código VBA y devuelve un resultado en la propia cuadrícula.
El control ActiveX es, técnicamente, un pequeño objeto COM de Windows que Excel aloja dentro de la hoja. Por eso tiene más ajustes que un «control de formulario»: cambia de color, de fuente, de tamaño, responde a docenas de eventos (clic, doble clic, cambio de valor, entrada de ratón, pulsación de tecla) y admite un modelo de programación completo. Su pega es que solo existe en Windows de escritorio y que Microsoft los trae deshabilitados por defecto desde 2024 por motivos de seguridad.
ActiveX frente a controles de formulario
Los dos grupos de controles comparten el mismo menú Insertar de la pestaña Desarrollador y se confunden a menudo. La tabla siguiente deja claras las diferencias.
| Característica | Controles ActiveX | Controles de formulario |
|---|---|---|
| Programación en VBA | Sí, con un modelo de eventos completo | Sí, pero solo con una macro asociada por control |
| Personalización visual | Muy alta (color, fuente, imagen, tamaño) | Limitada a unas pocas propiedades |
| Compatibilidad | Windows de escritorio (Microsoft 365, 2024, 2021, 2019, 2016, 2013); Mac parcial; web no | Windows y Mac; web no |
| Seguridad | Bloqueados por defecto en Microsoft 365/2024 hasta que el usuario los habilite | Siempre disponibles sin avisos extra |
Si solo necesitas un botón que ejecute una macro sencilla, un control de formulario es más cómodo. Si quieres una lista desplegable editable, casillas con colores propios o que el botón reaccione al paso del ratón, necesitas ActiveX.
Dónde se esconden y cómo sacarlos a la luz
Los controles ActiveX viven en la pestaña Desarrollador, que viene oculta en la instalación normal de Excel. Para mostrarla, abre el menú Archivo y elige Opciones. En la ventana que aparece, pulsa Personalizar cinta de opciones y, en la columna de la derecha («Pestañas principales»), marca la casilla Desarrollador. Acepta dos veces y la pestaña aparece en la cinta, entre Vista y Ayuda.
Dentro de Desarrollador, el botón Insertar abre el cuadro con los dos grupos de controles.
Los controles de formulario son los de la parte superior (Botón, Casilla, Cuadro combinado, etc.) y los ActiveX los de la parte inferior, con el mismo dibujo pero un icono ligeramente más pequeño y una marca de tres colores. La diferencia visual es mínima, pero el comportamiento y las propiedades son muy distintos. Mientras no cambies al Modo diseño (en el mismo grupo Controles), cualquier clic sobre un ActiveX dispara su evento; con el modo activado, los seleccionas y los editas sin que se ejecute nada.
Por qué Excel los trae desactivados por defecto desde 2024
En octubre de 2024, con el lanzamiento de Microsoft 365 y Office 2024, Microsoft endureció la seguridad de los controles ActiveX. La razón es histórica: los ActiveX son objetos COM de Windows, una tecnología antigua con una superficie de ataque amplia. Un archivo .xlsm descargado de internet podía contener un ActiveX que, al abrirse, ejecutara código malicioso sin que el usuario lo supiera. Para reducir ese riesgo, Microsoft decidió que los nuevos Excel traigan los ActiveX deshabilitados por defecto y que sea el usuario quien, de forma explícita, los habilite cuando los necesite.
En la práctica esto significa dos cosas. Primera, hasta que no los habilites no puedes ni insertar nuevos controles ni usar los que ya tuviera el libro. Segunda, cuando abres un libro descargado de internet o recibido por correo, ves una barra amarilla de «VISTA PROTEGIDA» y los controles aparecen como imágenes grises hasta que pulsas «Habilitar edición». Aunque tengas las macros habilitadas, los ActiveX siguen bloqueados si no has tocado la configuración.
Habilitar los controles ActiveX en el Centro de confianza
- Abre Archivo > Opciones > Centro de confianza.
- Pulsa el botón Configuración del Centro de confianza.
- En la columna de la izquierda, elige Configuración de ActiveX.
- Marca la opción «Preguntarme antes de habilitar todos los controles con restricciones mínimas».
- Pulsa Aceptar dos veces para cerrar ambas ventanas y reinicia el libro.
A partir de ese momento, cada vez que abras un libro con ActiveX, Excel te preguntará si quieres habilitarlos.
Insertar tu primer botón ActiveX y programarlo
Para el primer botón vamos a usar una hoja Pedidos muy sencilla: cinco artículos en la columna A, las cantidades pedidas en la C y, al pulsar el botón, la suma total aparece en D1.
| A | B | C | |
|---|---|---|---|
| 1 | Articulo | Cantidad | |
| 2 | Lapices | 10 | |
| 3 | Cuadernos | 5 | |
| 4 | Gomas | 12 | |
| 5 | Boligrafos | 7 | |
| 6 | Carpetas | 3 |
Crear el botón y entrar en el editor de VBA
- Ve a Desarrollador > Controles > Insertar > Controles ActiveX y elige Botón de comando.
- Dibuja el botón sobre la celda D3, junto a la columna de cantidades.
- Pulsa Desarrollador > Controles > Modo diseño para asegurarte de que está activado.
- Haz doble clic sobre el botón: se abre el editor de VBA con un esqueleto
Private Sub CommandButton1_Click()listo para rellenar. - Escribe dentro de la sub:
Private Sub CommandButton1_Click()
Range("D1").Value = WorksheetFunction.Sum(Range("C2:C6"))
End Sub
- Cierra el editor de VBA con Alt+Q y vuelve a la hoja.
WorksheetFunction.Sum con C2:C6 y no SUMA(C2;C6).| A | C | D | |
|---|---|---|---|
| 1 | Lapices | 10 | |
| 2 | Cuadernos | 5 | |
| 3 | Gomas | 12 | |
| 4 | Boligrafos | 7 | |
| 5 | Carpetas | 3 |
Pulsa el botón: D1 muestra 37, que es la suma de 10+5+12+7+3.
WorksheetFunction.SUMA con mayúsculas o que el rango esté bien escrito.Volver al modo Diseño, ajustar tamaño, color y texto
- Con el botón seleccionado y el Modo diseño activado, haz clic derecho y elige Propiedades.
- En la ventana Propiedades, busca la fila Caption y escribe «Sumar pedidos» (sin acentos si tu Excel no los muestra bien en el control).
- Cambia BackColor a un tono verde claro, Font a Calibri 11, y ajusta Width y Height al tamaño que prefieras.
- Cierra la ventana de Propiedades y desactiva el Modo diseño en Desarrollador > Controles > Modo diseño.
Pulsa el botón y verás cómo se ejecuta la macro con el nuevo texto.
Una lista desplegable editable (ComboBox) ligada a la hoja
El segundo control más usado es el ComboBox: una lista desplegable que, además de elegir una opción, deja escribir texto libre. Lo vamos a colocar en una hoja Clientes con cinco nombres en la columna F. Al cambiar la selección, el nombre elegido se copia en C2.
| A | B | C | E | F | |
|---|---|---|---|---|---|
| 1 | Cliente | Elegido | Lista | ||
| 2 | [v] | Ana | |||
| 3 | Berta | ||||
| 4 | Carlos | ||||
| 5 | Diana | ||||
| 6 | Elena |
Cargar el ComboBox con INDIRECTO desde VBA
- En la pestaña Clientes, ve a Desarrollador > Controles > Insertar > Controles ActiveX > Cuadro combinado y dibújalo sobre B2.
- Con el Modo diseño activo, haz doble clic sobre el ComboBox para abrir el editor de VBA.
- En la parte superior derecha del editor, elige el evento Initialize; pega:
Private Sub ComboBox1_Initialize()
ComboBox1.List = Range("F2:F6").Value
End Sub
Private Sub ComboBox1_Change()
Range("C2").Value = ComboBox1.Value
End Sub
- Cierra el editor con Alt+Q, desactiva el Modo diseño y pulsa la flecha del ComboBox.
Al abrir la lista verás los cinco nombres; al elegir «Carlos», C2 pasa a valer «Carlos».
| F | C | |
|---|---|---|
| 1 | Ana | |
| 2 | Berta | |
| 3 | Carlos | Carlos |
| 4 | Diana | |
| 5 | Elena |
Por qué tu ActiveX no aparece, no responde o se ha convertido en otra cosa
Los ActiveX fallan de formas muy reconocibles. Las cinco causas siguientes son las que más veces se ven en clase y en foros.
El archivo se abrió en Excel para la web y los ActiveX se perdieron
Si subes un .xlsm a OneDrive y lo abres desde el navegador, Excel para la web convierte los controles ActiveX en controles de formulario sin macros. Abres el libro, ves los botones, pero al pulsarlos no pasa nada. La causa es que la versión web no ejecuta código VBA y, para que algo se vea, reinterpreta los ActiveX como imágenes estáticas o como controles de formulario. El arreglo es abrir el archivo con la versión de escritorio de Excel: descárgalo desde OneDrive o usa la opción «Abrir en la aplicación» del navegador. La macro seguirá donde estaba y los controles recuperarán su comportamiento.
Sale «No se puede insertar el objeto»
Al intentar dibujar un botón ActiveX, Excel muestra el mensaje «No se puede insertar el objeto» y no dibuja nada. La causa casi siempre es la nueva política de seguridad de Microsoft 365 y 2024: los ActiveX están deshabilitados por defecto y Excel no te deja crearlos hasta que cambies la configuración. Vuelve a la sección Habilitar los controles ActiveX en el Centro de confianza, marca la opción correspondiente, acepta dos veces, cierra el libro y vuelve a abrirlo.
Habilitaste macros pero el botón no hace nada al pulsar
Pulsa el botón y no pasa nada, aunque la macro está bien escrita. La causa más frecuente es que el Modo diseño sigue activado en Desarrollador > Controles > Modo diseño. Con ese modo encendido, los ActiveX se comportan como objetos estáticos y no ejecutan código. Desactívalo y vuelve a pulsar. Si aun así no funciona, abre el editor de VBA con Alt+F11 y comprueba que la sub está dentro del módulo del control (la hoja) y no en un módulo estándar suelto; también verifica que el nombre del botón (CommandButton1) coincide con el que usaste en la sub.
El control sale gris o no se ve en otro equipo
Has puesto colores personalizados en el control (BackColor verde claro, ForeColor blanco) y al abrir el archivo en otro ordenador el botón aparece gris o con la fuente cambiada. La causa es que las propiedades visuales del ActiveX no se heredan del tema de Office: se guardan con valores absolutos, pero al renderizar en otro equipo pueden interpretarse de forma distinta si falta una fuente o un color del sistema. La solución práctica es usar colores de la paleta estándar de Office y fuentes que estén en todos los equipos (Calibri, Arial).
Lo que ya sabes hacer con los controles ActiveX
- Insertar un botón ActiveX en una hoja y programarlo con VBA para que ejecute una acción al pulsarlo.
- Personalizar el aspecto del control: texto, color, fuente, tamaño y posición.
- Cargar un ComboBox desde un rango de la hoja y copiar la elección a una celda.
- Distinguir los ActiveX de los controles de formulario y saber cuándo conviene cada uno.
- Reconocer los errores más habituales (Modo diseño activo, configuración de seguridad, versión web) y resolverlos.
El siguiente paso natural es combinar el ComboBox con BUSCARX (XLOOKUP) para que, al elegir un producto, la hoja autocomplete su precio y su stock. Esa misma idea te lleva, paso a paso, a montar un mini-panel de ventas sin salir de la cuadrícula de Excel.
Datos comprobados en octubre de 2026.
Dudas al usar controles ActiveX en Excel
1. Cómo activar los controles ActiveX en Excel
Los controles ActiveX no se «activan» como una opción, sino que se insertan desde la pestaña Programador, en el grupo Controles. Si esa pestaña no aparece, la desbloqueas en Archivo > Opciones > Personalizar cinta de opciones marcando la casilla de Programador. Una vez visible, haz clic en Insertar y verás el grupo de controles ActiveX justo al lado de los controles de formulario.
2. Por qué Excel bloquea los controles ActiveX
Excel puede desactivar los controles ActiveX cuando detecta un problema de seguridad o cuando el archivo viene de otra ubicación: aparece una barra de aviso pidiéndote que los habilites. Si no quieres ese aviso, cambia la configuración en Archivo > Opciones > Centro de confianza > Configuración del centro de confianza > Configuración de ActiveX y elige el modo que prefieras, sabiendo que el nivel más bajo permite todo sin avisar.
3. Cómo ver el contenido ActiveX que tiene un archivo de Excel
Entra en la pestaña Programador y abre Modo Diseño: mientras estés en ese modo, los controles ActiveX se muestran con sus manejadores blancos para que puedas seleccionarlos. Para ver el código que llevan detrás, haz doble clic sobre el control o usa el botón Ver código del grupo Controles, que abre el editor de Visual Basic for Applications.
4. Dónde se descarga el control ActiveX
Los controles ActiveX se insertan desde el propio Excel, no se descargan por separado. La mayoría (botones, casillas, cuadros combinados) ya vienen incluidos, y otros se añaden como referencia en el proyecto VBA con Herramientas > Referencias del editor. Solo controles de fabricante, como calendars o visores concretos, pueden requerir instalar su OCX en el sistema, pero eso es algo excepcional.
5. Cómo encontrar y eliminar controles ActiveX de una hoja
En la pestaña Programador, pulsa Insertar y elige el icono superior izquierdo del grupo Controles de formulario y ActiveX para entrar en modo de selección. Después haz clic en el control que quieras quitar y pulsa la tecla Suprimir; repite el proceso si la hoja tiene varios y entra luego al editor de VBA para borrar los módulos asociados si los hubiera.
6. Cuándo se dejó de dar soporte a ActiveX
Microsoft ha ido reduciendo el soporte de ActiveX de forma progresiva: la versión para Internet Explorer dejó de tener soporte en 2022, y los controles ActiveX de Office siguen funcionando, pero la propia Microsoft recomienda usar controles de formulario o soluciones modernas en su lugar. En la práctica, siguen disponibles, aunque cada vez con más avisos de seguridad.
7. Por qué no se muestran los controles ActiveX en mi hoja
Lo más habitual es que estés en modo Diseño, en el que los controles se ven pero no responden a clics. Sal del modo Diseño con el botón del mismo nombre en la pestaña Programador, grupo Controles, y los ActiveX pasarán a estar activos. Si aun así no aparecen, revisa que la hoja no esté protegida y que la Configuración de ActiveX del Centro de confianza no los esté bloqueando.