Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


excel Macros para principiantes, Apuntes de Derecho Informático

Macro: es un conjunto de instrucciones de código (programado) que permiten realizar una tarea determinada como así también expandir e incrementar las prestaciones de Excel. Las macros se escriben en lenguaje de programación VBA (Visual Basic for Applications). El Excel ya trae incorporado un editor de VBA por lo que las macros se programan dentro del mismo programa Excel.

Tipo: Apuntes

2024/2025

Subido el 14/07/2025

natalhy-sanchez-heredia
natalhy-sanchez-heredia 🇵🇪

1 documento

1 / 165

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
1º PARTE - Teoría y Programación de Macros
(Nivel principiante - intermedio)
Introducción
Bienvenido al Manual de Macros de Exceluciones. Estás por comenzar una de las experiencias más fascinantes
y atractivas de la Hoja de Cálculos Excel.
Con las macros podrás sorprender y sorprenderte porque incrementarás las prestaciones y el potencial de Excel
de forma ilimitada. El único límite que tendrás será tu imaginación.
Excel y Macros
La Hoja de Cálculos Excel es una de las herramientas más poderosas para el tratamiento de datos y su análisis.
Una de las mayores ventajas que posee es la flexibilidad que ofrece y la rapidez con la que podemos construir
plantillas y todo tipo de modelos, para diversos usos y aplicaciones.
Sin embargo, si realmente quieres "exprimir todo el jugo" a Excel, deberás conocer y utilizar una de sus mayores
y más potentes herramientas: las macros.
Si eres usuario principiante de la hoja Excel con este manual darás un salto cuántico y te convertirás
rápidamente en todo un experto. Y si eres un usuario avanzado de Excel y ya tienes conocimientos previos de
macros, este manual te servirá para refrescar algunos conceptos pero también te sorprenderás con nuevos
códigos y secciones especiales que hemos preparado para ti.
Una definición sencilla
Una buena forma de introducirnos al mundo de las macros es con una definición sencilla y directa.
Macro: es un conjunto de instrucciones de código (programado) que permiten realizar una tarea determinada
como así también expandir e incrementar las prestaciones de Excel. Las macros se escriben en lenguaje de
programación VBA (Visual Basic for Applications). El Excel ya trae incorporado un editor de VBA por lo que las
macros se programan dentro del mismo programa Excel.
Mucha gente le tiene un poco de miedo a la palabra "programación". Bueno, si ese es tu caso no debes
preocuparte. Hace unos años nosotros mismos no teníamos la más mínima idea de programación Excel. Pero la
buena noticia es que con un buen manual (confiamos en que este lo es!) podrás aprender y "tomar vuelo"
rápidamente en el mundo de las macros.
Verás que es fácil, divertido y que puedes expandir al infinito los límites de Excel
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Vista previa parcial del texto

¡Descarga excel Macros para principiantes y más Apuntes en PDF de Derecho Informático solo en Docsity!

1º PARTE - Teoría y Programación de Macros

(Nivel principiante - intermedio)

Introducción

Bienvenido al Manual de Macros de Exceluciones. Estás por comenzar una de las experiencias más fascinantes y atractivas de la Hoja de Cálculos Excel.

Con las macros podrás sorprender y sorprenderte porque incrementarás las prestaciones y el potencial de Excel de forma ilimitada. El único límite que tendrás será tu imaginación.

Excel y Macros

La Hoja de Cálculos Excel es una de las herramientas más poderosas para el tratamiento de datos y su análisis. Una de las mayores ventajas que posee es la flexibilidad que ofrece y la rapidez con la que podemos construir plantillas y todo tipo de modelos, para diversos usos y aplicaciones.

Sin embargo, si realmente quieres "exprimir todo el jugo" a Excel, deberás conocer y utilizar una de sus mayores y más potentes herramientas: las macros.

Si eres usuario principiante de la hoja Excel con este manual darás un salto cuántico y te convertirás rápidamente en todo un experto. Y si eres un usuario avanzado de Excel y ya tienes conocimientos previos de macros, este manual te servirá para refrescar algunos conceptos pero también te sorprenderás con nuevos códigos y secciones especiales que hemos preparado para ti.

Una definición sencilla

Una buena forma de introducirnos al mundo de las macros es con una definición sencilla y directa.

