Trabajar con Macros en Excel Imprimer
SOFTWARE - General
Jeudi, 12 Juillet 2007 11:59
There are no translations available.

Seguro que has oído hablar de las macros. Alguien te habrá dicho que son una herramienta muy útil para solucionar problemas de cálculo en Excel..

Trabajar con Macros en Excel

1.1¿Qué es una macro?

Seguro que has oído hablar de las macros. Alguien te habrá dicho que son una herramienta muy útil para solucionar problemas de cálculo en Excel. En realidad son una serie de instrucciones que se almacenan juntas para usarlas cuando sea necesario.

Aunque ya dispones de herramientas que facilitan tu trabajos, hay veces que tendrás que repetir sistemáticamente los mismos pasos. Te habrás preguntado: ¿no existe una forma más sencilla de realizar esta tarea?

¡Pues sí! Puedes preparar una macro y llamarla para que ejecute todos los pasos automáticamente.

Hay dos formas de crear una macro: grabarla o escribirla en el editor de Visual Basic que tienes a tu disposición en Excel.

Ejemplos:

Para este cursillo vas a realizar dos prácticas a modo de ejemplo:

  1. Insertar automáticamente mi nombre en la celda actual.
  2. Introducir la fecha de hoy en la celda actual.

1.2 Grabar una macro

 

 

Cuando grabas una macro, Excel guarda la información sobre cada paso que das. Si cometes algún error mientras se graba la macro, también se graban las correcciones que realices.  Antes de empezar a grabar una macro, es conveniente que practiques las operaciones que vayas a realizar, por lo menos, un par de veces.

Recuerda que si cometes algún error durante la grabación, no debes preocuparte, porque puedes borrar la macro e intentarlo de nuevo.

Excel almacena cada macro en un espacio llamado módulo que queda adjunto al libro con el que estás trabajando.

 

 

 

1.2.1 Práctica 1. Grabar una macro

Grabar una macro que inserte tu nombre

1. Abre Excel y guarda el libro actual como Ejercicios de Macros (Por tener el ejercicio controlado en todo momento).

2. Vete a la celda donde quieres insertar tu nombre.


 

 

3.      Selecciona en la barra de menús Herramientas → Macros → Grabar Nueva Macro.

  1.  
    •  
      •  
        •  
          •  
            •  
              • En un libro de macros personal, para utilizar la macro siempre que entres en Excel en el mismo ordenador.
              • En un libro nuevo, para guardar la macro en un nuevo libro.
              • En este mismo libro, es decir, el que estás utilizando ahora.
  2. Verás la ventana Grabar Macro: Debes darle un nombre a la macro y, si quieres, una tecla rápida (puede ser útil después para llamar a la macro). También puedes elegir donde guardar la macro. Hay tres posibilidades:

 

 

4.      En la caja que se abre para indicar el nombre de la macro, escribe “InsertarNombre”, y en la caja para indicar la descripción, escribe “Esta macro inserta mi nombre”.

El nombre de la macro puede tener como máximo 25 caracteres (sin espacios).

5.      Pulsa el botón aceptar.

El diálogo Grabar Macro desaparece y vuelves a la hoja activa. Verás una nueva barra de herramientas:

A partir de este momento todo lo que hagas se grabará en la macro.

6.     Escribe el nombre en la casilla actual y pulsa la tecla Enter.

 

 

 

7.      Pulsa el botón detener grabación en la barra de herramientas Detener Grabación.

¡Felicidades! ¡Has terminado de grabar tu macro!

1.2.2   Práctica 2. Grabar una macro

Grabar una macro que inserte la fecha de hoy

En realidad, para realizar esta operación bastaría con introducir la función Hoy() en la casilla que desees. El problema que te vas a encontrar, es que esta función inserta la fecha actual (de hoy) y cada vez (cada día) que abras el libro cambiará.

