miércoles, 22 de abril de 2015

Como usar la gabadora de macros en Excel


Bienvenidos de nuevo.

En el post anterior les dije que el próximo tutorial iba a ser sobre la grabadora de macros.

Bien, primero voy a explicar porqué antes de saber siquiera como se escribe una macro vamos a ver como grabar una,

La grabadora de macros de Excel permite una cosa tan útil como sencilla: "grabar" una acción realizada de la manera en la que la haríamos normalmente y la transforma en un código de VBA (Visual Basic para Aplicaciones), o sea, una macro.

Por lo tanto, usar la grabadora de macros nos permitirá poder entender mejor cómo es que se escribe una macro.

Para eso, el ejemplo de hoy es más que sencillo: vamos a utilizar la grabadora para hacer una macro que pase de la Hoja 1 a la Hoja 2.

(Recuerden que para poder trabajar con macros deben tener habilitada la pestaña "Desarrollador" en la cinta de opciones")


Como primer paso, vamos a abrir un libro de Excel que cuente con dos o más hojas.

archivo base


Luego de este paso podremos abrir el editor de VBA (clickeando en el ícono "Visual Basic" de la pestaña "Desarrollador" o presionando Alt+F11). Podemos también hacerlo luego de grabar la macro, pero es mejor prevenir cualquier tipo de error, sobre todo si es la primera vez que grabamos una macro.

Una vez abierto el libro, nos dirigimos a la pestaña "desarrollador" en donde encontraremos la grabadora de macros (ver referencias en la imagen)


Una vez seleccionada la grabadora, se nos aparecera una ventana en la que deberemos indicar:

  • Nombre de la macro
  • Atajo de teclado (si es que lo deseamos)
  • Descripción (luego veremos qué es esto)

Luego de clickear en "Aceptar", deberemos realizar la acción de seleccionar la Hoja 2. Una vez hecho esto, vamos a "Detener grabación"


Ahora que detuvimos la grabación, debemos saber que lo que hicimos fue decirle a Excel que queremos pasar de la Hoja 1 a la Hoja 2 de una manera más rápida y automática. Excel interpreta nuestro pedido y nos devuelve un código para que podamos utilizar con ese fin.

El código que nos da Excel es el siguiente:


Aquí aparece la descripicón que nos pide la grabadora. Todo el texto en verde son los comentarios de la macro que acabamos de grabar.

Si bien comentar el codigo es opcional, es considerado una buena práctica que no debería ser pasada por alto, sobre todo si vamos a utilizar este código en otra ocasión o vamos a copartirlo.

Para comprobar si funciona o no, podemos darle click a la flechita "play" del editor VBA (o sea, "ejecutar") o dentro del libro usar el atajo de teclado, si es que se lo dimos.

Pasemos ahora a detallar un poco que es lo que dice todo ese código.

Sub cambiarEntreHojas ()

Sub es el indicador de Visual Basic para "subprocedimiento". Esto es: un procedimiento que se ejecuta bajo otro procedimiento (por eso sub) que realiza una acción o una serie de acciones determinadas y que, una vez finalizado, vuelve al procedimiento desde donde se ejecutó.

Suena confuso, pero veamos un ejemplo:
En una aplicación yo tengo un formulario 1 que tiene tres botones distintos A, B y C.
Cuando hago click en A, se abre un nuevo formulario. Para que eso suceda, el botón A ejecuta un subprocedimiento.
Es común en los formularios tener varios subprocedimientos, pero esto queda para más adelante.

Sheets("Hoja 2").Select

Esta parte del código es clara. "Sheets" indica que se va a trabajar con una hoja específica, en este caso Hoja 2. "Select" es la orden para seleccionarla.
Si la hoja tuviera un nombre específico, se debe cambiar "Hoja 2" por el nombre dado a la hoja.

End Sub

Esto indica que termina el subprocedimiento "cambiarEntreHojas". Los suprocedimientos ejecutan lo que está dentro de ellos hasta que llegan a una orden de cierre: End Sub, Exit Sub o Return.

Por ahora eso es todo.

Si en su uso diario de Excel utilizan fórmulas (p.e., sumas), prueben grabar su uso y leer el código que Excel les entrega. Es una muy buena manera de empezar a relacionarse con la escritura de macros.

En el próximo artículo vamos a utilizar la grabadora de macros para realizar una tarea que seguramente más de uno debe hacer repetidas veces durante el día: filtrar datos.

Y no se olviden de dejar dudas, comentarios, saludos o lo que quieran.

Hasta la próxima.

Nos leemos =)

No hay comentarios:

Publicar un comentario