Macro: es un conjunto de instrucciones de código (programado) que permiten realizar una tarea determinada como así también expandir e incrementar las prestaciones de Excel. Las macros se escriben en lenguaje de programación VBA (Visual Basic for Applications). El Excel ya trae incorporado un editor de VBA por lo que las macros se programan dentro del mismo programa Excel.

Mucha gente le tiene un poco de miedo a la palabra "programación". Bueno, si ese es tu caso no debes preocuparte. Hace unos años nosotros mismos no teníamos la más mínima idea de programación Excel. Pero la buena noticia es que con un buen manual (confiamos en que este lo es!) podrás aprender y "tomar vuelo" rápidamente en el mundo de las macros.

Verás que es fácil, divertido y que puedes expandir al infinito los límites de Excel

Utilidad de una macro

Anteriormente definimos a las macros como algo que nos permite expandir e incrementar las prestaciones de la hoja Excel. ¿Cuáles serían algunos ejemplos de esto? Bueno, los ejemplos los iremos viendo en este manual, pero a grandes rasgos podemos comentar que las 4 grandes "áreas" donde se aplican las macros son:

  1. Automatización de tareas y procesos que involucran muchos pasos
  2. Creación de nuevas funciones a medida (aparte de las que ya posee Excel).
  3. Creación de nuevos comandos, complementos y menús.
  4. Creación de completas aplicaciones a medida.

Como queda en claro, con las macros podemos automatizar y crear. Veamos un poco más en detalle estas 4 áreas donde aplicaremos las macros.

Automatización de procesos: supongamos que todos los días debemos trabajar en nuestro libro Excel en el cual debemos seleccionar un rango, centrarlo, cambiarle la fuente, poner la fuente en cursiva, aplicarle negrita y finalmente aplicarle bordes a toda la selección. Estas 6 acciones las hacemos manualmente y no parecen muchas, ¿pero que tal si hay que hacer esto en repetidas ocasiones y todos los días? Una macro nos permite ejecutar los 6 pasos automáticamente, tan solo presionando un botón o una tecla. Las tareas ideales para automatizar son aquellas que se hacen de forma repetida e involucran muchos pasos, por ejemplo: imprimir informes, configurar la vista de la hoja, actualizar datos de tablas dinámicas, etc...

Creación de funciones a medida: las funciones y fórmulas Excel son quizás la esencia de la hoja de cálculos (si no se pudieran utilizar funciones y fórmulas no habría cálculos!). Excel trae incorporada unas 330 funciones estándar las cuales se pueden utilizar en forma aislada o en forma combinada (anidadas). Sin embargo suele suceder que justo la función que necesitamos no existe. Nuevamente, las macros vienen a nuestra salvación. Podemos programar funciones a medida que hagan exactamente lo que nosotros queremos. Y esas funciones se comportarán igual que las de Excel (aparecerán en el menú de funciones en la categoría que nosotros indiquemos, tendrán sus respectivos argumentos, etc.)

Creación de nuevos comandos, complementos y menús: Excel trae una gran cantidad de comandos y menús predefinidos que nos asisten para las operaciones más habituales. Las macros nos permiten crear nuestros propios comandos y menús personalizados, e incorporarlos al Excel. La utilidad de los mismos depende tan solo de nuestras necesidades. Los complementos Excel también están creados con macros. Si ves en el menú Herramientas > Complementos verás una lista de los que tienes instalado en tu Excel. Los mismos suelen ser distribuidos de forma gratuita o también se compran. Su utilidad reside en agregar alguna funcionalidad extra al Excel.

Creación de aplicaciones a medida: Excel es utilizado en diversos campos y por una gran cantidad de usuarios. Las macros te permitirán construir complejas y elegantes aplicaciones para cualquier uso que quieras darles. El límite solo es tu imaginación. Una aplicación Excel consiste en algo más que una simple plantilla con datos y fórmulas. Una aplicación Excel es un verdadero programa de software con una serie de características que lo hacen utilizable por cualquier usuario sin que el mismo tenga que entender la lógica "Exceliana" que hay por detrás.

Objetos, Propiedades y Métodos (OPM)

Cuando hablamos de macros hablamos de Objetos, Propiedades y Métodos (OPM). Estos son los 3 conceptos generales más importantes que debes conocer a la hora de programar las macros. De momentos solo te daremos una sencilla definición y luego iremos profundizando más en ellos.