Para solucionar este problema puedes utilizar la función de Pegado Especial. Si esta operación la tienes que realizar habitualmente, puedes grabar una macro que te ahorre tiempo y equivocaciones:

1.      Abre Excel y el libro Ejercicios de Macros.

2.      Selecciona Herramientas → Macros → Grabar Nueva Macro en la barra de menús.

3.      En el caja para el nombre de la macro, escribe “InsertarFecha”, y en la caja para la descripción escribe “Esta macro inserta la fecha de hoy”.

4.      Pulsa aceptar.

5.      Escribe =HOY() en casilla actual y pulsa Enter.

6.      Ponte con el cursor en la celda D2 y pulsa el botón Copiar de la barra de herramientas estándar.

7.      Sobre la celda D2 pulsa Edición → Pegado especial en la barra de menús.

8.      Selecciona la opción Valores en la sección Pegar y pulsa Aceptar.

9.      Excel copia el valor de la formula =HOY() en la celda D2.

10. Pulsa el botón de Centrado y el de Negrita en la barra de herramientas Formato.

11. Pulsa el botón detener grabación en la barra de herramientas Detener Grabación.

¡Muy bien! ¡Ya has terminado de grabar la macro!

1.3    Referencia relativa

Lo que has hecho hasta ahora es grabar macros trabajando siempre sobre la celda actual, pero sin desplazarte por la hoja, el cuaderno, o incluso trabajar con otros cuadernos. Al grabar una macro, Excel trata los desplazamientos entre celdas de dos modos distintos:

  1. Referencia relativa: Excel calcula los desplazamientos desde la celda en la que te encuentras, es decir, guarda los movimientos que haces (dos hacia arriba, tres hacia la derecha, etc.).
  2. Referencia absoluta: Excel guarda las celdas en las por las que pasas. Por ejemplo, C12, D24.

Los dos modos son bastante útiles, pero hay que tenerlo en cuenta a la hora de grabar las macros. Por ejemplo, si quieres insertar tu nombre en la celda H2, debes grabar la macro en modo de referencia absoluta.

Sin embargo, si quieres poner en negrita una celda y desplazarte a la siguiente celda, debes utilizar el modo de referencia relativa.

Para cambiar de un modo a otro, debes pulsar en el botón referencia relativa que aparece en la barra de herramientas Detener grabación. Cuando este botón esta pulsado, se trata de una referencia relativa, sino se trata de una referencia absoluta.

1.3.1   Ejercicios

  1. Grabar una macro que introduzca la fecha de hoy con un formato del tipo 27 de marzo de 2005 en la casilla D2.
  2. Grabar una macro que abra un fichero Excel, borre las tres primeras filas y guarde el fichero abierto con un nombre distinto.

1.4    Ejecutar una Macro

Una vez almacenada la macro, hay que ejecutarla para que se realicen las acciones que has grabado:

1.      Selecciona Herramientas → Macro  → Macros en la barra de menús.

2.      Selecciona la macro que vas a ejecutar.

3.      Pulsa el botón Ejecutar.

Hay distintas opciones para ejecutar una macro. Debes elegir la opción más adecuada a lo que quieres hacer.

Estas son algunas de las posibilidades:

1.      Asignar una tecla rápida.

2.      Asociar un botón de la barra de herramientas.

3.      Asociar un botón incrustado en la hoja.

4.      Asociar un elemento gráfico de la hoja.

1.4.1   Práctica 3: Asociar una tecla rápida a una macro

Asociar una tecla rápida a la macro InsertarFecha

1.      Abre Excel y abre el libro Ejercicios de Macros.

2.      Selecciona Herramientas → Macro → Macros en la barra de menús.

3.      Selecciona la macro a la que quieres asociar una tecla rápida.

4.      Pulsa el botón Opciones…

5.      Verás un cuadro de diálogo que se llama Opciones de la Macro.

6.      En el cuadro de texto Tecla de método abreviado debes introducir la tecla que escojas.

