ejercicios macros

13
 Introducción Cuando trabajam os con un libr o person aliza do, es deci r, que nos hemos defi ni do con una seri e de características específicas como puedan ser el tipo de letra, el color de ciertas celdas, los formatos de los cálculos y características similares, perdemos mucho tiempo en formatear todo el libro si disponemos de muchas hojas. Con las macros lo que se pretende es automatizar varias tareas y fusionarlas en una sola, añadiendo por ejemplo un botón en nuestro libro que al pulsar sobre él realice todas esas tareas. Crear una macro automáticamente La forma más fácil e intuitiva de crear macros es crearlas mediante el gra bador de macros del que dispone Excel. Este grabador de macros te permite grabar las acciones desead as que poster iormente las traduce a instrucciones en VBA, las cuales podemos modificar post er iormente si tenemos co nocimi entos de programación. Para grabar una macro debemos acceder al menú Herramientas y abrir el submenú Macro y dentro de este submenu seleccionar la opción Grabar nueva macro... Además de esta opci ón en el me podemos encontrar las siguientes opciones: Macros... - Donde accedemos a un listado de las macros creadas en ese libro. Seguridad... - Con esta opcion podemos cambiar el nivel de seguridad para evitar MacroVirus. Ed it or de Vi su al Ba si c - Con esta opción accedemos al editor de Visual Basic. Editor de secuencias de comando de Microsoft - Es ta función solo estará activa si la hemos instalado.

Upload: cesar270972

Post on 14-Jul-2015

310 views

Category:

Documents


0 download

TRANSCRIPT

5/12/2018 Ejercicios Macros - slidepdf.com

http://slidepdf.com/reader/full/ejercicios-macros 1/13

 

Introducción

Cuando trabajamos con un libro personalizado, esdecir, que nos hemos definido con una serie decaracterísticas específicas como puedan ser el tipo

de letra, el color de ciertas celdas, los formatos de loscálculos y características similares, perdemos muchotiempo en formatear todo el libro si disponemos demuchas hojas.

Con las macros lo que se pretende es automatizar varias tareas y fusionarlas en una sola, añadiendo por ejemplo un botón en nuestro libro que al pulsar sobreél realice todas esas tareas.

Crear una macroautomáticamente

La forma más fácil e intuitiva de crear macros escrearlas mediante el grabador de macros del quedispone Excel.

Este grabador de macros te permite grabar las

acciones deseadas que posteriormente las traduce ainstrucciones en VBA, las cuales podemos modificar posteriormente si tenemos conocimientos deprogramación.

Para grabar una macro debemos acceder al menúHerramientas y abrir el submenú Macro y dentro deeste submenu seleccionar la opción Grabar nuevamacro...

Además de esta opción en el menú podemosencontrar las siguientes opciones:

Macros... - Donde accedemos a un listado de lasmacros creadas en ese libro.

Seguridad... - Con esta opcion podemos cambiar el nivel de seguridad para evitar MacroVirus.

Editor de Visual Basic - Con esta opciónaccedemos al editor de Visual Basic.

Editor de secuencias de comando de Microsoft- Esta función solo estará activa si la hemos

instalado.

5/12/2018 Ejercicios Macros - slidepdf.com

http://slidepdf.com/reader/full/ejercicios-macros 2/13

 

 

Al

seleccionar la opción Grabar nueva macro..., loprimero que vemos es el cuadro de diálogo Grabar macro donde podemos dar un nombre a la macro (noestá permitido insertar espacios en blanco en elnombre de la macro).

Podemos asignarle un Método abreviado:mediante la combinación de las tecla CTRL + "unatecla del teclado". El problema está en encontrar unacombinación que no utilice ya Excel.

En Guardar macro en: podemos seleccionar guardar la macro en el libro activo, en el libro demacros personal o en otro libro.

En Descripción: podemos describir cuál es elcometido de la macro o cualquier otro dato quecreamos conveniente.

 

Para comenzar la grabación de la macropulsamos el botón Aceptar y a continuación aparece

la barra Macro donde tenemos la opción dedetener la grabación. Y si nos fijamos en la barra de

estado nos informa de que está

grabando.