Hay un ejemplo muy práctico para comprender lo que son los Objetos, Propiedades y Métodos (OPM). Supongamos que tenemos una canasta con frutas. ¿Cuales serían los OPM de la misma?

Objetos: los objetos de la canasta de frutas serían las mismas frutas (manzanas, naranjas, peras…). Propiedades: las propiedades serían las características de las frutas (color, olor, sabor, textura…).

En la medida que avances con la lectura de este manual te irás familiarizando con la denominación de los distintos objetos, propiedades y métodos. El lenguaje VBA tiene miles de OPM, y existe una forma muy práctica de conocerlos todos que es con la grabadora de macros, tema que trataremos más adelante.

Aprender macros es mucho más fácil de lo que tu te imaginas. Es cierto que hay macros muy complicadas que requieren un conocimiento muy avanzado. Pero es un lenguaje fácil y muy intuitivo. Además Excel posee una grabadora de macros que las escribe de forma automática. Luego nosotros podemos retocarlas a gusto. Te aseguramos que en cuanto termines este manual estarás escribiendo tus propias macros y te sorprenderás lo fácil que es seguir aprendiendo y profundizando tus conocimientos. Nosotros te daremos las herramientas para que lo consigas!

Como comenzar

Antes de comenzar a programar macros es necesario que conozcas la barra de herramientas VBA y las distintas formas de acceder al editor de macros, que es la herramienta donde escribirás el código de las mismas.

En las secciones siguientes te enseñaremos ambos conceptos.

Barra de Herramientas VBA

El primer paso para empezar a programar macros es familiarizarnos con las herramientas que nos ofrece Excel para programarlas.

Excel posee una Barra de Herramientas de Macros o VBA. Puedes acceder a la misma desde el menú Herramientas > Macros. Dicho menú se ve como en la fotografía a continuación (fíjate que también se indican las combinaciones de teclas para acceder a dichas opciones).

También tienes la opción de dejar siempre visible dicha barra de herramientas. Puedes hacer esto desde el menú Ver > Barras de Herramientas > Visual Basic. Verás como aparece una nueva barra de herramientas de macros. Puedes ubicar esta barra de herramientas donde te sea más cómodo.

Editor VBA

El Editor de Visual Basic es la aplicación que trae Excel desde donde se escriben y guardan las macros. Tienes 3 formas de acceder al editor:

A. Desde el menú Herramientas > Macros > Editor de Visual Basic B. Desde el botón Editor de Visual Basic de la Barra de Herramientas Visual Basic. C. Desde el teclado (Teclas de Método Abreviado): ALT+F (el acceso a la Barra de Herramientas de la opción 1 y 2 los explicamos en la sección anterior) Consejo: cualquiera de las 3 formas te abrirá el editor de visual basic (nuestra forma preferida es la número 3, dado que es más rápido presionar ALT + F11 que abrir los menús desde el ratón). Una vez que hayas accedido al editor de visual basic verás algo similar a la figura siguiente (no importa si no lo ves estrictamente similar, eso dependerá de las ventanas que tengas visibles y ocultas).

El editor contiene 3 ventanas principales: la Ventana Proyecto (parte izquierda superior), la Ventana de Código (parte derecha) y la Ventana Propiedades (parte izquierda inferior).

La Ventana Proyecto - VBA Project: esta ventana muestra los libros Excel (xls) o los complementos (xla) abiertos. Usualmente verás nombres del tipo "VBAProject" y entre paréntesis el nombre del archivo o complemento Excel. Veamos el caso de VBAProject (Libro1). Simplemente significa que tienes abierto un libro Excel llamado Libro 1. Luego cuelgan 3 carpetas más: Hoja1 (Hoja1), ThisWorkbook y Modulo (no importa si ves todos estos elementos ahora, luego te enseñaremos como activarlos). Estas carpetas es donde habitan las macros. Haciendo doble clic en ellas activarás la ventana donde se escriben las macros.

Ventana de Código: esta es el lugar donde escribiremos el código propiamente dicho de las macros. Como no hemos escrito ninguna macro todavía veremos la hoja en blanco. Recuerda bien estas dos ventanas, ya que las usaremos a continuación para escribir nuestra primera macro.

B. Utilizar la grabadora de macros

C. Combinación de los 2 métodos anteriores

(Grabarla y luego retocarla manualmente)

