Una de las utilidades que sin lugar a dudas marcan la diferencia a la hora de aprovechar al máximo Excel es la utilización de macros. Las macros sirven para automatizar tareas, no sólo podemos automatizar tareas repetitivas como puede ser el formateado de hojas (por ejemplo tablas de datos provenientes de un ERP), sino que si somos capaces de sistematizar los cálculos podremos crear macros para la realización de cualquier tipo de informe o proceso. De hecho podríamos construir un ERP con un Excel y un conjunto de macros.
En la realización de las macros interviene el lenguaje de programación Visual Basic, pero no es necesario conocer dicho código para poder crear y ejecutar macros si utilizamos el asistente para la grabación de macros. La diferencia como explicaré en la siguiente entrada Excel and or versus VBA está en el hecho de que la utilización de Visual Basic nos proporcionará una ejecución más rápida al poder prescindir de una gran cantidad de código que no interviene para nada en los cálculos salvo por su consumo de memoria. También hay que decir que hay operaciones que no podremos hacer con la grabadora.
Para ilustrar la realización de macros he construido un ejemplo de escasa (o nula) aplicación práctica, pero que considero útil por su simplicidad a efectos didácticos. El ejemplo está construido en Excel 2007, pero es exactamente igual en Excel 2003.
Consiste en la creación de una macro que hace:
En la hoja 1, pone los números 1, 2, 3, 4, 5 y 6 en las celdas A1, A2, A3, A4, A5 y A6 poniéndoles un formato con fondo en amarillo.
En la hoja 2, pone los números 7, 8, 9, 10, 11, 12 en las celdas A1, A2, A3, A4, A5 y A6 poniéndoles un formato con fondo verde.
En la hoja 3, pone los números 13, 14, 15, 16, 17, 18, 19 y 20 en las celdas A1, A2, A3, A4, A5, A6, A7 y A8 poniéndoles un formato con fondo azul.
Finalmente la macro vuelve a la hoja1 y selecciona la celda A1
Como comentaba puede no parecer de utilidad pero imaginemos el caso de un informe sacado de nuestro sistema contable con un formato predeterminado que necesitamos cambiar para poder trabajar con él. Imaginemos que hay distintas unidades de negocio para las que tenemos que formatear… podríamos copiar y pegar los informes tal y como salen del ERP en las hojas del libro y ejecutar la macro para tenerlo listo para trabajar de forma inmediata.
Lo primero que tenemos que hacer para construir una macro es disponer de la pestaña programador en nuestro Excel. Ya hemos hablado de cómo incorporar dicha pestaña en la entrada Tips & Tricks IV.
Una vez en esa pestaña iremos al icono Grabar macro dentro del área de Código.
Lo primero que tenemos que hacer para construir una macro es disponer de la pestaña programador en nuestro Excel. Ya hemos hablado de cómo incorporar dicha pestaña en la entrada Tips & Tricks IV.
Una vez en esa pestaña iremos al icono Grabar macro dentro del área de Código.
Nos aparece una ventana en la que nombraremos la macro y podemos definir su ámbito de aplicación.
Una vez aceptada la ventana anterior comienza la grabación de la macro. Todas las acciones que ejecutemos a partir de ahora quedarán registradas y se repetirán tal cual las hacemos cada vez que ejecutemos la macro.
Por último, para detener la grabación de la macro solamente debemos pulsar el botón con forma de cuadrado (el mismo símbolo que se utiliza en los reproductores de música) que aparece tanto en la parte superior izquierda e inferior izquierda.
Para ejecutar la macro tenemos que acudir nuevamente a la pestaña Programador y pulsar sobre el icono Macros. Nos aparecerá nuevamente una ventana en la que tendremos a nuestra disposición la lista de todas las macros disponibles.
Una vez seleccionada la macro, podremos hacer distintas acciones sobre ella, ejecutar, modificar, eliminar,… Pulsando Ejecutar se repetirá automáticamente el proceso grabado anteriormente.
Una vez seleccionada la macro, podremos hacer distintas acciones sobre ella, ejecutar, modificar, eliminar,… Pulsando Ejecutar se repetirá automáticamente el proceso grabado anteriormente.
No hay comentarios:
Publicar un comentario