Hacer un formulario con Excel es una de las mejores prácticas que podemos utilizar para rellenar tablas de datos.
No solo porque rellenar un formulario es un sistema más amigable que rellenar una tabla, sino porque un formulario de Excel nos ofrece algunas funcionalidades que una tabla no.
Al margen que yo tengo mi opinión sobre cuál es el mejor sistema, hoy veremos dos opciones para crear formularios con Excel.
¿Vamos allá?
Contenidos
El botón formulario de Excel
Creo que poca gente sabe que Excel tiene un botón con el que podemos crear formularios de forma automática.
Es uno de los muchos comandos que están escondidos en las opciones de la herramienta.
Y así…, como para hacer algo rápido y sin demasiada complicación, puede ser una opción bastante cómoda, aunque tiene sus limitaciones.
La barra de acceso rápido de Excel
Para habilitar ese comando debemos acceder a la lista de opciones de Excel (en algún post anterior he explicado cómo hacerlo) y añadirlo.
Microsoft nos dice lo que añadamos a la barra de acceso rápido, pero a ese respecto yo tengo mis dudas…
Ahora te lo explico…
Por si te lo estás preguntando, la barra de acceso rápido es esa que nos encontramos en la parte superior izquierda de cualquier programa de la suite de Office.
En mi opinión, esta barra solo debería contener aquellos comandos que utilizamos con bastante asiduidad.
Si es un comando que vas a utilizar constantemente, es una buena opción, pero si empezamos a rellenarla con todo aquello que no podemos añadir a las pestañas que tiene Excel por defecto, acaba siendo un poti-poti de comandos, sin orden ni concierto, que más “ensucia” que otra cosa.
A partir de ahí, tú debes decidir cuán a mano quieres tenerlo.
Pestañas y grupos personalizados en Excel
Personalmente, yo tengo una pestaña en la que voy añadiendo diferentes fichas o grupos y, en ellos, los comandos que necesito de una forma más ordenada.
Tanto para añadir pestañas como grupos personalizados, lo podemos hacer accediendo a las opciones de Excel, y clicando sobre las opciones “Nueva pestaña” o “Nuevo grupo”.
De esta manera, podemos crear tantas pestañas como queramos y mantener orden en nuestra cinta de opciones.
Añadir el botón de formulario en Excel
Tanto si lo vamos a hacer en la barra de acceso rápido como si lo hacemos en una pestaña personalizada, añadir el botón de formulario es tan fácil como escoger la opción correspondiente en las opciones de Excel y, una vez seleccionado el comando “Formulario”, clicar en el botón “Agregar”.
A partir de aquí, ya tendremos el formulario operativo.
Cómo crear un formulario a través del comando Formulario en Excel
El funcionamiento del formulario es tan sencillo que apenas merece cuatro palabras.
Tan solo debemos crear los encabezados de una tabla de datos, seleccionar alguna de las celdas que contienen esos encabezados y clicar sobre el botón de formulario.
Una vez hecho, aparecerá una ventana emergente con una advertencia que, si la leemos bien, veremos que tenemos que clicar sobre la opción “Aceptar”.
Una vez aceptado, nos aparecerá una nueva ventana emergente que contiene todos los datos que hemos puesto en columnas consecutivas donde podremos empezar a introducir registros.
Ten en cuenta que no es necesario que selecciones todas las celdas que contienen encabezados, solo con que las columnas sean consecutivas, Excel entenderá que todas ellas pertenecen al formulario.
Si por cualquier motivo no quieres que una columna de datos forme parte del formulario de Excel, tienes dos opciones:
- O bien seleccionas solo las celdas que contienen los encabezados que necesitas
- O bien dejas una columna en blanco delante o detrás de lo que sería el formulario.
Cómo funciona el comando Formulario en Excel
Echemos un vistazo de nuevo al cuadro de formulario de Excel.
En primer lugar, el nombre del formulario lo extrae del nombre de la hoja que contiene la tabla.
Es decir, si en una misma hoja de Excel tenemos más de una tabla que se rellena a través del comando formulario, todos los formularios tendrán el mismo nombre.
Este formulario tiene unas características un tanto peculiares porque, a medida que vamos rellenando nuestra tabla, podemos ir navegando por los registros a través de los botones “Buscar anterior” y “Buscar siguiente”.
A la izquierda tenemos los campos que, evidentemente, corresponden a los encabezados de la tabla.
A la derecha tenemos por un lado un indicador (en la imagen “Nuevo registro”) que va variando, dependiendo de lo que se muestre en los campos.
Si como en la imagen, se muestra el indicador “Nuevo registro”, podemos ir rellenando los datos y clicando en “Nuevo” para ir añadiendo registros.
Con el botón “Eliminar”, evidentemente, borramos registros.
El botón “Restaurar” se activa cuando realizamos un cambio en un registro para deshacer ese cambio.
El botón “Criterios” bloquea la introducción de nuevos registros.
Este mismo botón cambia a “Formulario” para activarlos.
Con el botón “Cerrar”, salimos del formulario.
Cuando tenemos la ventana cerrada, para introducir nuevos registros debemos situarnos en cualquier celda de la tabla y clicando sobre el comando “Formulario” aparecerá éste de nuevo, mostrando siempre por defecto el primer registro.
Crear un formulario en una hoja de Excel
El otro sistema que tenemos para crear un formulario en Excel es hacerlo a través de las celdas de una hoja de Excel.
Este sistema requiere grabar una macro, pero verás que es muy fácil hacerlo.
Diseño del formulario
El diseño del formulario en Excel va a depender del gusto de cada uno, pero la idea es colocar en una celda el concepto, en otra el campo a rellenar y un botón para añadir el registro en el formulario.
Por otro lado, crear una tabla oficial de Excel para ir guardando los registros.
Para este ejemplo he creado un formulario un poco cutre y he puesto la tabla en la misma hoja, pero suelo hacerlo más mono y con la tabla en una hoja aparte.
Guardado de los datos a través de una macro
Una vez tengamos los campos del formulario rellenados, para guardarlos en la tabla de registros, tendremos que hacer uso de una macro.
Qué es una macro
Una macro no es ni más ni menos que una grabación de los pasos que vamos realizando, que se van guardando en código VBA.
Es muy importante tener claros cada uno de los pasos que vamos a realizar porque, en caso que nos equivoquemos, los errores van a quedar grabados.
Consejo a la hora de grabar macros
Mi consejo es que, cuando vayas a grabar una macro, si ésta es algo complicada (no es este caso), anotes en un papel cada uno de los pasos para evitar grabar errores.
Te voy a poner un ejemplo muy típico que suele ocurrir las primeras veces que grabamos macros si no hemos tomado nota de los pasos antes de empezar a grabar (te lo digo por propia experiencia).
Empiezas a grabar…
- Copias el contenido de una celda
- Vas a la hoja y a la celda en la que querías pegar
- Te das cuenta de que, por ejemplo, te has olvidado de añadir una fila
- Haces escape para eliminar el copiado
- Añades la fila
- Vuelves a la hoja original
- Vuelves a copiar
- etc.
Todos esos pasos quedan grabados en la macro y al final, lo que consigues es tener una macro mucho más lenta de lo que debería ser y en la que, es bastante fácil, que se acaben produciendo errores.
Por eso, aunque dé palo, lo mejor es tener anotados previamente todos los pasos…
De todas formas, cometer errores tampoco es el fin del mundo (todos lo hemos hecho al principio).
Si te equivocas, siempre podrás eliminar la macro y empezar de nuevo.
Empezar a grabar una macro
Tenemos dos opciones para empezar a grabar una macro:
Si tenemos activada la pestaña “Programador” encontraremos el botón “Grabar macro” en la ficha “Código”:
La otra opción la encontramos en la parte inferior izquierda del libro de Excel:
En el momento en el que cliquemos en cualquiera de los dos botones, aparecerá la siguiente ventana emergente:
Nombre de la macro
Por defecto, de la misma manera que cuando creamos hojas, tablas, gráficos, etc. Excel les asigna nombres Hoja1, Hoja2, Tabla1, Tabla2, etc., a las macros también les asigna los nombres Macro1, Macro2, Macro3, …
Como siempre, yo aconsejo personalizar el nombre de cara a que sea identificable más adelante en el código.
Hay un par de limitaciones que debes tener en cuenta a la hora de asignarle un nombre a la macro:
- El nombre debe comenzar con una letra
- No puede contener ningún espacio en blanco
- No se pueden utilizar ni símbolos ni puntos, ni comas, ni… Sólo letras y números
Atajo del teclado
Excel nos ofrece la posibilidad de crear un atajo de teclado a las macros, pero debemos tener en cuenta todos los atajos que ya usa Excel, porque no podemos repetir.
Por ejemplo, no podemos poner Ctrl+C porque este atajo está asignado a la función Copiar.
Si quieres asignar un atajo, te aconsejo que cliques Ctrl+Shift+tecla, aun así, te advierto que no están disponibles todas las combinaciones.
No te puedo decir ahora de memoria cuáles se pueden utilizar, pero sé que Ctrl+Mayús+A, Ctrl+Mayús+F, Ctrl+Mayús+P o Ctrl+Mayús+Y por ejemplo, están en uso y no son las únicas, hay bastantes más…
Tendrás que investigar un poco si quieres añadir atajos…
Dónde guardar la macro
La inmensa mayoría de macros que vayamos a crear, las usaremos únicamente en el libro sobre el que estamos trabajando.
Por ese motivo, Excel nos muestra seleccionada por defecto la ubicación “Este libro”.
Sin embargo, las macros también las podemos crear para un nuevo libro o para todos los libros de Excel que tengamos, en ese caso, deberíamos seleccionar la opción de “Libro de macros personal”.
Esta opción sólo la deberías utilizar si estás absolutamente seguro de que esa misma macro la vas a necesitar en otros libros.
Descripción de la macro
Este cuadro de texto se utiliza para añadir información personalizada a la macro, por ejemplo, fecha de creación, quién la ha creado, con qué objetivo, etc.
Lo que pongamos en ese cuadro es meramente informativo y si la macro es solo para ti y ya sabes para qué la creaste, puedes dejarlo en blanco sin problema.
No afecta para nada a la macro en sí.
Grabación de una macro en Excel
Una vez cumplimentado el cuadro de diálogo y en el momento en el que cliquemos sobre el botón “Aceptar”, cualquier movimiento que hagamos va a quedar grabado.
Si seleccionas una celda, si haces scroll, si copias, si pegas, si clicas con el botón secundario sobre una celda, cualquier cosa que hagas, quedará grabada.
Por ese motivo, como te he dicho antes, es importante tener muy claros cada uno de los movimientos que vayamos a hacer antes de empezar a grabar.
Pasos de la macro para guardar los datos de un formulario en Excel
Antes de crear la macro, te aconsejo poner un primer registro a mano en el tabla de registros.
No es que no se pueda hacer con la tabla completamente vacía, pero si ya tienes un registro va a ser más sencillo.
Estos son los pasos que tienes que dar para guardar los datos del formulario en la tabla de registro:
- Insertar en la tabla una fila que contendrá los nuevos datos.
- Copiar y pegar los datos uno a uno.
- Borrar los datos del formulario.
- Seleccionar la primera celda del formulario.
- Detener la macro
Aquí tienes un pequeño vídeo en el que puedes ver todos los pasos:
Para detener la grabación tienes que utilizar el mismo botón que has utilizado para iniciarla.
Asignar la macro a un botón para ejecutarla
Para asignar la macro al botón que hemos puesto para guardar los registros, lo único que tienes que hacer es seleccionarlo, clicar con el botón secundario del ratón y clicar en la opción “Asignar macro”.
Te aparecerá una ventana con todas las macros que contiene el libro.
En caso que quieras asignar una macro que hubieras guardado previamente en el libro de macros personal, tienes que seleccionar la opción “Libro de macros personal” que encontrarás en la parte inferior de la ventana.
A partir de este momento, cada vez que introduzcas datos nuevos en el formulario, al clicar en el botón se guardarán automáticamente en la tabla de registro de datos.
Ventajas de los formularios en las celdas de Excel
Al margen de que puedes crear formularios visualmente mucho más estéticos, y eso resulta mucho más agradable de utilizar…
… los formularios creados a través de las celdas de Excel, tienen otras ventajas.
Por ejemplo, utilizando código VBA, puedes conseguir que localice los datos de un cliente que ya tienes en la base de datos.
O puedes utilizar las listas desplegables para rellenar automáticamente datos de tipo localidad, provincia, etc.
Un último consejo
Cuando ejecutes la macro, vas a ver cómo se reproducen todos los pasos de forma muy, muy, muy rápida y eso va a generar saltos y movimientos en tu libro de Excel.
Eso se puede evitar.
Pero tiene que ser a través de tocar un poco el código VBA.
Ve a la pestaña Programador y al botón «Visual Basic» (o clica Alt + F11) y escribe lo siguiente al inicio del código:
Application.ScreenUpdating=False
y lo siguiente al final:
Application.ScreenUpdating=True
Con estas dos líneas de código le decimos a Excel primero, que no refresque la pantalla mientras se ejecuta el código y después que vuelva a refrescar.
¡¡Venga!! ¡¡Ya puedes crear tus formularios de manera súper pro!!!