En cada situación utilizarás un método distinto. Por ejemplo, las macros muy sencillas las puedes escribir manualmente porque tienen pocas líneas y ya las conoces. En otros casos la podrás crear con la grabadora de macros y olvidarte del código VBA. Sin embargo, en la medida que progreses con las macros verás que el método más utilizado suele ser el número 3 mediante el cual primero grabarás y luego harás ajustes manuales en el código para hacerlo más eficiente y que se ejecute más rápido.

En este capítulo vamos a ver como se escribe una macro manualmente (método 1)

Mi primera Macro

Vamos a escribir manualmente nuestra primera macro ahora!. Es una macro muy sencilla, pero te servirá para orientarte en el Editor de Visual Basic y reconocer los pasos requeridos para hacer una macro.

Objetivo de nuestra macro

Escribir el valor 1.500 en la celda A1 de la hoja Excel.

¿que significa esto? Que comenzaremos con una hoja Excel vacía y luego de ejecutar la macro verás que aparece el valor 1.500 en la celda A1. El valor lo pondrá automáticamente la macro cuando nosotros se lo indiquemos.

Suena demasiado simple, cierto? Sin embargo es suficiente como para comenzar y que aprendas generalidades que luego aplicarás en todas tus macros. Como es una macro sencilla vamos a escribirla manualmente para que comiences a empaparte del editor de macros y sus partes.

Escribir la macro

Bueno, es importante que recuerdes el objetivo: esta macro escribirá automáticamente el valor 1.500 en la celda A1 de tu hoja Excel. Los pasos que debes seguir son los siguientes:

  1. Prepara el Editor de Visual Basic

1.1 Crea un nuevo libro Excel y guárdalo con el nombre Libro 1.

1.2 Abre el editor de Visual Basic con las teclas ALT+F11.

1.3 Doble clic en VBAProject (Libro1) para ver las carpetas.

1.4 Doble clic en Hoja1 (Hoja1) para empezar a escribir el código de la macro.

  1. Escribiros la macro

2.1 En la ventana de macros escribe textualmente el siguiente código:

' Esta macro escribe el valor 1500 en la celda A

Sub MiPrimeraMacro()

Range("A1").Value=

End Sub

2.2 Si la macro está bien copiada verás que la primera línea queda en color verde y la segunda y cuarta en azul. Estos colores los asigna automáticamente el editor y te lo explicaremos más adelante.

De momento no te preocupes por el código escrito. Más adelante te enseñaremos a interpretarlo. Ahora que ya tienes la macro escrita pasemos a la siguiente sección para ver como ejecutarla.

Ejecutar la macro

Si ya tienes escrita la macro en el editor, ahora podrás que ejecutarla, o sea hacer que funcione. Tienes 2 formas de hacer esto:

A. Ejecutar la macro desde el mismo Editor: si te posicionas en cualquiera de las líneas de código de la macro y luego presionas la tecla F5 la macro se ejecutará (para ver el resultado puedes volver a la hoja Excel con ALT+F11).

B. Ejecutar la macro desde Excel: otra forma de ejecutar la macro es desde el mismo Excel. Puedes volver a la hoja Excel con ALT+F11 e ir al menú Herramientas > Macros > Macro. Se abrirá un cuadro que contiene una lista con los nombres de las macros creadas. Selecciona MiPrimeraMacro y haz clic en Ejecutar.

Si has seguido cualquiera de los 2 pasos anteriores ya podrás ver el resultado de la macro. ¿Qué hizo la Macro? Si te fijas en el Libro 1, Hoja 1, Celda A1 verás que se escribió el valor 1.500. Eso es exactamente lo que queríamos hacer con nuestra macro, así que tarea cumplida. Hemos escrito un valor en una celda Excel desde una macro!

§ Toda macro siempre comienza con la palabra Sub, luego un espacio, luego un nombre (sin espacios intermedios) y finalmente los paréntesis (). Más adelante veremos algunas excepciones a esto.

§ Este nombre luego lo utilizaremos para ejecutar la macro.

§ Luego de escribir esta línea y darle a enter el Editor detectará que es el nombre de la macro y pondrá la palabra Sub en color azul de forma automática.

Recuerda: el nombre de la macro siempre comienza con la palabra Sub, luego un espacio, luego el nombre que quieras ponerle a tu macro (SIN espacios intermedios) y finalmente los paréntesis.

