MACROS EN EXCEL

 Macros ,que se traducen en inglés como ”Instrucciones” registran una serie de Comandos ,para realizar actividades automáticamente. Los macros de Excel son códigos de programación que se usan para automatizar la hoja de Excel.

Se escriben en lenguaje informático en un editor. Este lenguaje se conoce como Visual Basic for Apllications o VBA.

La herramienta incorporada en Excel para filmar macros usa el lenguaje de scripts Visual Basic for Applications (VBA), que además se implementa en Word, Powerpoint, Access y Outlook. Debido a este lenguaje es posible generar macros en Excel capaces de llevar a cabo de manera automática comandos rutinarios o inclusive adicionar novedosas funcionalidades (algoritmos para la investigación de datos) en el momento de cálculo.

ASI FUNCIONA LAS MACROS EN EXCEL

Excel dispone los múltiples recursos que conforman la interfaz de uso como objetos-programa organizados jerárquicamente, todos los cuales tiene características y procedimientos específicos. Dichos objetos tienen la posibilidad de editarse determinando sus características y asignándoles procedimientos.

Estos objetos pueden editarse determinando sus propiedades y asignándoles métodos. Por ejemplo, para el objeto “Workbook” existen los métodos “Close”, con cuya ayuda se cierra el libro seleccionado, así como la propiedad “ActiveSheet”, que muestra la hoja activa en el libro de trabajo.

Por medio de las listas (objetos señalados con el sufijo plural -s) las macros además tienen la posibilidad de llevar a cabo actividades sobre un conjunto de objetos.

El objeto para listas “Worksheets” en una macro tiene como consecuencia que las indicaciones se utilizan a cada una de las hojas de trabajo.

Para ejecutar una macro se tienen estas tres opciones:

  1. Seleccionar la opción correspondiente en el menú de macros
  2. Seleccionar una tecla creada por el usuario
  3. Un atajo de teclado personal

CREA MACROS EN EXCEL PASO A PASO

Para crear macros propias hay que activar el editor Visual Basic, que forma parte de las herramientas para desarrolladores y no está, por defecto, disponible 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 (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):

Para poder grabar macros hay que añadir la pestaña Developer (Programador) a la cinta de opciones

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:

Antes de grabar macros se ha de crear un libro para macros donde guardarlas

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!”:

1.Sub Hello()
 2. MsgBox ("Hello world!")
3.End Sub

Guardamos el código en formato .xslm (Macro-Enabled Excel Format), cerramos y volvemos a la hoja de Excel. Aquí hacemos clic en Macros y seleccionamos la macro llamada “Hello” de la lista. Para ejecutarla accionamos el botón Run (Ejecutar) y aparece un pequeño cuadro de información con el texto que acabamos de definir:

La 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, se guarda el libro en el editor Visual Basic.

  • TERCER PASO: CREAR UN BOTÓN DE ACCESO RÁPIDO PARA LAS MACRO

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:

1.Abre la pestaña File (Archivo).

2.Abre las opciones y haz clic en Quick Access Toolbar (Lista de símbolos de acceso rápido)

3.Selecciona en Choose comands from (Seleccionar comando desde) la opción Macros y busca allí la macro “Hello” que has creado.

4.Añádela a la lista de símbolos de acceso rápido marcándola y confirmando con Add (Añadir).

5.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, la lista de símbolos, que incluye “Guardar”, “Deshacer” y “Rehacer”, se ha completado con 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.

Nota: también es posible definir un atajo de teclado para la ejecución de macros. Sigue para ello la ruta “Programador>Macros>Opciones” o “Developer>Macros>Options”.

  • 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 cambia el nombre de una hoja automáticamente. Sigue estos pasos:

  • Selecciona la opción Record Macro (Grabar macro) en la ficha Developer que ya conoces.
  • En el cuadro de diálogo que aparece a continuación titula la macro como “RenameWorksheets” (renombra hojas de trabajo) e inicia la grabación haciendo clic en OK.
  • Cambia el nombre de la “Sheet 1” (Hoja 1) por el de “New Name” (Nuevo nombre) y da por finalizada la grabación de la macro haciendo clic en Stop Recording (Finalizar grabación).
  • Si ahora volvemos al editor Visual Basic (“Programador”>”Macros”>”Editar” o “Developer>Macros>Edit”) debería mostrarse un código similar a este:

Las cuatro primeras líneas de código bajo la línea que comienza con Sub, que empiezan con un apóstrofe, constituyen comentarios que no tienen ninguna influencia en la funcionalidad general de la macro y que solo sirven para una mejor comprensión del código. Estos comentarios también permiten desactivar temporalmente algunas líneas de código. En este ejemplo, concretamente, estas cuatro líneas generadas automáticamente no son necesarias, por lo que podrías borrarlas sin ningún tipo de problema, aunque, si no eres experto, te recomendamos no hacer modificaciones innecesarias en el código.

La siguiente línea contiene el método Select para seleccionar la “Sheet 1” (Hoja 1), paso necesario durante la ejecución manual del cambio de nombre antes del cambio en sí. Sin embargo, los scripts de Visual Basic no necesitan seleccionar objetos para poder editarlos, por lo que esta línea de código también es prescindible. Así que, una vez finalizada su edición, el código definitivo tendría este aspecto:

1.Sub RenameWorksheets ()
 2. Sheets("Sheet1").Name = "New Name"
3.End Sub

Ahora, vuelve a Excel y, de nuevo, cambia el nombre de la hoja de trabajo por el de “Sheet 1″(Hoja1) para poder ejecutar a modo de prueba la macro “RenameWorksheets” recién creada. El nombre debería, así, cambiar automáticamente. Ten en cuenta que para poder ejecutar otra vez la macro hay que ajustar la macro al nombre nuevo.

Con una macro también se puede crear un comando para cambiar el nombre de una hoja automáticamente.