Webcindario: Hacer Backups
Ir al asistente SQL

Desplegar Funciones de celda

Compactar Código de macro

Desplegar Orígenes de datos

Desplegar Herramientas

Compactar Artículos


Compactar Servicios

Compactar Webmaster


Compactar Misceláneas


Uso de la grabadora de macros

Fecha: 31/Ago/08

Introducción

Para grabar una macro no hace falta conocer sobre lenguaje VBA y en este ejemplo veremos cuan cierto es esto. También se demostrará como -ya con conocimiento de codificación- se puede obtener una mayor eficiencia de código.

Este tutorial consiste en grabar una macro para calcular la SUMA de una lista de valores.

Previas a la grabación de una macro

1- En el menú 'Herramientas' baje hasta 'Macro' y haga click en 'Grabar nueva macro' (fig. 1).

Fig. 1

Fig. 1

2- Aparecerá un formulario en el cual podremos asignar un nombre a la macro, en que libro se guarda y una descripción de la misma (fig. 2); los valores predeterminados son:

- 'Macro[n]', donde [n] es el número de macro siguiente en el proyecto. Se puede cambiar este nombre por cualquier nombre válido.

- 'Este libro', es la opción en una lista de libros actualmente abiertos, seleccione el que corresponda.

- 'Macro grabada el dd/mmm/aaaa por xxx', automáticamente inserta la fecha del sistema y el nombre de usuario logeado en el sistema operativo, puede cambiar esta descripción por una a su gusto (después puede incorporar más descripciones).

- Pulse 'Aceptar' para iniciar la grabación, o 'Cancelar'.

Fig. 2

Fig. 2

3- Aparecerá, en la barra de estado, la indicación que está grabando (fig. 3).

- Puede (en algún lugar de la pantalla) aparecer la barra de herramientas 'Detener grabación' (fig. 4).

Fig. 3

Fig. 3

4- A partir de este momento, toda actividad es grabada.

Fig. 4

Fig. 4

Grabar la actividad

5- Realice las acciones de usuario que necesite grabar, siguiendo los pasos normales. En este ejemplo, insertaremos una función SUMA al final de una lista de valores. La actividad sería:

- Posicionarnos en la celda donde insertaremos la función (fig. 5).

Fig. 5

Fig. 5

- Hacer click en el botón 'Autosuma' en la barra de herramientas, lo que provocará que se inserte la función en la celda (fig. 6).

Fig. 6

Fig. 6

Finalizar la grabación

6- Si está a la vista la barra de herramientas 'Detener grabación' le damos al botón cuadrado (fig. 7).

Fig. 7

Fig. 7

7- Sino, en el menú 'Herramientas' baje hasta 'Macro' y haga click en 'Detener grabación' (fig. 8).

Fig. 8

Fig. 8

Ver y editar código para obtener código eficiente

8- Pulsando las teclas [Alt]-[F11] se abre el editor VBA.

9- En el marco izquierdo se encuentra el Explorador de proyectos, le damos al módulo que le indicamos a la grabadora de macros.

10- En el marco derecho aparecerá el módulo de código con la macro grabada (fig. 9).

11- La macro grabada es tan sencilla que -en realidad- no es práctico aplicarla, pero es útil para demostrar como se puede hacer código eficiente (fig. 9).

Sub Macro1() es la macro grabada automáticamente, en ella veremos la descripción ya conocida y su código:

- Range("C15").Select hace que se seleccione la celda C15

- ActiveCell.FormulaR1C1 = "=SUM(R[-12]C:R[-1]C)" inserta la función de SUMA

- Range("C16").Select indica que seleccione la calda C16 (al dar Enter al ingreso de la función, automáticamente cambió de celda)

Sub Macro2() es la macro modificada manualmente.

- La última línea se puede eliminar, ya que no cambiará en nada su funcionamiento.

Sub Macro3() es una macro con código eficiente.

- Range("C15").FormulaR1C1 = "=SUM(R[-12]C:R[-1]C)" logra que se inserte la función SUMA directamente en la celda sin haberla seleccionado previamente (todo en un solo paso).

Fig. 9

Fig. 9

Conclusión

Macro1(), Macro2() y Macro3() básicamente hacen lo mismo y cumplen con el objetivo fijado, pero la mayor o menor eficiencia está dada en la cantidad de instrucciones que ejecuta cada una de ellas.


Espero que esta guía le sea útil.


¡ HTML 4.01 Válido! ¡ CSS 2.1 Válido!
Ir arriba

Inicio: 02/Ago/08
Actualizado: 20/08/09