3º línea de código: la instrucción de la macro

' Esta macro escribe el 1500 en la celda C

Sub MiPrimeraMacro()

Range("A1").Value = 1500

End Sub

§ Esta es la instrucción principal de nuestra macro (el corazón de la macro). Con este código logramos nuestro objetivo (que la macro escriba el valor 1500 en la celda C10).

§ ¿Recuerdas el comienzo del manual donde hablábamos de Objetos (partes de Excel), Propiedades (características) y Métodos (acciones)?. Aquí tenemos un ejemplo al respecto. Programar macros siempre consiste en lo mismo: primero hacer referencia al objeto y luego asignarle una propiedad o método. En nuestro ejemplo:

Range("A1").Value = 1500

Range("A1"). es el objeto

Value es la propiedad

= 1500 es el valor que le damos a la propiedad

§ Esta línea de código se interpreta así: a la celda C10 de Excel asignarle el valor 1500.

Recuerda: siempre debes hacer referencia a un objeto para luego asignarle propiedades o métodos.

4º línea de código: el fin de la macro

' Esta macro escribe el 1500 en la celda C

Sub MiPrimeraMacro()

Range("A1").Value = 1500

End Sub

§ Una macro siempre termina con la instrucción End Sub.

§ Luego de escribir esto y darle a Enter, el Editor detectará que es el fin de la macro y lo pondrá en color azul de forma automática.

Recuerda: siempre debes finalizar tu macro con la instrucción End Sub.

Resumen

Nuestro objetivo fue crear una macro que escribiera el valor 1500 en la celda A1 de la Hoja1 de Excel. Como era una macro sencilla decidimos escribir el código manualmente. Vamos a resumir todos los pasos que hicimos hasta aquí:

  1. Creamos un nuevo libro Excel y lo guardamos con el nombre Libro1.
  2. Accedimos el Editor de Visual Basic con las teclas ALT+F
  3. En la Ventana Proyecto, en VBAProject (Libro1), hicimos doble clic en Hoja1 (Hoja1).
  4. En la Ventana de Código escribimos textualmente el siguiente código:

' Esta macro escribe el 1500 en la celda A

Sub MiPrimeraMacro()

Range("A1").Value = 1500

End Sub

Finalmente, todo quedó como se aprecia en la foto...

  1. Finalmente ejecutamos la macro desde el menú de Excel Herramientas > Macros > Macro y seleccionando MiPrimeraMacro desde la lista de nombres y dando clic a Aceptar.
  • Por ej. una celda de Excel, una hoja, un gráfico.

Propiedad

  • Es una característica del objeto
  • Por ej. el valor de la celda, el nombre de una hoja, el color de un gráfico.

Método > es una acción sobre el objeto > por ej. copiar la celda, borrar la hoja, agrandar el gráfico.

Como te comentábamos al comienzo, la línea de código más importante de nuestra macros es:

Range("A1").Value = 1500

Ahora ya estamos en condiciones de identificar mejor los objetos, propiedades y métodos de la misma.

Range("A1") es el objeto, recuerda que siempre que hacemos macros primero debemos indicar el objeto Excel sobre el que vamos a operar. En este caso usamos el objeto Range (Rango). El objeto Range es el que se utiliza para hacer referencia a una celda o rango Excel. Luego se escribe la referencia de la celda Excel (letra de columna y número de fila) entre comillas y paréntesis. Ya le hemos indicado a la macro que deberá ocuparse de la celda A1 (objeto). Ahora debemos indicarle que hacer con ella (propiedad o método).

Value = 1500 es la propiedad, que le asignaremos al objeto. Siempre empezamos por el objeto para luego asignarle una propiedad o método. En este caso usamos la propiedad Value (Valor) que nos permite asignar un valor al objeto range, anteponiendo un signo igual y luego el valor que deseamos.

Esta macro es muy sencilla y no posee ningún método.

Hasta aquí es suficiente. Hemos visto el ejemplo de un objeto y una de sus propiedades. En la medida que vayas avanzando con la lectura de este manual irás aprendiendo nuevos objetos, propiedades y métodos.

Grabar una Macro

A la hora de crear una nueva macro existen 3 métodos.

A. Escribirla manualmente

B. Utilizar la grabadora de macros

C. Combinación de los 2 métodos anteriores

(grabarla y luego retocarla manualmente)