7.      Pulsa el botón Aceptar.

1.4.2   Ejercicios

1.      Asociar una tecla rápida a la macro InsertarNombre

1.5    Añadir un botón personalizado a la barra de herramientas

Una opción muy útil es añadir un botón que ejecute una macro ya grabada, para que la tengas disponible siempre que la necesites.

Excel permite personalizar las barras de herramientas, que es lo que vas a usar para solucionar este ejercicio.

Adelante con el ejemplo:

1.5.1   Práctica 4.Añadir una macro a la barra de herramientas

Añadir un botón que ejecute la macro InsertarFecha.

1.      Abre Excel y el libro Ejercicios de Macros.

 

2.      Selecciona Ver → Barras de Herramientas → Personalizar… en la barra de menús.

 

3.      En la solapa Comandos, en la lista de categorías, baja hasta encontrar Macros.

4.      Arrastra el comando Personalizar botón hasta el comienzo de la barra de herramientas estándar.

5.      Sin cerrar el diálogo Personalizar, pulsa con el botón derecho del ratón sobre el botón que acabas de añadir.

 

6.      Selecciona Asignar Macro del menú que has desplegado.

7.      Selecciona la macro InsertarFecha y pulsa Aceptar.

8.      Sin cerrar el diálogo Personalizar, pulsa con el botón derecho del ratón sobre el botón que acabas de añadir.

9.      En el menú que se despliega pincha en el texto &PersonalizarBotón que aparece al lado de Nombre para cambiar el texto por el que tu creas mas descriptivo


.

 

10. Escribe Insertar Fecha. ¡No pulses la tecla Enter!.

11. Selecciona Cambiar imagen del botón y elige una de las imágenes que se muestran.

12. Cierra el diálogo Personalizar.

 

 

 

1.5.2   Ejercicios

1.      Añadir un botón a la barra de herramientas que llame a la macro InsertarNombre.

1.6    Eliminar un botón personalizado a la barra de herramientas

Puedes necesitar, en un momento dado, eliminar un botón personalizado de la barra de herramientas, que hayas creado antes:

Veámoslo con un ejemplo:

1.6.1   Práctica 5. Quitar un botón de la barra de herramientas

Quitar el botón Insertar Nombre de la barra de herramientas

1.      Abre Excel y el libro Ejercicios de Macros.

2.      Selecciona Ver → Barras de Herramientas → Personalizar… en la barra de menús.

3.      Arrastra el botón Insertar Nombre fuera de la barra de herramientas estándar.

4.      Cierra el diálogo Personalizar.

1.6.2   Ejercicios

1.      Eliminar el botón Insertar Fecha de la barra de herramientas

1.7    Incrustar un botón en una hoja

Otra forma de trabajar es que la macro se active pulsando sobre un botón que puedes añadir a la hoja sobre la que estás trabajando. Para ello:

1.      Selecciona Ver → Barra de Herramientas → Formularios en la barra de menús.

2.      Pincha sobre la herramienta Botón.

3.      Dibuja a continuación en la hoja un botón del tamaño que quieras.

4.      Verás un cuadro de diálogo en el que debes seleccionar la macro que vas a asociar al botón.

1.7.1   Ejercicios

1.      Incrustar un botón en la hoja que ejecute la macro Insertar Fecha.

2.      Insertar un rectángulo de la barra de herramientas Dibujo, que al hacer click sobre él llame a la macro InsertarFecha.

1.8    Editor de Visual Basic

Excel tiene una herramienta de mucha potencia, el editor de Visual Basic, que puedes utilizar para modificar macros grabadas o para crear nuevas. Visual Basic es una aplicación distinta de Excel, pero dependiente de ésta. Cuando estás trabajando con Visual Basic, puedes cerrar sólo el editor, pero si cierras Excel, se cierran las dos aplicaciones.

Para abrir el editor tendrás que:

