Imagina una hoja con 20 articulos en un inventario y en vez de escribir el producto a buscar, lo eliges de un cuadro desplegable o mueves una barra hasta el articulo 15 sin teclear nada. Eso es lo que hacen los controles de formulario en Excel: pequenos botones, listas y barras que viven encima de la hoja y que el lector toca para cambiar lo que ve sin escribir formulas. Al terminar este tutorial sabras colocar un cuadro de lista, un cuadro combinado, un boton de numero y una barra de desplazamiento, y leer lo que elijan con una sola formula. Los controles de formulario estan en Excel desde la version 5.0 (1993) y siguen disponibles en Microsoft 365, Excel 2024, 2021, 2019, 2016, 2013, 2010 y 2007, ademas de Excel para Mac. En Excel para la web faltan algunos controles y los que existen solo se insertan desde la version de escritorio.
Que son los controles de formulario y para que te sirven
Los controles de formulario son objetos que colocas encima de una hoja y que el lector usa con el raton: listas desplegables, botones, barras, casillas y botones de opcion. Cada control hace una unica cosa y la hace bien: escribir un numero en una celda, escribir la posicion elegida dentro de una lista, o lanzar una macro cuando se pulsa un boton.
En este tutorial el libro sera una hoja de inventario con 20 productos escritos en el rango H1:H20. En vez de escribir el nombre del producto en una celda, el lector lo elige de un cuadro de lista, lo escoge de un cuadro combinado o mueve una barra de desplazamiento hasta el articulo que le interesa. Asi, una misma formula (INDICE) sirve para tres controles distintos y la hoja se convierte en un pequeno formulario donde todo se elige sin teclear.
La idea detras de los controles es separar lo que el usuario toca (el control) de lo que la formula necesita (el dato). El control vive en una capa flotante y la celda vinculada es el puente: el control escribe ahi un numero y la formula INDICE lo traduce al producto correspondiente.
Donde estan y como se activa la pestana que los contiene
Los controles viven en la pestana Programador (en Mac y en la web puede llamarse Desarrollador). Esa pestana no sale por defecto, asi que el primer paso es activarla.
Pasos numerados:
- Abre Excel y ve a
Archivo > Opciones > Personalizar cinta de opciones. - En la columna derecha, Pestanas principales, busca Programador y marca su casilla.
- Pulsa Aceptar.
- Comprueba que la pestana Programador aparece a la derecha de la cinta, junto a Vista.
Excel > Preferencias > Cinta y barra de herramientas > Personalizar cinta > Desarrollador. En Excel para la web la pestana Desarrollador se activa desde el icono de engranaje > Excel Options > Customize Ribbon.El boton Insertar y los dos grupos de controles
En Programador > Controles > Insertar aparecen dos grupos: Controles de formulario (los de este tutorial) y Controles ActiveX (mas complejos, requieren VBA y no funcionan en Excel para la web ni en Mac del mismo modo). Los de formulario se configuran con el cuadro Formato de control, al que se llega con clic derecho sobre el control.
– Boton
– Casilla
– Cuadro combinado
– Boton de opcion
– Cuadro de grupo
– Etiqueta
– Cuadro de lista
– Barra de desplazamiento
– Boton de numero
(solo disponibles con VBA; mismo aspecto, mas opciones)
Cuadro de lista: una lista visible de la que eliges un elemento
El cuadro de lista muestra varios elementos a la vez dentro de un rectangulo: el lector ve toda la lista y hace clic en el que quiere. Es ideal cuando la lista es pequena (hasta unos 30 elementos) y quieres que el usuario vea todas las opciones sin desplegar nada.
Su cuadro Formato de control tiene tres campos clave:
- Rango de entrada: la lista de donde el control lee los elementos (en el tutorial,
H1:H20). - Vincular a la celda: la celda donde el control escribe la posicion del elemento elegido (en el tutorial,
G1). - Tipo de seleccion: Unica (un solo elemento), Multiple (varios con clic) o Extendida (varios con
CtrlyMayus). Las opciones Multiple y Extender solo se aprovechan con VBA.
Crear el inventario de 20 productos que alimentara las listas
Lo primero es tener la lista de productos. En la columna H, desde H1 hasta H20, escribe los 20 articulos del inventario. Seran los mismos que serviran para el cuadro de lista, el cuadro combinado, el boton de numero y la barra de desplazamiento.
Pasos numerados:
- Selecciona la celda
H1y escribe Producto. - En
H2:H20escribe, en este orden: Patines de ruedas, VCR, Escritorio, Taza, Coche, Lavadora, Lanzacohetes, Bicicleta, Telefono, Vela, Dulces, Altavoces, Vestido, Manta, Secadora, Guitarra, Disco duro, Juego de herramientas, Sarten y Camara. - Comprueba que tienes 20 productos en
H2:H20.
| H | |
|---|---|
| 1 | Producto |
| 2 | Patines de ruedas |
| 3 | VCR |
| 4 | Escritorio |
| 5 | Taza |
| 6 | Coche |
| 7 | Lavadora |
| 8 | Lanzacohetes |
| 9 | Bicicleta |
| 10 | Telefono |
| 11 | Vela |
| 12 | Dulces |
| 13 | Altavoces |
| 14 | Vestido |
| 15 | Manta |
| 16 | Secadora |
| 17 | Guitarra |
| 18 | Disco duro |
| 19 | Juego de herramientas |
| 20 | Sarten |
| 21 | Camara |
H1 y 20 productos abajo, del 1 al 20. Si faltan filas, agregelas: la lista debe llegar justo hasta H20.Colocar el cuadro de lista y configurarlo paso a paso
Ahora colocamos el control que permitira elegir un producto de la lista.
Pasos numerados:
- Ve a
Programador > Controles > Insertary, en Controles de formulario, elige el icono del cuadro de lista (el rectangulo con varias lineas). - Arrastra en la hoja para que el control ocupe, por ejemplo,
B2:E10. - Clic derecho sobre el control y elige Formato de control.
- En la pestana Control, rellena: Rango de entrada
H1:H20, Vincular a la celdaG1, Tipo de seleccion Unica. - Pulsa Aceptar.
- Haz clic en un producto de la lista:
G1mostrara 1 para el primer producto, 2 para el segundo, etc.
| A | B | C | D | E | F | G | H | |
|---|---|---|---|---|---|---|---|---|
| 1 | Producto | |||||||
| 2 | [Cuadro de lista: Patines, VCR, Escritorio, Taza, Coche, Lavadora, Lanzacohetes, Bicicleta, Telefono, Vela] | Patines de ruedas | ||||||
| 10 | Vela |
G1 muestra 4. Si muestra otra cifra, revisa que el rango de entrada es H1:H20 y que la celda de vinculo es G1.Leer el producto elegido con la funcion INDICE
El control escribe una posicion en G1; la formula INDICE (INDEX en ingles) traduce la posicion al nombre del producto. La lista es el rango, el vinculo es la posicion y la formula une ambas cosas.
Pasos numerados:
- Selecciona
A1y escribe la formula=INDICE($H$1:$H$20;$G$1). - Pulsa Entrar.
- Haz clic en cualquier producto del cuadro de lista y mira
A1: vera el nombre del producto elegido.
=INDICE($H$1:$H$20;$G$1)
| A | B | C | D | E | F | G | H | |
|---|---|---|---|---|---|---|---|---|
| 1 | Telefono | 9 | Producto | |||||
| 2 | [Cuadro de lista] | Patines de ruedas |
G1 aparece 9 y en A1 aparece Telefono, todo encaja. El patron rango + celda de vinculo + INDICE vale para los cuatro controles de este tutorial.Cuadro combinado: una lista desplegable que ocupa una sola celda
El cuadro combinado es como el cuadro de lista, pero solo se ve una linea con una flecha: al pulsar la flecha se despliega la lista, se elige un elemento y vuelve a quedar plegado. Ocupa el alto de una sola celda y es ideal para listas dentro de un formulario donde el espacio es justo.
Su cuadro Formato de control tiene los mismos campos que el cuadro de lista, mas Lineas desplegadas (cuantas lineas se ven al abrir la flecha) y la opcion Sombreado 3D, que solo cambia la apariencia.
Cuadro combinado con la misma lista de productos
El cuadro combinado resuelve el mismo problema que el cuadro de lista en menos espacio.
Pasos numerados:
- Ve a
Programador > Controles > Insertary elige cuadro combinado (el icono con una flecha hacia abajo). - Arrastra en la hoja para que cubra, por ejemplo,
B12:E12. - Clic derecho en Formato de control.
- Rellena: Rango de entrada
H1:H20, Vincular a la celdaG1, Lineas desplegadas 10. - Pulsa Aceptar.
- Pulsa la flecha del control y elige un producto:
A1(que sigue con la mismaINDICE) mostrara el nombre.
| A | B | C | D | E | F | G | H | |
|---|---|---|---|---|---|---|---|---|
| 12 | Guitarra | [Combo v Guitarra ^] | 17 | Producto | ||||
| 13 | Disco duro |
A1 (=INDICE($H$1:$H$20;$G$1)) no cambia. Lo que cambia es la celda de vinculo G1: sube o baja segun lo que elijas en cualquiera de los dos controles. Si A1 no se actualiza, asegurate de que ambos controles apuntan a la misma celda ($G$1).Boton de numero y barra de desplazamiento: moverse por la lista con un valor numerico
El boton de numero y la barra de desplazamiento hacen lo mismo: escriben un numero entero en la celda vinculada, comprendido entre un minimo y un maximo, y suben o bajan con un paso definido. Comparten los campos Valor actual, Valor minimo, Valor maximo, Cambio incremental, Cambio de pagina (solo en la barra) y Vincular a la celda.
Boton de numero que recorre los 20 productos
Pasos numerados:
- Ve a
Programador > Controles > Insertar > Controles de formulario > Boton de numero. - Arrastra para que cubra
B14:B15. - Clic derecho en Formato de control.
- Rellena: Valor actual 1, Valor minimo 1, Valor maximo 20, Cambio incremental 1, Vincular a la celda
G1. - Pulsa Aceptar.
- Pulsa la flecha arriba del boton:
G1sube de 1 a 2;A1muestra el siguiente producto.
| A | B | C | G | H | |
|---|---|---|---|---|---|
| 14 | Escritorio | [+] | 4 | Producto | |
| 15 | [/ -] | Escritorio |
Barra de desplazamiento con cambio de pagina
La barra de desplazamiento es igual que el boton de numero, pero ademas tiene Cambio de pagina (cuanto suma o resta al hacer clic en la barra, fuera del cuadro), y se puede arrastrar el cuadro para ir a cualquier valor.
Pasos numerados:
- Ve a
Programador > Controles > Insertar > Controles de formulario > Barra de desplazamiento. - Arrastra para que cubra
B17:G17(un cuarto del ancho de las seis columnas). - Clic derecho en Formato de control.
- Rellena: Valor actual 1, Valor minimo 1, Valor maximo 20, Cambio incremental 1, Cambio de pagina 5, Vincular a la celda
G1. - Pulsa Aceptar.
- Pulsa en la barra fuera del cuadro:
G1salta 5 posiciones (por ejemplo, de 1 a 6). - Arrastra el cuadro hasta el final:
A1muestra el producto 20.
| A | B | C | D | E | F | G | H | |
|---|---|---|---|---|---|---|---|---|
| 17 | Camara | [====O============] | 20 | Producto | ||||
| 18 | Camara |
=INDICE($H$1:$H$20;$G$1) en A1 sigue mostrando el producto correcto sin tocarla. Es la prueba de que los cuatro controles pueden compartir la misma celda de vinculo.Otros controles de formulario que completar el cuadro
Ademas de los cuatro controles trabajados, el grupo Controles de formulario tiene cinco mas controles que conviene conocer para completar el cuadro.
| Control | Sirve para | Detalle clave |
|---|---|---|
| Boton | Ejecuta una macro al pulsarlo. | En Formato de control solo tiene el campo Asignar macro. |
| Casilla | Activa o desactiva una opcion; varias casillas a la vez. | Escribe VERDADERO o FALSO en la celda vinculada. |
| Boton de opcion | Elige una sola opcion dentro de un grupo. | Dos botones de opcion en el mismo Cuadro de grupo son excluyentes. |
| Cuadro de grupo | Agrupa controles visualmente (y logica, en opciones O). | Se dibuja primero y los demas controles van encima. |
| Etiqueta | Muestra texto descriptivo estatico. | No se puede vincular a celda; es solo visual. |
| Cuadro de lista | Muestra varios elementos a la vez. | Visto en el tutorial. |
| Cuadro combinado | Lista desplegable que ocupa una celda. | Visto en el tutorial. |
| Boton de numero | Sube o baja un valor entero. | Visto en el tutorial. |
| Barra de desplazamiento | Mueve un valor entre minimo y maximo. | Visto en el tutorial. |
Opt+F11) y se asocian en Formato de control > Asignar macro.Por que un control no se comporta como esperabas
Los controles de formulario dan pocos errores, pero los que dan suelen ser siempre los mismos: la celda de vinculo no coincide con la formula, el rango se ha desplazado, o se ha pegado algo encima del control.
INDICE devuelve el producto que no toca
Si G1 marca 3 pero A1 muestra, por ejemplo, VCR (el segundo), lo mas probable es que el vincular a la celda del control apunte a G2 mientras la formula mira $G$1, o que el rango $H$1:$H$20 se haya desplazado al insertar filas por encima. Revisa la formula y fija el rango con dolares: $H$1:$H$20. Si el rango ya no va de H1 a H20, ajusta el Rango de entrada del control.
| A | B | G | H | |
|---|---|---|---|---|
| 1 | VCR | 3 | Producto | |
| 2 | Patines de ruedas | |||
| 3 | VCR | |||
| 4 | Escritorio |
H1:H20 sin dolares. Al copiar la formula a otra fila, el rango se mueve y INDICE empieza a leer productos equivocados o devuelve #REF!.Multi y Extender no se aprovechan sin codigo
Si en el cuadro de lista eliges varios elementos con Ctrl y la celda G1 no recoge nada, el motivo es que las opciones Multiple y Extendida del cuadro Formato de control solo sirven con VBA. En una hoja normal, el vinculo guarda un unico numero: la posicion del primer elemento o del ultimo, segun el caso. Para leer varios elementos hay que programar el evento Change del control en el editor de VBA.
Pegar datos borra o desplaza los controles
Al pegar un rango de celdas encima del area donde esta un control, el control desaparece o se desplaza fuera de la pantalla. La solucion es pegar solo valores con Ctrl+Alt+V > Valores o Pegado especial > Solo valores (Mac: Ctrl+Cmd+V > Valores), y proteger la hoja desde Revisar > Proteger hoja cuando la hoja se vaya a usar como formulario.
clic derecho > Formato de celdas > Proteccion > Quitar bloqueo) y deja bloqueado todo lo demas.Lo que ya sabes hacer con los controles de formulario
- Tienes activada la pestana Programador y sabes llegar a
Insertar > Controles de formulario. - Conoces los nueve controles del grupo y para que sirve cada uno.
- Aplicas el patron rango de entrada + celda de vinculo + formula
INDICEpara que cuatro controles distintos (cuadro de lista, cuadro combinado, boton de numero y barra de desplazamiento) escriban en la misma celda. - Sabes la diferencia entre Controles de formulario y Controles ActiveX: los primeros se montan solos, los segundos requieren VBA.
Siguiente paso: agrupa los cuatro controles en un Cuadro de grupo (esquina B2:H10), añade un quinto Boton con Asignar macro que copie el producto de A1 a otra hoja, y tendras un mini formulario que mueve datos con un clic.
Dudas al usar los controles de formulario
¿Que diferencia hay entre los controles de formulario y los controles ActiveX? Los controles de formulario viven en la hoja y se configuran con un cuadro de dialogo (clic derecho > Formato de control). Los controles ActiveX son objetos mas avanzados: tienen propiedades, eventos y se programan en VBA. Los ActiveX no estan en Excel para la web y en Mac funcionan de forma limitada.
¿Por que mi cuadro de lista no muestra todos los productos? El campo Rango de entrada del cuadro Formato de control apunta a un rango pequeno. Si la lista crece, hay que volver a abrir Formato de control y ampliar el rango, por ejemplo, de H1:H20 a H1:H200.
¿Se pueden copiar los controles a otra hoja? Si. Con Ctrl+C sobre el control seleccionado y Ctrl+V en otra hoja, el control se copia con su configuracion, aunque el vincular a la celda se mantendra como referencia absoluta ($G$1) en la hoja original; ajustalo si hace falta.
¿Que pasa si borro la celda vinculada? El control pasara a estado de error hasta que vuelvas a definir una celda de vinculo en Formato de control. La formula INDICE mostrara #REF! mientras tanto.
¿Los controles funcionan en Excel para la web? Solo los que ya estan insertados en el archivo: la version web no permite insertar controles nuevos, asi que tendras que abrir el libro en la aplicacion de escritorio para anadirlos.
Dudas al usar los controles de formulario en Excel
1. ¿Qué controles de formulario se pueden insertar en Excel y para qué sirve cada uno?
En la pestaña Programador > Insertar > Controles de formulario encontrarás botones, casillas de verificación, botones de opción, cuadros combinados, barras de desplazamiento, cuadros de lista, controles de número y etiquetas de texto. Cada uno responde a una necesidad concreta: las casillas y botones de opción sirven para activar o elegir opciones, el cuadro combinado y la lista para elegir entre valores de un rango, y el botón para lanzar una macro.
2. ¿Dónde está la cinta de opciones en Excel y cómo se muestra la pestaña Programador?
La cinta de opciones es la franja superior de Excel con las pestañas Inicio, Insertar, Datos, Fórmulas, etc. La pestaña Programador viene oculta por defecto; se activa en Archivo > Opciones > Personalizar cinta de opciones, marcando Programador en la columna derecha y pulsando Aceptar para insertar controles de formulario.
Fuentes
- MicrosoftExcel y Access — documentación oficialconsultado el 13/10/2026