En cada situación utilizarás un método distinto. Por ejemplo, las macros muy sencillas las puedes escribir manualmente porque tienen pocas líneas y ya las conoces. En otros casos la podrás crear con la grabadora de macros y olvidarte del código VBA. Sin embargo, en la medida que progreses con las macros verás que el método más utilizado suele ser el número 3 mediante el cual primero grabarás y luego harás ajustes manuales en el código para hacerlo más eficiente y que se ejecute más rápido.

En el capítulo anterior vimos como se escribía una macro de forma manual. Ahora veremos como utilizar la grabadora de macros. Como te mencionábamos antes, la ventaja de la grabadora es que prácticamente no requiere conocimientos de programación y código VBA. Simplemente encendemos la grabadora, ejecutamos las acciones y listo. La grabadora genera el código automáticamente!

Mi primera Macro

Vamos a grabar nuestra primera macro ahora!. Es la misma macro que hicimos en el capítulo anterior, pero esta vez la haremos con la grabadora de macros.

Objetivo de nuestra macro

Escribir el valor 1.500 en la celda A1 de tu hoja Excel.

¿que significa esto? Que comenzaremos con una hoja Excel vacía y luego de ejecutar la macro verás que aparece el valor 1.500 en la celda A1. El valor lo pondrá automáticamente la macro cuando nosotros se lo indiquemos.

Suena demasiado simple, cierto? Sin embargo es suficiente como para comprender la metodología de funcionamiento de la grabadora de macros.

Grabando la macro

Excel trae incorporada una grabadora de macros. La misma funciona de forma muy fácil. Encendemos la grabadora, ejecutamos las acciones que nos interesan sobre la hoja Excel, paramos la grabadora y…listo!. Excel escribe de forma automática el código VBA de la macro.

Ahora podemos hacer un experimento muy interesante. Repetir nuestra primera macro, pero esta vez haciéndola con la grabadora de macros. Sigue los pasos a continuación:

  1. Vamos a grabar la macro

1.1 Ve al menú Herramientas > Macros

1.2 Selecciona la opción Grabar nueva macro…

1.3 Se abrirá un cuadro de diálogo como el que se muestra a continuación.

1.4 Borra donde dice Macro1 y escribe MiPrimeraMacro. Ese será el nombre que le daremos a nuestra macro.

1.5 Presiona Aceptar y la macro comenzará a grabar todo lo que hagas.

1.6 Posiciónate en la celda A1 y escribe el valor 1500.

  1. Cuando comienza a grabar la macro activa una nueva barra de macros como la que se muestra en la foto. El botón cuadrado de la izquierda te permitirá parar la grabación y finalizar la macro.
  1. Borramos la celda A1 (quedó con el valor 1500 cuando grabamos la macro).
  2. Ejecutamos la macro desde el menú Herramientas > Macro > Macros. Seleccionamos de la lista MiPrimeraMacro y luego Aceptar.
  3. El resultado es que en la celda A1 se vuelve a escribir el valor 1500, que fue justamente lo que grabamos con la macro.

Recuerda: al utilizar la grabadora no accedemos en ningún momento al editor de macros ni tenemos que escribir código. Todo lo hace automáticamente la grabadora.

Escrita vs. Grabada

Llegados a este punto, interesa ver las diferencias entre la macro escrita manualmente y la grabada automáticamente.

¿Qué fue lo que hicimos hasta aquí? Hicimos una macro que escribió el valor 1500 en la celda A1 de la Hoja1 de Excel. Pero recuerda que hicimos esta macro 2 veces:

A. la primera vez la escribimos manualmente

B. la segunda vez la grabamos directamente con la grabadora de macros.

Denominemos Macro Escrita a la primera y Macro Grabada a la segunda para diferenciarlas. Aunque al ejecutarlas el resultado final fue el mismo, hay algunas diferencias que debemos estudiar.

A continuación veamos una tabla comparativa de ambos métodos utilizados para crear la macro que nos permitirá revisar el proceso y obtener unas valiosas conclusiones. Las diferencias son analizadas a continuación:

Macro Escrita Macro Grabada

  1. Como la hicimos 1. Como la hicimos

1.1 Creamos un Libro Excel llamado Libro1. 1.1 Utilizamos el mismo Libro1.xls

1.2 Abrimos el editor de macros con ALT+F11.