A partir de entonces debemos realizar las accionesque queramos grabar, es conveniente no seleccionar ninguna celda a partir de la grabación, ya que siseleccionamos alguna celda posteriormente, cuandoejecutemos la macro, la selección nos puedeocasionar problemas de celdas fuera de rango.

Una vez concluidas las acciones que queremos

grabar, presionamos sobre el botón Detener de labarra Macro, si por alguna razón de configuración nonos ha aparecido esa barra, podemos detener lagrabación accediendo al menú Herramientas -

5/12/2018 Ejercicios Macros - slidepdf.com

http://slidepdf.com/reader/full/ejercicios-macros 3/13

 

Macro - Detener grabación.

Objetivo.

Aprender como crear una macro de forma automática utilizando el grabador demacros. Crearemos una macro que automatice el formato de la cabecera de nuestrahoja de trabajo.

Ejercicio paso apaso

 

1 Si no tienes abierto Excel2003, ábrelo para probar el ejercicio.

Al entrar estaremos situados en la celda A1.

2 Despliega el menú Herramientas.

3 Abre el submenú Macro.

4 Y elije la opción Grabar nueva macro... 

Aparece el cuadro de diálogo Grabar macro.

5 Escribe el nombre de la macro, EjemploMacro1. Y pulsa Aceptar .

Ahora estamos grabando, vamos a realizar las acciones necesarias para dar formatoa nuestra hoja de trabajo.

6 Presiona sobre el botón Negrita de la barra Formato.

7 Presiona sobre el botón Cursiva de la barra Formato.

8 Escoge el tipo de fuente Abbess.

9 Escoge el tamaño de la fuente en 14 puntos.

Ya hemos concluido con el formato de una cabecera de datos, por tanto concluimosla grabación de la macro.

10 Presiona sobre el botón detener de la barra Macro, o accede al menúHerramientas - Macro - Detener grabación.

 

Ahora vamos a comprobar que funciona correctamente la macro creada.

11 Escribe en la celda D1 Cabecera.

12 Escribe en la celda E1 de.

13 Escribe en la celda F1  prueba.

5/12/2018 Ejercicios Macros - slidepdf.com

http://slidepdf.com/reader/full/ejercicios-macros 4/13

 

14 Selecciona las celdas anteriores D1, E1 y F1 .

15 Despliega el menú Herramientas.

16 Abre el submenú Macro.

17 Elige Macros... 

18 Selecciona la macro creada EjemploMacro1 y pulsa sobre Ejecutar .

Observa como las celdas seleccionadas adoptan el formato automáticamente.

Aprender  cómo crear una macro de forma manual, es decir escribiendo el código amano.

Ejercicio paso apaso.

Empezaremos por crear una macro para poner a cero el contenido de ciertas celdasde nuestra hoja de trabajo.

1 Si no tienes abierto Excel2003, ábrelo para probar el ejercicio.

2 Abre el libro ejemplo_macros de la carpeta Ejercicios del curso.

3 Guarda el libro en la carpeta Mis Documentos con el nombre libro_macros para no

modificar el original.

4 Sin seleccionar ninguna celda accede al menú Herramientas.

5 Abre el submenú Macro.

6 Y presiona sobre la opción Editor de Visual Basic

Aparece la pantalla del editor.

7 Accede al menú Insertar para insertar un nuevo módulo.

8 Presiona sobre Módulo.

9 Vuelve al menú Insertar .

10 Selecciona Procedimiento... 

Nos aparece el cuadro de diálogo Procedimiento.

11 En el nombre del procedimiento escribe Limpiar 

12 Selecciona Procedimiento y que es de ámbito Público.

13 Presiona sobre Aceptar .

5/12/2018 Ejercicios Macros - slidepdf.com

http://slidepdf.com/reader/full/ejercicios-macros 5/13

 

14 Escribe el código del procedimiento como se ve en la imagen, lo escrito en verde soncomentarios aclaratorios, si quieres puedes no escribirlos.

15 Cierra la ventana del Editor de VisualBasic.

Ahora vamos a comprobar que funciona correctamente la macro creada.

16 Accede al menú Herramientas -- Macro.

17 Elige la opción Macros... 

18 Selecciona la macro creada Hoja1.Limpiar y pulsa sobre Ejecutar .

