MACROS EN EXCEL 2016 (INTRODUCCIÓN)
El sentido de crear una Macro en Excel es el de programar un proceso secuencial, una automatización de una acción repetitiva. Se trata de una subrutina, un trozo de código de VBA (Visual Basic para Aplicaciones), que realiza una tarea o una función en concreto, como ejemplo para este post, una Macro que genera un gráfico a a partir de una tabla que exportamos de una base de datos de nuestra plataforma de trabajo, o una tabla sin formato, o una tabla en la que hemos consolidado nuestros datos. Lo mejor es hacernos previamente un esquema (guión) de los pasos a seguir, para evitar errores en el proceso.
Índice del Artículo
Creación de una Macro de ejemplo
El primer paso es, desde Personalizar la cinta de Opciones, activar la casilla de verificación de Desarrollador o Programador según la versión de Excel 2016, y una vez aparece en nuestra interfaz de menú de la propia cinta de Excel, clic en Grabar Macro, tal como en la captura de pantalla de arriba. El nombre de la Macro no puede tener caracteres especiales, ni espacios en blanco. En la pestaña de ‘Guardar Macro en’, seleccionar ‘Este Libro‘ si la Macro se va a ejecutar solamente para este archivo de Excel (lo normal) o ‘Libro de Macros Personal‘ si queremos acceder a la Macro desde cualquier archivo de Excel. ¡Atentos!: en el momento que hacemos clic en el botón ‘Aceptar’, la Macro empieza a grabar, ¡y se quedan guardados como líneas de código VBA, todos nuestros pasos!. Es importante partir de la base de que no todo es posible en función de las Macros, a veces hay que recurrir a líneas de código para salir al paso de la tarea que pretendemos llevar a cabo.
Ejemplo de Macro que genera gráfico en PDF a partir de tabla importada
- Poner foco de entrada en la celda de la tabla desde donde se requiere traer la tabla.
- Importar la tabla (por ejemplo de Access desde la cinta de opciones ‘Datos’.
- Sin tocar nada, con la tabla importada por defecto seleccionada, generar un gráfico (por ejemplo desde ‘Gráficos recomendados’.
- Ponerle título al gráfico.
- Mover gráfico a una hoja nueva y darle un nombre.
- Guardarlo como PDF.
- Eliminar la hoja del gráfico.
- Eliminar la tabla importada en la hoja principal (icono goma ‘Borrar todo’)
- Poner el foco de entrada en la celda donde se ha decidido insertar la tabla en primer paso, por ejemplo A1.
- Paramos la Macro.
Una vez que hemos comprobado que la Macro funciona correctamente, hay que guardar el archivo de una ‘manera especial’. Una vez seleccionado el directorio (carpeta/subcarpeta) donde se pretende ubicar el libro con la macro, se guardan como un archivo .XLSM, seleccionar en la pestaña de Tipo: ‘Libro de Excel habilitado para macros‘ (ojo: ¡importante!):
Podemos acceder a la ventana del código VBA (con el que están hechos múltiples aplicaciones de gestión y el propio Windows) con la combinación de teclas ALT+F11, y hacer las modificaciones correspondientes, accediendo haciendo doble clic en el Módulo (captura de debajo). Suele ser recurrente el que la Macro funcione y nos de un error al depurar, por lo que podríamos teclear al principio de la Macro, después de la línea del nombre de la Macro, o previo a la primera línea de codigo de la macro que no es el nombre de la misma, lo siguiente: On Error Resume Next, y la Macro funciona sin problema. De esta manera, se evita la desagradable ventana de ERROR EN TIEMPO DE EJECUCIÓN, que tanto molesta al usuario inexperto..
Reciclar código VBA de otra Macro
También se puede reciclar el código VBA de una macro que sirva para nuestro propósito en concreto, este código podemos encontrarlo navegando por foros de Macros o programación VBA, para lo que no have falta tener grandes conocimientos en el lenguaje de subrutinas de código. Es tan sencillo como insertar un nuevo módulo en la ventana de VBA, y copiar el código que vamos a reciclar para nuestra Macro, modificando alguna línea si fuera necesario:
Seguidamente, se guarda la Macro, y ya se puede asociar/vincular/asignar a un botón de comando (cmdbutton) en nuestra hoja de Excel, dicha Macro que se ha generado como un módulo de VBA, un trozo de código que simplemente hemos copiado y pegado…
Personalizar cinta de opciones con Macros
En el cuadro de diálogo ‘Cambiar nombre’ podemos asociar un icono (de los que vienen por defecto, o crear uno personalizado .ico y guardarlo en la subcarpeta de iconos) al ‘Nuevo grupo’, que aparecerá en la ‘Nueva pestaña’ de la cinta de opciones de Excel. De manera parecida, se puede actuar de cara a modificar la ‘Barra de herramientas de acceso rápido‘…