1.2 Encendimos la grabadora de macros desde el menú Herramientas > Macro > Grabar nueva macro 1.3 En VBAProject (Libro1) hicimos doble clic en Hoja1 (Hoja1)

1.3 Nos posicionamos en la celda A1 de la Hoja1 y escribimos el valor 1500.

1.4 Escribimos el código de la macro.

1.4 Detuvimos la grabación de la macro desde el menú Herramientas > Macro > Detener grabación.

  1. El código de la macro 2. El código de la macro

2.1 Con ALT+F11 accedemos al editor de macros.

2.1 Con ALT+F11 accedemos al editor de macros. 2.2 El código que escribimos manualmente fue el siguiente:

2.2 El código que se grabó automáticamente fue el siguiente:

Esta macro escribe el valor 1500 en la celda A1 Sub MiPrimeraMacro()

Sub MiPrimeraMacro() Range("A1").Value=1500 MiPrimeraMacro Macro End Sub Esta macro escribe el valor 1500 en la celda A

Range("A1").Select ActiveCell.FormulaR1C1 = "1500" Range("A2").Select End Sub

Recuerda que este código quedó en Recuerda que este código quedó en VBAProject (Libro1) > Hoja1 (Hoja1) VBAProject (Libro1) > Módulo

  1. Ejecución de la macro 3. Ejecución de la macro

Posicionados sobre cualquier línea del código anterior presionamos F5. Luego con ALT+F volvimos a la hoja de Excel y comprobamos que en la celda A1 de la Hoja1 se escribió el valor 1500.

Para no confundirnos primero borramos el valor 1500 de la celda A1, Hoja1 (lo habíamos escrito para grabar la macro). Luego ejecutamos la macro desde el menú Herramientas > Macro > Macros. Seleccionamos de la lista MiPrimeraMacro y luego Aceptar. De esta forma se volvió a escribir el valor 1500 en la celda A1 de la Hoja1.

En la sección siguiente analizamos el porqué de estas diferencias.

Diferencias

En nuestro ejemplo, tanto la Macro Escrita como la Macro Grabada logran la misma función de escribir el valor 1500 en la celda A1 de la Hoja1. Sin embargo, si te has fijado bien en los 3 puntos de la tabla de la sección anterior verás que hay algunas diferencias. El análisis de las mismas nos permitirá ver las ventajas y desventajas de escribir una macro de forma manual o de grabarla con la grabadora de macros.

Volvamos a poner las tablas comparativas, pero esta vez comentando las diferencias:

Macro Escrita Macro Grabada

  1. Como la hicimos 1. Como la hicimos

Desventaja: escribir una macro manualmente implica conocer los objetos y propiedades de Excel. En este caso teníamos que saber previamente que existía un objeto Range y una propiedad Value, y también debíamos saber como era la sintaxis de los mismos > Range("A1").Value=1500. Para un principiante esto puede ser difícil de saber

Ventaja: no es necesario conocer código de programación. La grabadora lo escribe automáticamente.

  1. El código de la macro 2. El código de la macro

Ventaja: cuando sabemos escribir macros, podemos hacer el código más eficiente y escribir solo las líneas que necesitamos. Recordemos el código que escribimos manualmente:

Desventaja: generalmente, cuando utilizamos la grabadora, el código que se escribe automáticamente suele ser redundante y excesivo. Recordemos el código que grabó la macro:

Como conocíamos el objeto y la propiedad fuimos directamente al grano. Al objeto Rango A1 le aplicamos la propiedad Valor 1500. Solo una línea de código. Rápido y certero.

Macro grabada

Sub MiPrimeraMacro()

Range("A1").Select

ActiveCell.FormulaR1C1 = "1500"

Range("A2").Select

End Sub

La macro grabada grabó todas nuestras acciones en 3 líneas de código. Cuando seleccionamos el rango A1 se generó la 1º línea de código, cuando escribimos el valor 1500 se generó la 2º línea de código y cuando dimos al "enter" luego de escribir el valor 1500 se generó la 3º línea de código.

En la macro grabada verás un nuevo objeto, ActiveCell (celda activa) y una nueva propiedad del mismo, FormulaR1C1 (fórmula de la celda).

Nuestra recomendación respecto a las macros escritas y grabadas ya te la dimos al comienzo del capítulo.