19 Observa como las celdas del rango D10:F10  se han puesto a cero y las del rangoD11:F11 se han quedado sin contenido. No cierres el libro.

Para practicar otras instrucciones de VBA, vamos a definir una macro para sumar tresceldas y dejar el resultado en otra.

20 Abre el submenú Macro.

21 Y presiona sobre la opción Editor de Visual Basic

Te aparecerá el módulo con el procedimiento limpiar. Si no es así, busca en la zona de laizquierda, en el explorador de proyectos, en la carpeta Módulos, el módulo Módulo1 y hazdoble clic sobre él.

22 Accede al menú Insertar para insertar un nuevo módulo.

23 Selecciona Procedimiento... 

Nos aparece el cuadro de diálogo Procedimiento.

24 En el nombre del procedimiento escribe Sumar 

25 Selecciona Procedimiento y que es de ámbito Público.

26 Presiona sobre Aceptar .

27 Escribe el código del procedimiento como se ve en la imagen, lo escrito en verde soncomentarios aclaratorios, si quieres puedes no escribirlos.

5/12/2018 Ejercicios Macros - slidepdf.com

http://slidepdf.com/reader/full/ejercicios-macros 6/13

 

28 Cierra la ventana del Editor de VisualBasic.

Ahora vamos a comprobar que funciona correctamente la macro creada.

29 Accede al menú Herramientas -- Macro.

30 Elige la opción Macros... 

31 Selecciona la macro creada Hoja1.Sumar y pulsa sobre Ejecutar .

Observa como la celda F10 contiene la suma de las celdas B3, B4 y B5 .

Por último practicaremos con el bucle For each... next, muy útil en este tipo deprogramación.

32 Abre el submenú Macro.

33 Y presiona sobre la opción Editor de Visual Basic

Te aparecerá el módulo con el procedimiento limpiar. Si no es así, busca en la zona de laizquierda, en el explorador de proyectos, en la carpeta Módulos, el módulo Módulo1 y hazdoble clic sobre él.

34 Accede al menú Insertar para insertar un nuevo módulo.

35 Selecciona Procedimiento... 

Nos aparece el cuadro de diálogo Procedimiento.

36 En el nombre del procedimiento escribe Aumentar 

37 Selecciona Procedimiento y que es de ámbito Público.

38 Presiona sobre Aceptar .

39 Escribe el código del procedimiento como se ve en la imagen, lo escrito en verde soncomentarios aclaratorios, si quieres puedes no escribirlos.

5/12/2018 Ejercicios Macros - slidepdf.com

http://slidepdf.com/reader/full/ejercicios-macros 7/13

 

Con este procedimiento aumentamos un 50% los valores contenidos en las celdasseleccionadas.

40 Cierra la ventana del Editor de VisualBasic.

Ahora vamos a comprobar que funciona correctamente la macro creada.

En este caso, como la macro funciona a partir de las celdas seleccionadas, tenemos queseleccionarlas antes de ejecutar la macro.

41 Selecciona un rango de celdas incluido en B3:B9 (selecciona los precios de losartículos que van a variar, puedes incluso seleccionar celdas no contiguas con la tecla Ctrl).

42 Accede al menú Herramientas -- Macro.

43 Elige la opción Macros... 

44 Selecciona la macro creada Hoja1.Aumentar y pulsa sobre Ejecutar .

Observa como los valores de las celdas seleccionadas han aumentado un 50%.

45 Cierra el libro guardando los cambios

Asignar una macro aun botón

Una utilidad muy interesante cuando se crea una macro es asignarle sufuncionalidad a un botón. Vamos a explicar los pasos a seguir para realizar esto.

Esta función se utiliza una vez que ya se ha creado la macro. Por ejemplo podemosasignar la macro que hemos realizado en el anterior paso a paso de limpiar celdas a unbotón para no tener que ir cada vez al menú Herramientas y demás pasos.

De modo que suponiendo que ya tenemos la macro creada vamos a asignarle unbotón.

 

5/12/2018 Ejercicios Macros - slidepdf.com

http://slidepdf.com/reader/full/ejercicios-macros 8/13

 

- Accedemos al menú Ver  

- Abrimos el submenú Barra de herramientas

- Seleccionamos Formulario

Nos aparece la barra de herramientas Formulario comovemos en la imagen .