·        Seleccionar Herramientas → Macro → Editor de Visual Basic en la barra de menús.

  • pulsar las teclas Alt + F11.

Es conveniente que tengas a la vista la ventana del proyecto, para ello, selecciona Ver → Explorador de proyectos en la barra de menús.

1.9    Modificar una macro

Cuando grabas una macro, ésta se almacena en un módulo dentro del editor de Visual Basic. Los módulos son bloques de código que se guardan dentro de la carpeta Módulos en el proyecto correspondiente al libro en el que estás trabajando, dentro del Explorador de Proyectos.

Para modificar una macro tienes que abrir el diálogo de macros (Herramientas → Macro → Macros) y pulsar el botón Modificar.

También lo puedes hacer abriendo el editor de Visual Basic y modificando el código que creas necesario, en el módulo en el que tienes grabada la macro.

1.9.1   Práctica 6. Modificar una macro

Modificar la macro InsertarFecha

Vas a modificar esta macro, para que la fecha introducida no aparezca ni centrada, ni con negrita.

1.      Abre Excel y el libro Ejercicios de Macros.

2.      Selecciona Herramientas → Macro → Macros en la barra de menús.

3.      Selecciona la macro InsertarFecha que es la que se vas a editar.

4.      Pulsa el botón Modificar.

5.      Verás aparecer el editor de Visual Basic con el cursor colocado sobre la macro InsertarFecha y el módulo en el que se encuentra abierto.

6.      Busca en el código las palabras With Selection

7.      Marca el bloque de código que empieza con With Selection y acaba con Selection.Font.Bold = true.

8.     
Borra el trozo de código seleccionado

9.      Guarda las modificaciones pulsando el botón Guardar de la barra de herramientas.

10. Cierra el editor de Visual Basic y comprueba los cambios realizados ejecutando la macro.

1.9.2   Ejercicios

1.      Modificar la macro InsertarNombre para que el nombre aparezca centrado y en negrita.

2.      Modificar la macro InsertarFecha para que la fecha aparezca con el formato 14 de mayo de 2006.

1.10   Seguridad de macros

Habrás comprobado al trabajar con Excel, que a veces te aparecen alertas de seguridad, que hacen especial referencia a las macros. Los niveles de seguridad establecen cómo funcionará la protección antivirus en las macros.

En todos los niveles, si está instalado el software antivirus que funciona con Microsoft Office y el archivo contiene macros, se examinará el archivo para detectar virus conocidos antes de abrirlo.

El nivel de seguridad se establece para cada libro. Si estás trabajando con macros es conveniente establecer el nivel de seguridad en medio.

A continuación verás cómo se comporta Excel al abrir los archivos, en función del nivel de seguridad que tengas establecido:

1.10.1  Niveles de seguridad

1.10.1.1 Alto

Macros sin firmar.

Las macros se deshabilitan automáticamente (no funcionarán) y se abre el archivo.

Macros firmadas

El origen de la macro y el estado de la firma determinan cómo se utilizan las macros firmadas (uso condicionado a la firma digital que tengan).

1.10.1.2 Medio

Macros sin firmar.

Excel te pedirá que decidas si habilitas o deshabilitas las macros.

Macros firmadas.

El origen de la macro y el estado de la firma determinan cómo se utilizan las macros firmadas (uso condicionado a la firma digital que tengan).

1.10.1.3 Bajo

Cuando estableces un nivel de seguridad bajo, todas las macros se tratan de la misma forma independientemente del origen o del estado del certificado. Con el nivel de seguridad bajo, no recibes ningún aviso ni se te pide que valides la firma, y las macros se habilitan automáticamente. Sólo debes utilizar esta configuración si estás seguro de que todas las macros de los archivos son de fuentes de confianza.

¡Enhorabuena! Has aprendido a manejar macros en Excel e incluso a hacer alguna excursión a través de Visual Basic. Ahora sólo debes practicar. Mucha suerte.