Lo mejor es escribir las macros manualmente y utilizar la grabadora en aquellos casos donde no tenemos ni idea sobre cuál es el código que necesitamos o como es el nombre del objeto, propiedad o método.

Lo usual es que si estás comenzando solo utilizarás la grabadora, y en la medida que vas conociendo el lenguaje VBA, con sus distintos objetos, propiedades y métodos ya te irás animando a escribir tus propias macros. Sin embargo, como los OPM son tantos, siempre se requiere de la grabadora para descubrirlos.

A esta altura tu puedes pensar que todavía no tienes idea de ningún código. Sin embargo hemos preparado este manual para hacerte la vida lo más fácil posible. La buena noticia es que este manual tiene una 2º parte con una gran cantidad de macros ya escritas.

Así que nuestra recomendación final es que primero leas la 1º parte de este manual (la teoría), por lo menos un par de veces, hasta que te encuentres cómodo con los conceptos. Luego ya podrás leer la 2º parte del manual, que tiene innumerable cantidad de macros ya escritas, comentadas y listas para que puedas copiar, pegar y utilizar en tus desarrollos Excel.

Como instancia final, esperamos que con lo que has aprendido aquí junto con la ayuda de la grabadora de macros, ya puedas crear tus propios códigos, aparte de los que nosotros te facilitamos en la 2º parte del manual.

Ejemplos de Macros

¿Recuerdas el código que habíamos escrito para nuestra primera macro? El objetivo que perseguíamos era escribir el valor 1500 en la celda A1 de la hoja1. Repasemos rápidamente todo lo que habíamos hecho para escribir la macro:

  1. Creamos un nuevo libro Excel y lo guardamos con el nombre Libro1.
  2. Accedimos el Editor de Visual Basic con las teclas ALT+F11.
  3. En la Ventana Proyecto, en VBAProject (Libro1), hicimos doble clic en Hoja1 (Hoja1).
  4. En la Ventana de Código escribimos textualmente el siguiente código:

' Esta macro escribe el 1500 en la celda A

Sub MiPrimeraMacro()

Range("A1").Value = 1500

End Sub

  1. Finalmente ejecutamos la macro desde el menú de Excel Herramientas > Macros > Macro y luego seleccionando MiPrimeraMacro desde la lista de nombres y dando clic a Aceptar.

Recordemos nuevamente las reglas de escritura de la mayoría de las macros:

  1. La 1º línea de la macro es un comentario que no tiene efecto sobre la misma y que usamos para nuestra referencia. Siempre comienza con el signo '. En nuestra macro:

' Esta macro escribe el 1500 en la celda A

  1. La 2º línea de la macro es el nombre, que comienza con la palabra Sub, seguida del nombre que queramos ponerle sin espacios intermedios y finalizando con 2 paréntesis de apertura y cierre (). En nuestra macro:

Sub MiPrimeraMacro()

  1. La 3º línea era la instrucción principal que es donde nos referimos a los objetos, propiedades y métodos. Todo esto va escrito entre Sub y End Sub y podríamos tener muchas líneas de código si la macro fuera más compleja. Siempre se hace referencia al objeto y luego se le asignan propiedades o métodos.

En nuestro caso el objeto es el rango A1 > Range("A1") y la propiedad que le asignamos fue el valor 1500 > Value=

La línea de la macro quedó así:

Range("A1").Value = 1500

  1. La 4º línea representaba el final de la macro. Todas las macros se finalizan con la instrucción End Sub.

También vimos que la macro se puede grabar automáticamente, con la grabadora de macros, pero que preferimos escribirla para utilizar menos líneas de código y de paso aprender mejor los fundamentos del código.

En la 2º parte de este manual están las macros más importantes que podrás necesitar, escritas, comentadas y listas para que puedas copiar, pegar y adaptar en tus propios desarrollos. De todas formas, como adelanto, veremos algunas macros nuevas aquí como para ir calentado motores.

Macro 1

Escribamos manualmente una nueva macro ahora:

  1. Crea un nuevo libro Excel y guárdalo con el nombre Libro1.
  2. Accede al Editor de visual basic con las teclas ALT+F
  3. Inserta un nuevo Módulo desde el menú Insertar > Módulo
  4. Dentro del módulo escribe textualmente el siguiente código:

' Esta macro muestra un texto en una ventana emergente

Sub MostrarTexto ()

Msgbox "Manual de Macros Exceluciones"

End Sub