- Presionamos sobre la opción del botón que es elque está situado en la segunda fila y la segunda columna.

El puntero del ratón se transforma en una cruz.

- Debemos hacer clic sobre la zona de la hoja dondequeramos insertar el botón.

 

Una vez insertadoel botón en la hojanos aparece el cuadrode diálogo Asignar macro como vemosen la imagen.

En esta pantalla podemos asociar una macro de entre la lista que disponemos alnuevo botón creado.

Los botones de la pantalla tienen la siguiente utilidad:

Aceptar - Cierra la ventana y guarda los cambios.

Cancelar - Cierra la ventana y cancela los cambios.

Nuevo - Sirve para asignar código, que escribiremos manualmente, sobre el botón.

Grabar... - Pone en funcionamiento la grabadora de macros.

5/12/2018 Ejercicios Macros - slidepdf.com

http://slidepdf.com/reader/full/ejercicios-macros 9/13

 

 

Siguiendo con los pasos:

- Seleccionamos la macro Hoja1.Limpia_celdas.

- Presionamos sobre Aceptar .

El texto del botón será Botón 1, para que sea más intuitivopodemos cambiarlo.

- Hacemos clic con el botón derecho del ratón sobre el botón.

Aparece el menú Pop-up del botón.

- Seleccionar la opción Modificar texto.

- Seleccionar el texto y escribir Limpiar .

- Hacer clic sobre una celda en blanco para salir del botón.

También podemos utilizar este menú Pop-up para cambiar la macro asignada albotón mediante la opción Asignar macro....

Ejercicio paso apaso.

Vamos a asignar a un botón la macro Limpiar que creamos en un ejerciciosanterior.

1 Si no tienes abierto Excel2003, ábrelo para probar el ejercicio.

2 Abre el libro que creamos en un ejercicio anterior  libro_macros de tu carpeta Misdocumentos.

Al entrar estaremos situados en la celda A1.

3 Elige del menú Ver -- Barras de herramientas -- Formularios.

Aparecerá la barra Formularios.

4 Haz clic sobre el Boton para insertar un nuevo botón

5 Haz clic sobre la celda H1 para colocar ahí el botón. Si quieres definir el tamañodel botón tienes que pulsar el botón del ratón sobre el punto donde quieres queempiece el botón, y sin soltar el botón, arrastrar el ratón hasta que el cuadrado queaparece sea del tamaño deseado. Al soltar el botón del raton, aparecerá el botóninsertado.

Aparece el cuadro de diálogo Asignar macro

6 Selecciona la macro Hoja1.Limpiar que hicimos en un ejercicio anterior.

7 Haz clic sobre Aceptar .

5/12/2018 Ejercicios Macros - slidepdf.com

http://slidepdf.com/reader/full/ejercicios-macros 10/13

 

8 Haz clic sobre el botón insertado para modificar el texto.

El texto del botón se pone en modo edición.

9 Escribe Limpiar 

10 Haz clic sobre una celda en blanco, por ejemplo la celda D5 para salir del botón.

Probamos que funciona correctamente el botón con la macro asociada.

11 Escribe valores en las celdas D10:F10  

12 Haz clic sobre el botón creado.

Observa como las celdas se han puesto a cero.

13 Si quieres, puedes practicar el cambiar el botón de sitio, de tamaño, de aspecto.Para ello tienes que pensar que el botón es un objeto insertado en la hoja de cálculo,por lo que moverlo, cambiar su tamaño, cambiar sus propiedades se hace igual quecon cualquier objeto de los que ya hemos estudiado.

Para seleccionar el botón sin problemas, pulsa la tecla Ctrl a la vez que haces clicen él.

14 Cierra el libro guardando los cambios.

Ejercicio 1: Crear macro

automática

1 Abrir un nuevo libro de trabajo

2 Crear una macro con la grabadora que abra el libro de precipitaciones.

3 Guardar la macro con el nombre abrir_precipitaciones.

4 Guardar  el libro con el nombre de ej_macros en la carpeta Mis Documentos.

Si no tienes muy claro las operaciones a realizar, Aquí te ayudamos.

Ejercicio 2: Crear macromanualmente

Seguimos con el mismo libro de trabajo.

1 Crear una macro manualmente para que limpie las celdas seleccionadas, la macrotendrá como nombre Borrar .

