¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Macros y lenguaje VBA
  3. La grabadora de macros
Extrait - Macros y lenguaje VBA Descubra la programación en Excel (nueva edición)
Extractos del libro
Macros y lenguaje VBA Descubra la programación en Excel (nueva edición) Volver a la página de compra del libro

La grabadora de macros

Objetivos

Tanto si ya está familiarizado con las macros de Excel como si acaba de empezar a aprenderlas, la grabadora de macros incorporada en Excel es una de las herramientas más eficaces que le permite, a partir de manipulaciones elementarías, generar código VBA automáticamente, replicando lo que hace con el teclado y el ratón en su libro de Excel.

Este capítulo pretende mostrarle cómo iniciar una grabación, cómo detenerla y analizarla, y, finalmente, con la experiencia, cómo arreglárselas sin ella.

En este punto de la lectura, no se requiere ningún conocimiento de VBA.

Este capítulo no contiene ejercicios, pero le invitamos a reproducir los casos 1, 2 y 3 tratados en la sección Practicar la grabación de macros.

La cinta de opciones de Excel y la pestaña Programador

Antes de acceder al entorno de programación, es importante configurar correctamente su aplicación Microsoft Excel. Para ello, deberá activar la pestaña Programador. He aquí cómo hacerlo.

Activar la pestaña Programador

En la cinta de opciones de Excel, encontrará varias pestañas visibles de forma predefinida, como Inicio, Insertar o Ayuda.

images/cap02_img_01.png

Para que aparezca la pestaña Programador, si aún no la ve, simplemente haga la siguiente operación:

 Haga clic derecho en la cinta de opciones, en un lugar donde no haya comandos, y luego haga clic en Personalizar la cinta de opciones… dentro de las opciones propuestas.

images/cap02_img_02.png

Aparece una interfaz con dos cuadros de lista.

images/cap02_img_03.png

 Marque la casilla Programador en el cuadro de lista de la derecha y haga clic en el botón Aceptar en la parte inferior derecha de la ventana.

En ese momento la pestaña Programador aparece entre las pestañas Vista y Ayuda:

images/cap02_img_04.png

Esta pestaña está dedicada a las tareas de programación (en el mundo informático se habla de programador o desarrollador).

En esta pestaña encontrará, principalmente, una valiosa herramienta para aprender a programar con el ejemplo, la grabadora de macros, de la que hablaremos con más detalle en la siguiente sección.

Usar la grabadora de macros

Como ha visto en la sección anterior, en la pestaña Programador hay un botón para grabar una macro. Si aún no ha desplegado esta pestaña, hágalo.

images/cap02_img_05.png

Para qué sirve la grabadora de macros

Como usuario de Excel, a veces tiene que realizar series de copiado y pegado, que son repetitivas y en ocasiones incluso tediosas porque son complejas y requieren mucho tiempo. Su beneficio en estos casos puede ser difícil de determinar, y parece muy molesto realizar las mismas acciones en sus archivos de Excel día tras día.

Dado que ha tomado la decisión correcta al abrir este libro, podrá utilizar esta gran herramienta que Excel pone a su disposición: la grabadora de macros.

Su función es recordar todas sus acciones en Excel y reescribirlas como instrucciones VBA, que pueden ejecutarse tantas veces como usted desee.

Aunque esta herramienta no sustituye a un buen programador, le permitirá inicialmente familiarizarse con el código y luego adaptar el resultado obtenido con el fin de escribir sus propios programas.

Incluso los desarrolladores de VBA más experimentados la utilizan, simplemente para obtener fragmentos de código que les faltan o porque estiman que ahorran tiempo utilizando el código que les proporciona la grabadora en lugar de escribirlo ellos mismos.

Determinar la serie de acciones que quiere reproducir...

Ejecutar una macro grabada

 Para ejecutar una macro grabada, haga clic en el botón Macros situado en el grupo Código de la pestaña Programador.

images/cap02_img_13.png

Se muestra la ventana Macro. Esta contiene una lista de macros grabadas.

images/cap02_img_14.png

Solo son visibles las macros del libro activo. La opción Este libro es la que aparece seleccionada en la lista desplegable Macros en.

 Seleccione la macro que acaba de crear y haga clic en Ejecutar.

La macro se ejecutará: volverá a obtener el texto «Buenos días» en la celda A1, en negrita y con fondo verde.

Mostrar el código de la macro

 Vuelva a mostrar la ventana Macro. Seleccione la macro «BuenosDiasEnFondoVerdeNegrita» y haga clic en el botón Modificar.

Se abre una ventana y verá las instrucciones del código.

images/cap02_img_15.png

En el próximo capítulo describiremos el entorno que está activo actualmente.

El código resultante será similar al siguiente:

