Qué es una Macro?
Las denominadas macros, (del griego μακρο, makro, que significa ‘grande’) ―abreviatura de macroinstrucción― es una serie de instrucciones que se almacenan para que se puedan ejecutar de manera secuencial mediante una sola llamada u orden de ejecución. Dicho de otra manera, un macroinstrucción es una instrucción compleja, formada por otras instrucciones más sencillas. Esto permite la automatización de tareas repetitivas.
Las macros tienden a almacenarse en el ámbito del propio programa que las utiliza y se ejecutan pulsando una combinación especial de teclas o un botón especialmente creado y asignado para tal efecto.
MACRO del griego μακρο, makro, que significa ‘grande’
Microsoft Excel se cuenta entre las soluciones más demandadas a la hora de editar, analizar y presentar datos. Los usuarios de Windows pueden utilizar las populares hojas de cálculo, incluidas en la suite ofimática de Microsoft Office, para, entre otras cosas, planificar un presupuesto o crear un calendario personal. En el entorno laboral Excel es también una herramienta muy utilizada, pues no solo permite elaborar planes de proyectos, registros de horas de trabajo o planes presupuestarios, sino también representaciones gráficas de cifras de ventas, de beneficios o de pérdidas. Una vez que se ha aprendido a utilizar el programa, se aprecian pronto sus numerosas funciones, aunque también es fácil desarrollar una serie de tareas rutinarias y repetitivas o acciones que se puedan ejecutar fácilmente con ayuda de la interfaz estándar.
Entre las características más importantes del programa de cálculo, Excel tiene incorporado el editor de Visual Basic for Applications (VBA), donde se pueden crear macros con la grabadora de macros o escribiendo directamente los códigos en el Editor de VBA, esta última opción es más potente, ya que la grabadora de macros se limita a grabar cosas repetitivas que se hacen con el teclado, en cambio al escribir el código nos permite hacer otras cosas convirtiendo a Excel en una aplicación super potente al permitir programar macros mediante VBA. Gracias a este lenguaje es posible crear macros en Excel capaces de ejecutar de forma automática comandos rutinarios o incluso añadir nuevas funciones (algoritmos para el análisis de datos) a la hora de cálculo. Por si no lo sabías, esta herramienta integrada también se puede utilizar en Word, Powerpoint, Access y Outlook.
Así funcionan las macros en Excel
Excel dispone los diversos elementos que componen la interfaz de uso como objetos-programa organizados jerárquicamente, cada uno de los cuales posee propiedades y métodos específicos. En este sistema jerárquico, todos los objetos disponibles se encuentran conectados entre sí y se ven reflejados de forma aproximada en la interfaz de usuario, que proporciona los mandos necesarios para poder interactuar con la aplicación. A esto se le llama ‘Programación Orientada a Objetos’. Los objetos son entidades que tienen un determinado "estado", "comportamiento (método)" e "identidad". En Excel, un objeto puede ser una celda, una hoja, un libro, un conjunto de celdas o en programación: un botón, una caja, un cuadro, una letra e incluso un color. Estos objetos pueden editarse determinando sus propiedades y asignándoles métodos. Por ejemplo, para el objeto “Workbook” (libro), existen los métodos “Close”, con que se cierra el libro seleccionado, o el objeto “ActiveSheet”, que corresponde a la hoja activa en el libro de trabajo.
Para ejecutar una macro se tienen estas tres opciones:
- Seleccionar la opción correspondiente en el menú de macros
- Seleccionar una tecla creada por el usuario
- Un atajo de teclado personal
Las ventajas de utilizar macros con Excel
Si, con anterioridad, consciente o inconscientemente, no se ha aprovechado la utilidad de las macros de Excel, no significa esto que haya sido en detrimento del trabajo con archivos de Excel, pero sí que se ha elegido el camino más difícil. Y es que saltan a la vista las ventajas decisivas de la tecnología de macros que las convierten en una tarea obligatoria para todo aquel que quiera sacar el máximo partido al software de hojas de cálculo. Esto es lo que aporta crear macros con Excel:
- Reducen la tasa de errores: con cada comando que se introduce manualmente en la hoja de cálculo aumenta la probabilidad de cometer un error y es que, especialmente cuando se trata de secuencias complejas de comandos y de acciones repetitivas, es muy fácil dar un paso en falso que bloquee incluso al programa al completo. Grabando macros, en cambio, solo esconde un potencial de error el propio proceso de su creación, pero si se hizo todo correctamente, la macro funciona siempre a la perfección.
- Reducen el tiempo de trabajo: como las macros se crean una sola vez y se utilizan siempre que se necesite, ahorran un tiempo valioso que es posible dedicar a otras tareas.
- Aumentan la utilidad de Excel: Con Visual Basic no solo se pueden programar macros, sino también desarrollar nuevas funciones. De este modo el usuario tiene la posibilidad de ampliar el abanico de funciones con aquellas adecuadas a sus necesidades y de simplificar de forma considerable sus fórmulas. Algo muy práctico es que Excel presenta estas funciones definidas por el usuario como si fueran nativas del programa y, más aún, el usuario puede fijar botones de acceso rápido a sus propias macros en la barra de símbolos.
Tu puedes crear macros en Excel.
En esta serie de instrucciones, te voy a enseñar a crear tus primeras Macro, sólo sigue las instrucciones tal cuál y en seguida, verás los resultados.
Para crear macros primeramente hay que activar el editor Visual Basic, que forma parte de las herramientas para desarrolladores y que por defecto, no se encuentra visible y por ello, es necesario activarlo en la cinta de opciones (la antigua barra de herramientas). En un primer paso, entonces, se debe añadir la pestaña o ficha denominada Developer (Desarrollador/Programador).
Primer paso: añadir la ficha Developer a la cinta de opciones
Dirígete a la pestaña File (Archivo) y selecciona Options (Opciones). En el punto Customize the Ribbon (Personalizar la cinta de opciones) se encuentra un listado de todas las pestañas principales o Main Tabs, entre las que se encuentra Developer (Programador):
Marca la casilla de Developer y confirma haciendo clic en OK. Ahora la pestaña ya se encuentra en la cinta de opciones.
Vista de la cinta de opciones con la pestaña Developer
Segundo paso: crear un libro nuevo para macros
A continuación, se crea un libro que sirva de base a las macros registradas. Para ello, haz clic en Macros en la pestaña Developer y cuando aparezca la ventana emergente introduce el nombre de la primera macro –en este ejemplo “Hello”– en Macro Name. Confirma haciendo clic en Create (Crear), a lo que se abre el editor Visual Basic con el siguiente código:
Comencemos a programar!
Sub equivale aquí a subrutina y hace referencia a una macro, que en sí es una especie de programa secundario de Excel. Cuando se inicia una macro, se ejecuta el código que figura entre Sub y End Sub. Podemos realizar una pequeña prueba ampliando el código de la macro Hello con el mensaje “Hello World!”:
El código debe quedar así:
Sub Hello()
MsgBox ("Hello world!")
End Sub
Para guardar la macro, dale click en el ícono Guardar que aparece con forma de un disco o bien, presiona al mismo tiempo la tecla Ctrl + S. Es muy importante que guardes el código en formato .xslm (Macro-Enabled Excel Format). Para ejecutarla presiona el botón Run (Ejecutar) en el ícono que aparece con forma de triángulo verde (play), o bien, presiona la tecla F5 y observa que aparece el mismo cuadro de diálogo con el que iniciamos la macro, presiona el botón Run (Ejecutar) y observarás un pequeño cuadro de información con el texto que acabamos de definir aparecerá en tu hoja de cálculo:
Tu primera macro Hello con el mensaje “Hello world!” ha sido creada con éxito!
Haciendo clic en OK se cierra la ventana y se finaliza la ejecución de la macro. Por último, cierra el editor de VBA.
Tercer paso: crear un botón de acceso rápido para las macros
Las macros de Excel son accesibles para su ejecución tanto desde la pestaña Developer como desde View, pero si se va a usar una macro a menudo, quizá convenga generar un acceso rápido en la lista de símbolos de acceso rápido en la parte superior izquierda. Eso se hace de la siguiente forma:
- Abre la pestaña File (Archivo).
- Presiona la palabra Options (Opciones) y haz clic en Quick Access Toolbar (Barra de herramientas de acceso rápido)
- Selecciona en Choose comands from (Comandos disponibles en:), despliega las opciones y selecciona la opción Macros y busca allí la macro “Hello” que has creado.
- Añádela a la lista de símbolos de acceso rápido marcándola y confirmando con Add (Añadir).
- Antes de confirmar definitivamente con OK aún puedes determinar el símbolo con el que se mostrará. Para ello selecciona la macro y a continuación haz clic en Modify (Cambiar). Para este ejemplo se ha elegido un smile.
Una vez finalizado, dale OK (Aceptar) y la lista de símbolos, que incluye “Guardar”, “Deshacer” y “Rehacer” en la esquina superior izquierda, parecerá el ícono seleccionado, presionalo y se ejecutará nuevamente la macro “Hello”:
Se ha creado un símbolo de acceso rápido para la macro Hello en la lista de símbolos de Excel
Cuarto paso: grabar una macro
El editor Visual Basic, incluido entre las aplicaciones ofimáticas de Microsoft, brinda la ventaja de que permite crear macros simples sin tener que dominar este lenguaje de programación. Como ejemplo, vamos a crear una macro que escribe tu nombre cualquier celda de forma automática. Sigue estos pasos:
- Selecciona la opción Record Macro (Grabar macro) en el menú Developer que ya conoces.
- En el cuadro de diálogo que aparece a continuación titula la macro como “MyName” (MiNombre), en Shortcut Key escribe la letra "a" e inicia la grabación haciendo clic en OK.
- En la celda B1 escribe tu nombre, presiona ENTER y finaliza la grabación de la macro haciendo clic en Stop Recording (Finalizar grabación).
Selecciona cualquier otra celda y presiona al mismo tiempo las teclas Ctrl + a y observa lo que sucede.
Quinto paso: crear un cuadro de diálogo
Intenta crear esta macro más avanzada. Otra posibilidad que se deriva del uso de macros en Excel consiste en la creación de cuadros de diálogo con los cuales los usuarios pueden interactuar con el programa. Si, por ejemplo, se trata de crear una ventana en la cual el valor que se introduzca se escriba automáticamente en una celda definida, comienza creando y nombrando la macro como hasta ahora. En nuestro ejemplo, damos a esta macro el nombre de “DialogBox”. En la subrutina indica a continuación el lugar a donde se destina el valor que introducirán luego los usuarios:
Sub DialogBox()
ActiveSheet.Range("A1").Value =
End Sub
Con este código, la macro se encarga de que la información que ha introducido el usuario en el cuadro de diálogo se guarde en la celda A1 de la hoja activa (Hoja 1).
La asignación de la variable de este campo o Value corresponde a la segunda parte del comando. En el ejemplo nos hemos decantado por el comando InputBox, muy similar al comando MsgBox que se utilizó en aquella macro “Hello” del principio. Combinado con los tres argumentos siguientes, escritos en Visual Basic entre comillas, resulta el cuadro de diálogo que mostramos a continuación:
- Prompt: con ayuda del primer argumento se define el texto que aparece en la ventana y que ha de servir de apoyo al usuario.
- Title: con este argumento se determina la cabecera del cuadro de diálogo
- Default: define un valor estándar
Este sería un código ejemplar de una macro completa para un cuadro de diálogo con caja y texto:
Sub DialogBox()
Sheet1.Range("A1").Value = InputBox("Please, enter a value for the field A1", "Title of the dialog box", "Value for the field A1")
End Sub
Si ejecutas la macro, aparece la ventana correspondiente:
Ejemplo de cuadro de diálogo creado con una macro de Excel
Te resultó fácil? nada complicado?
De esta forma es como puedes crear y desarrollar macros que te permitan mejorar tu experiencia en Excel, optimizar tiempos, realizar tareas repetitivas y por supuesto, crear tantas cosas te vengan a la mente.
En HUMAN CAPITAL SITE contamos con las certificaciones en Excel 2016 por lo que te garantizamos un aprendizaje total en el uso, edición, desarrollo y creación de macros en Excel. Participa en nuestros próximos cursos que estaremos publicando próximamente.
Podemos ayudarte.
Dirección
4 añosSi concluyes las 4 macros y funcionan, házmelo saber y te regalo un manual para macros básico!