2 Guardar  el libro.

Si no tienes muy claro las operaciones a realizar, Aquí te ayudamos.

5/12/2018 Ejercicios Macros - slidepdf.com

http://slidepdf.com/reader/full/ejercicios-macros 11/13

 

 

Ejercicio 3: Ejecutar macros

Seguimos con el mismo libro de trabajo

1 Ejecutar la macro abrir_precipitaciones.

2 Ejecutar la macro Borrar .

Si no tienes muy claro las operaciones a realizar, Aquí te ayudamos.

Ejercicio 4: Asignar macros abotones

Seguimos con el mismo libro de trabajo

1 Crear un botón y asociarle la macro abrir_precipitaciones. El botón tendrá eltexto Abrir .

2 Crear un botón y asociarle la macro Borrar . El botón tendrá el texto Borrar .

3 Guardar  el libro y cerrarlo.

4 Añadir al libro libro_macros los botones para ejecutar las macros Sumar  y Aumentar .

5 Guardar  el libro antes de salir.

Ejercicio 1: Crear macroautomática

El apartado 1 nos pide crear una macro con la grabadora que abra el libro deprecicitaciones. Los pasos a seguir son:

1 Seleccionar el menú Herramientas, abrir el submenú Macro y elegir la opciónGrabar nueva macro... 

Aparece el diálogo de Grabar macro.

2 Escribir el nombre de la macro abrir_Precipitaciones y pulsar sobre Aceptar .

3 Abrir el libro de Precipitaciones como lo harías de forma normal, accediendo almenú Archivo - Abrir y seleccionando el archivo Precipitaciones.

4 Cuando esté abierto el libro de precipitaciones parar la grabación de la macropresionando sobre el botón de parar de la barra de macro, o accediendo al menúHerramientas - Macro - Detener grabación.

Para parar la grabación tienes que volver al libro de la macro, pues cierra el libro

5/12/2018 Ejercicios Macros - slidepdf.com

http://slidepdf.com/reader/full/ejercicios-macros 12/13

 

Precipitaciones, ya no nos hace falta.

 

Volver al ejercicio sin resolver. 

Ejercicio 2: Crear macromanualmente

El apartado 1 nos pide crear una macro manualmente que limpie las celdasseleccionadas.

Los pasos a seguir son:

1 Seleccionar el menú Herramientas, abrir el submenú Macro y elegir la opción Editor deVisual Basic.

Se abre la pantalla del editor de Visual Basic.

2 Accedemos al menú Insertar - Procedimiento...

3 Elegimos Procedimiento y ámbito Público.

4 Le damos el nombre Borrar .

5 Escribir el siguiente código dentro del procedimiento, los comentarios en verde sonopcionales.

6 Cerrar el editor de Visual Basic.

Volver al ejercicio sin resolver. 

Ejercicio 3: Ejecutar macros.

Para ejecutar una macro debemos:

1 Acceder al menú Herramientas.

2 Abrir el submenú Macro.

5/12/2018 Ejercicios Macros - slidepdf.com

http://slidepdf.com/reader/full/ejercicios-macros 13/13

 

3 Seleccionar Macros...

4 Seleccionar la macro a ejecutar y pulsar Ejecutar .

Volver al ejercicio sin resolver. 

Ejercicio 4: Asignar macros abotones

El apartado 1 nos pide crear un botón y asociarle la macro abrir_precipitaciones.

1 Acceder al menú Ver.

2 Abrir el submenú Barra de herramientas.

3 Seleccionar Formulario.

Aparece la barra Formulario.

4 Hacer clic sobre el comando del botón .

5 Hacer clic sobre la celda donde se quiera colocar el botón.

Aparece el cuadro de diálogo Asignar macro.

6 Seleccionar la macro abrir_precipitaciones.

7 Hacer clic en sobre Aceptar .

Para cambiar el texto del botón.

1 Hacer clic con el botón derecho del ratón sobre el botón.

Aparece el menú Pop-up del botón.

2 Selecciona la opción Modificar texto.

3 Selecciona el texto y escribe Abrir .

4 Haz clic sobre una celda en blanco para salir del botón.

Para los apartados 2 y 4 seguir el mismo procidimiento.