Sub BuenosDiasEnFondoVerdeNegrita() 
' 
' BuenosDiasEnFondoVerdeNegrita Macro 
' Introducir el valor "Buenos días" en la celda seleccionada. 
' A continuación, colorear el fondo de esta celda en verde. 
' Finalmente, formatear el contenido de la celda en negrita. 
 
   Range("A1").Select 
   ActiveCell.FormulaR1C1 = "Buenos días" 
   Range("A1").Select 
   With Selection.Interior 
      .Pattern = xlSolid 
      .PatternColorIndex = xlAutomatic 
      .ThemeColor = xlThemeColorAccent6 
      .TintAndShade = 0 
      .PatternTintAndShade = 0 
   End With 
   Selection.Font.Bold = True 
End Sub 

Código generado por la grabadora de macros

Podrá comprender...

Primera noción en VBA: los comentarios

Recorriendo el ejemplo anterior, lo primero que podrá leer son las líneas que están escritas en verde: corresponden al texto que ha redactado para la descripción de la macro.

Cada una de las líneas que comienzan con el carácter apóstrofe (’) no será leída por el programa. A esto se le llama un comentario. Los comentarios solo son visibles para el programador. 

Los comentarios pueden colocarse en una línea completa o después de una instrucción, al final de la línea:

'Comentario en toda la línea 
Range(" A1 ").Select 'Selecciona la celda A1 

Comentarios en una línea o al final de la línea

Practicar la grabación de macros

Para practicar el uso de la grabadora de macros, he aquí algunos ejemplos de manipulaciones comunes que puede usted verse tentado a repetir. Los datos son libres; tanto si se trata de datos de empleados como de datos bursátiles o financieros, el objetivo es activar la grabación de macros, realizar una serie de manipulaciones y, a continuación, detener la grabación para ver el código correspondiente.

Caso 1

Dispone de una hoja con datos ya presentes; quiere añadir una columna a su hoja y poner una fórmula en ella para validar la información. Este paso repetitivo puede registrarse en una macro.

Caso 2

Quiere copiar una serie de renglones de datos de la hoja A y pegarlos en la hoja B, cambiando el color de fondo de las celdas. Una vez más, estas operaciones pueden guardarse.

Caso 3

Partiendo de una hoja en blanco, puede introducir información en las celdas, cambiar el nombre de la hoja en la que ha realizado las entradas, crear otra y confeccionar un gráfico a partir de los datos introducidos.

Liberarse de la grabadora de macros

Cuando comience a hacer sus primeras macros, la grabadora de macros le ayudará a comprender mejor el proceso que realiza Excel paso a paso. Después vendrá el momento de intentar codificar sus propios programas, a veces basándose en lo que la grabadora ha generado para usted.

Aprender de sus errores para progresar

No hay ningún secreto: para convertirse en un buen desarrollador, necesitará mucha práctica, y el lenguaje VBA en Excel no es una excepción. El camino hacia el dominio de la sintaxis, las estructuras de código y la escritura de código robusto implicará mucho ensayo y error; pero no se desanime, ya que el resto de este libro le mostrará cómo estar lo mejor equipado posible para el viaje.

Grabar el libro usando macros

Para conservar lo que se acaba de hacer, hay que guardar el libro de Excel. Como este libro contiene macros, ya no puede guardarse en formato xlsx, sino con la extensión xlsm.

 Haga clic en la pestaña Archivo y luego en Guardar como.

images/cap02_img_16.png

 Seleccione la carpeta y luego el tipo de archivo Libro de Excel habilitado para macros (*.xlsm).

images/cap02_img_17.png

 Haga clic en Guardar.

La siguiente sección le muestra las diferencias entre las distintas versiones de Excel según la extensión asignada al libro.

Formato del archivo con macros

Una cosa importante que hay que saber antes de proceder concierne al archivo que contendrá sus macros. El nombre de un libro de trabajo tiene la extensión xls o xlsx; esto es lo que permite saber que se trata de un archivo de Excel. Si el libro tiene macros, la extensión será diferente (xlsm). Estas extensiones han evolucionado con las diferentes versiones de Excel. Vamos a repasar rápidamente las extensiones que puede encontrar durante su proceso de aprendizaje.

Antes de Office 2007: una sola extensión, xls

Antes de la versión Office 2007, la extensión histórica de los archivos de Excel era .xls. Este formato de archivo, que ahora se llama Libro de Excel 97-2003 (incluso existe la posibilidad de utilizar Libro de Microsoft Excel 5.0/95, que está totalmente obsoleto, pero que sigue siendo visible en las opciones de guardado de Excel), se utiliza cada vez con menos frecuencia, pero todavía existe. Este tipo de archivo permitía almacenar 65 536 filas y 256 columnas en cada hoja. Con este tipo de archivo no se sabía si contenía macros o no. La versión 2007 ha añadido más extensiones disponibles para guardar sus archivos.

Después de Office 2007

Office 2007 ha visto la creación de varias extensiones, que dan más visibilidad al contenido del archivo. La cantidad de información que se puede almacenar...

Conclusión

Utilizando un libro de trabajo que usted mismo tendrá el cuidado de crear para realizar las manipulaciones y los ejercicios que se propondrán en este libro, podrá llevar un registro de sus intentos a lo largo de los capítulos que va a recorrer.

La grabadora de macros es solo el primer paso del proceso.