Formularios Y Macros: Ejercicio 27 de Excel
Formularios Y Macros: Ejercicio 27 de Excel
Formularios Y Macros: Ejercicio 27 de Excel
EXCEL EJERCICIO 27
FORMULARIOS Y MACROS
Nota: la materia es tan extensa que dividiremos el ejercicio en dos (27 y 28) con el fin de no cansar demasiado. Al igual que el Word, el Excel proporciona herramientas para crear formularios, aunque las posibilidades que ofrecen los formularios de Excel son bastante mayores. Es posible, por ejemplo, vincular el contenido de un control de formulario a una celda y utilizar luego ese contenido en otras frmulas o funciones. As, es posible, por ejemplo, que al elegir una opcin de un cuadro combinado, dicha opcin permita la aparicin de mltiples valores en otras celdas (p.ej, a travs de funciones de bsqueda). Adems, los controles de formulario pueden asociarse a macros de manera que se puedan realizar tareas complejas con un solo clic.
ACTIVIDAD
Vamos a ver cada uno de los principales controles de formulario y su utilidad en algn ejemplo. En primer lugar, abre un documento nuevo de Excel y gurdalo en el pendrive con el nombre 27ex Formularios. Al guardarlo, en el apartado Tipo elige la 2 opcin (Libro de Excel habilitado para macros); se crea un archivo con extensin .xlsm. Haz clic en la pestaa Programador de la cinta de opciones (desde la que se crean y manejan los formularios).
Este apartado es el que nos interesa.
Antes de empezar, decir que aqu utilizaremos los controles de formulario pero no los controles ActiveX (pensados ms para la elaboracin de formularios a cumpli1
EJERCICIO 27 DE EXCEL
mentar online y ligados normalmente a ms o menos complejas secuencias de cdigo en Visual Basic, escritas por el usuario)
BOTN
Este control slo tiene sentido asociado a una macro. Por eso, al insertarlo ya se nos ofrece directamente la posibilidad de crear y nombrar una macro asociada al mismo. Veamos un ejemplo sencillo: crearemos un botn que borre el contenido de un rango, concretamente A1:A5
PROCEDIMIENTO 1- Llama a la hoja 1 Botn de comando. Introduce unos datos cualesquiera en el rango A1:A5 de dicha hoja.
EJERCICIO 27 DE EXCEL
Como nombre de la macro, escribe Borrardatos (sin espacios). Deja las dems opciones como estn (si quisieras disponer de esta macro en cualquier documento creado a partir de ahora, en Guardar macro en deberas seleccionar Libro de macros personal)
4- Selecciona las celdas del rango A1:A5 y borra su contenido con la tecla Supr. 5- En la pestaa Programador, en el apartado Cdigo, haz clic en el botn Detener
grabacin.
6- Haz clic derecho sobre el botn para seleccionarlo. Luego, haz clic izquierdo en
el interior del botn; borra el texto del mismo y escribe Borrar. Haz tambin el botn algo ms alto para que el texto quede bien centrado.
7- Finalmente, haz clic en cualquier punto de la hoja de datos y, luego, clic sobre
el botn Borrar. Los datos de A1:A5 quedarn borrados. Vuelve a escribirlos, a fin de facilitar la correccin del ejercicio.
8- Slo por curiosidad, le echaremos un vistazo a la macro recin creada, en cdigo VisualBasic. Para ello, haz clic en el botn Visual Basic de la pestaa Programador.
9- Con ello se abre la ventana del editor de Visual Basic para Excel. El panel izquierdo tiene el siguiente aspecto:
EJERCICIO 27 DE EXCEL
Todas las macros comienzan con Sub nombremacro() En verde aparecen etiquetas descriptivas (esta no lo es mucho) que no ejecutan acciones
PROCEDIMIENTO 1- Llama Cuadros a la hoja 2 y Lista cuadros a la hoja 3. 2- En la pestaa Programador, haz clic en la flecha del botn Insertar y, luego, en
el botn de formulario Cuadro combinado. Dibuja un cuadro combinado que ocupe exactamente el rea de la celda C2.
3- Deja la hoja como se muestra a continuacin: 4- En la hoja Lista cuadros introduce lo siguiente:
EJERCICIO 27 DE EXCEL
5- Vuelve a la hoja Cuadros. Haz clic derecho sobre el cuadro combinado y elige la
opcin Formato de control.
Como origen del cuadro, ve a la hoja Lista cuadros y selecciona los nombres de los clientes.
Vincula el cuadro combinado al contenido de la celda C2 (como est debajo, no se ve; pero, segn la opcin que elijamos, en C2 aparecer 1, 2, 3 o 4) Luego, acepta.
6- En la celda C3, introduce una funcin BUSCARV para que, en funcin del contenido de C2 (tendrs que escribir la referencia de celda), aparezca el telfono del cliente que hemos seleccionado en el cuadro combinado. Complementa la funcin con otra SI o SI.ERROR para evitar el mensaje de error en caso de que an no se haya seleccionado nada. 7- Finalmente, selecciona sucesivamente a los diferentes clientes del cuadro combinado y observa cmo aparece su nmero de telfono en C3. En realidad, la principal ventaja de un cuadro combinado respecto a una regla de validacin tipo Lista es que, al ser el cuadro combinado un objeto insertado en la hoja, le podemos asignar una macro. As, por ejemplo, en un impreso de factura podramos crear una macro que borrara los datos concretos de la operacin y asociarla a un cuadro combinado con los nombres de los clientes. De esa forma, al elegir un nuevo cliente en el cuadro combinado, se borraran automticamente los datos de la factura anterior (si es que eso realmente nos interesa).
ACTIVIDAD
Aade una columna a la lista de la hoja Lista cuadros tal como se muestra:
En la hoja Cuadros inserta un cuadro de lista que muestre los nombres de los clientes. El cuadro ocupar (aproximadamente) el rea del rango B8:B10. Vinclalo a la celda B8. Aade a la pequea tabla de B2:C3 una nueva fila para la direccin de la empresa (ajusta el formato). En la celda C4 incluye una funcin BUSCARV que obtenga la direccin de la lista de la hoja Lista cuadros a partir del cliente elegido en el cuadro de lista.
El aspecto final de la hoja Cuadros ser similar a esto (el cliente seleccionado puede ser distinto).
Ten en cuenta que, en nuestro ejemplo, de momento, es posible que en el cuadro combinado hayamos seleccionado un cliente y en la lista, otro distinto. Para evitar esto, cambia la celda vinculada del cuadro combinado a B8 (la misma que el cuadro de lista). El procedimiento es bsicamente el mismo ya visto para el cuadro combinado.
ACTIVIDAD
En el libro 27ex Formularios, en una nueva hoja que llamars Casillas de verificacin, crea el siguiente cuadro:
Un profesor ha de calificar un examen a 3 alumnos. A aquellos que hayan presentado un trabajo extra, les sumar un punto a la nota de examen. En las celdas de la columna Trabajo presentado inserta casillas de verificacin que funcionen as: Si la casilla est desactivada (no se ha presentado el trabajo), en la columna TOTAL se calcula simplemente la nota de examen, sumando la puntuacin de las preguntas 1, 2 y 3 Si la casilla est activada (se ha presentado el trabajo), adems se suma un punto a la nota de examen (TOTAL), siempre que el resultado no sea superior a 10 (en cuyo caso, la nota total ser 10)
Nota: el mismo resultado se podra conseguir sin necesidad de casillas de verificacin (escribiendo S o NO en las celdas de la columna Trabajo presentado); con las casillas, sin embargo, damos a la hoja un aspecto ms profesional. Adems, al igual que con los dems controles, podemos asignar a la casilla (segn la activemos o no) una macro cualquiera.
PROCEDIMIENTO 1- Crea la nueva hoja y, en ella, el cuadro mostrado arriba. Selecciona las celdas
de la columna Trabajo presentado y elige color blanco para el texto de las celdas.
2- En la pestaa Programador, haz clic en la flecha de Insertar y, luego, en el icono Casilla de verificacin (del grupo Controles de formulario)
EJERCICIO 27 DE EXCEL 3- Haz clic en la primera celda de la columna Trabajo presentado. Se inserta una
casilla con una etiqueta; para borrar el texto, sencillamente seleccinalo y brralo con el botn Supr. Luego, reduce el ancho del control tanto como se pueda y muvelo (con Ctrl + flechas de direccin) para centrarlo en la celda.
4- Haz clic derecho en la casilla y selecciona Formato de control; configura el cuadro de dilogo como se muestra (luego, acepta):
Esta celda ha de ser la misma en que has insertado la casilla (sea C4 u otra)
Con esto, vinculamos el estado de la casilla (activado o desactivado) con el contenido de la celda en que est la casilla (podra ser tambin cualquier otra celda); como antes hemos aplicado color blanco al texto de la celda, el resultado (VERDADERO para activada y FALSO para desactivada) no se ver.
5- Haz lo mismo para las otras dos casillas, vinculando cada una a su celda respectiva.
6- En las celdas de la columna TOTAL introduce una funcin SI que sume las calificaciones de las 3 preguntas si la casilla est desactivada y que aada a lo anterior un punto extra, si est activada. Salvo que la suma de las preguntas de examen ms el punto extra sumen ms de 10; en ese caso, la nota total ser 10. En la prueba lgica (tanto en la funcin SI como en la Y), para indicar que en la celda correspondiente de la columna Trabajo presentado pone VERDADERO, escribe nicamente la referencia (relativa) de esa celda (p.ej, C4), sin ningn operador ni trmino de comparacin (dado que aqu VERDADERO es un valor lgico y no un texto). Prueba la hoja, introduciendo datos de ejemplo en las celdas correspondientes a las preguntas del examen y activando alguna de las casillas de verificacin insertadas.