Вы находитесь на странице: 1из 18

Gerencie.com. Manual de macros.

1. PREAMBULO

Qu es una macro?
Una Macro es una serie de instrucciones que son guardadas dentro de un archivo de Excel
para poder ser ejecutadas cuando lo necesitemos. Es una herramienta que nos ayuda a
automatizar procesos o aquellas tareas que hacemos repetidamente.
Las macros se escriben en un lenguaje de programacin llamado Visual Basic para
Aplicaciones (VBA), y permite hacer o resolver los problemas de forma ms rpida y
sencilla. Este lenguaje permite acceder a prcticamente todas las funcionalidades de Excel
y con ello tambin ampliar la funcionalidad del programa.

Utilidad de una macro


La hoja de clculos Excel es una poderosa herramienta en el tratamiento de datos y su
anlisis. Con el conocimiento de las macros se le abre al usuario un universo con el que
puede construir plantillas y todo tipo de modelos, para diversos usos y aplicaciones. Dentro
de esas aplicaciones se encuentran:
1. Automatizacin de tareas y procesos que involucran muchos pasos: supongamos que
todos los das 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 seleccin. Estas 6 acciones las hacemos
manualmente y no parecen muchas, pero qu tal si hay que hacer esto en repetidas
ocasiones y todos los das? Una macro nos permite ejecutar los 6 pasos
automticamente, tan solo presionando un botn 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
dinmicas, etc...
2. Creacin de nuevas funciones a la medida (aparte de las que ya posee Excel): las
funciones y frmulas Excel son quizs la esencia de la hoja de clculos (si no se
pudieran utilizar funciones y frmulas no habra clculos). Excel trae incorporada unas
330 funciones estndar las cuales se pueden utilizar en forma aislada o en forma
combinada (anidadas). Sin embargo suele suceder que justo la funcin que
necesitamos no existe. Nuevamente, las macros vienen a nuestra salvacin. Podemos
programar funciones a medida que hagan exactamente lo que nosotros queremos. Y
esas funciones se comportarn igual que las de Excel (aparecern en el men de
funciones en la categora que nosotros indiquemos, tendrn sus respectivos
argumentos, etc.)
3. Creacin de nuevos comandos, complementos y mens: Excel trae una gran cantidad
de comandos y mens predefinidos que nos asisten para las operaciones ms
ISBN 978-958-46-6730-4

Gerencie.com. Manual de macros.


habituales. Las macros nos permiten crear nuestros propios comandos y mens
personalizados, e incorporarlos al Excel. La utilidad de los mismos depende tan solo de
nuestras necesidades. Los complementos Excel tambin estn creados con macros. Si
ves en el men Herramientas > Complementos vers una lista de los que tienes
instalado en tu Excel. Los mismos suelen ser distribuidos de forma gratuita o tambin
se compran. Su utilidad reside en agregar alguna funcionalidad extra al Excel.
4. Creacin de aplicaciones completas a la medida: Excel es utilizado en diversos
campos y por una gran cantidad de usuarios. Las macros te permitirn construir
complejas y elegantes aplicaciones para cualquier uso que quieras darles. El lmite solo
es tu imaginacin. Una aplicacin Excel consiste en algo ms que una simple plantilla
con datos y frmulas. Una aplicacin Excel es un verdadero programa de software con
una serie de caractersticas que lo hacen utilizable por cualquier usuario sin que el
mismo tenga que entender la lgica "Exceliana" que hay por detrs.

Objetos, propiedades y mtodos.


A la hora de trabajar con macros en Excel, deben tenerse claros ciertos conceptos de lo
que se llama programacin orientada a objetos (OOP). No nos extenderemos demasiado
sobre la OOP, pero si definiremos a continuacin los conceptos de Objeto, Propiedades y
Mtodos.
Hay un ejemplo muy prctico para comprender lo que son los Objetos, Propiedades y
Mtodos (OPM). Supongamos que tenemos una canasta con frutas. Cules seran los
OPM de la misma?
Objetos: los objetos de la canasta de frutas seran las mismas frutas (manzanas, naranjas,
peras).
Propiedades: las propiedades seran las caractersticas de las frutas (color, olor, sabor,
textura).
Mtodos: finalmente los mtodos son las acciones que podramos ejercer sobre las frutas
(comprarlas, venderlas, comerlas, almacenarlas, limpiarlas, quitarles la piel,).
Pasemos ahora a ver un sencillo ejemplo de algunos OPM de Excel.
Objetos: prcticamente cada cosa que vea en Excel es un objeto. Ejemplos de objetos son:
un libro Excel, una hoja, un rango, una celda, un men, un grfico, una tabla dinmica, un
cuadro de dilogo, las etiquetas de hojas, las columnas, las filas, etc. En fin, cada partecita
de Excel es un objeto. Un objeto es algo que se puede ver e identificar con un nombre.
Propiedades: las propiedades son las caractersticas de los objetos. Por ejemplo, para el
objeto "celda" algunas de sus propiedades seran: alto, ancho, color, bloqueada o
desbloqueada, vaca, con un nmero o con una frmula, etc. Por ejemplo para el objeto
ISBN 978-958-46-6730-4

Gerencie.com. Manual de macros.


"hoja" algunas de sus propiedades seran: visible u oculta, con o sin lneas de divisin, con
o sin barras de desplazamiento vertical y horizontal, etc.
Mtodos: un mtodo es una accin que podemos realizar sobre el objeto o una de sus
propiedades. Por ejemplo sobre el objeto "hoja" podemos: activar, mover, copiar o borrar.
En la medida que adquieras mayores conocimientos sobre como programar macros irs
manejando y conociendo cada vez ms objetos, con sus propiedades y sus mtodos. En
definitiva, de eso se trata programar una macro: conocer el nombre del objeto, conocer el
nombre de alguna propiedad del mismo que quieras modificar y tambin conocer el nombre
de algn mtodo que se desee aplicarle.

Tipos de Macros en Excel


Las macros se pueden agrupar en dos categoras principalmente:
1. Macros de funciones
2. Macros de comandos

Macros de funciones
Si ejecuta frecuentemente una tarea en Microsoft Excel, puede automatizarla mediante una
macro. Una macro consiste en una serie de comandos y funciones que se almacenan en
un mdulo de Visual Basic y que puede ejecutarse siempre que sea necesario ejecutar la
tarea. A continuacin, se ejecuta la macro para que repita los comandos.
Con el Editor de Visual Basic, se pueden modificar macros, copiar macros de un mdulo en
otro, copiar macros entre diferentes libros, cambiar de nombre a los mdulos que
almacenan las macros o cambiar de nombre a las macros.

Macros de comandos
La creacin de estas macro funciones consiste en poner una serie de ARGUMENTOS, en
las cuales podemos ir poniendo los datos que lleva una funcin normal de Excel para
Windows y al final le indicamos que operaciones hacer con estos ARGUMENTOS y de esta
manera se optimiza el uso de varias frmulas para llegar a un resultado. Es decir la creacin
de una funcin simplifica el uso de varias frmulas, dejndolas como una sola.
Por ejemplo: Dim Texto as String
Sub Macro1()
'
ActiveCell.Range("A1").Select
ActiveCell.Value= Texto
ActiveCell.Range("I1").Select
Texto= ActiveCell.Value
ISBN 978-958-46-6730-4

Gerencie.com. Manual de macros.


.
.
.
End Sub

Escribir macros desde el Editor de Visual Basi


c.
Para escribir macros manualmente desde el Editor de Visual Basic, debo seguir los
siguientes pasos:
1. Selecciono la Hoja donde deseo ubicar la macro para que sea ejecutada
2. Si dentro de mi proyecto yo voy a utilizar campos variables, lo primero que debo
hacer es definir, nombrar y declarar dichas variables.
3. Si dentro de mi proyecto yo voy a utilizar matrices u otro tipo de funciones que
requieran alguna definicin, debo declararlas y dimensionarlas tambin.
4. Posteriormente utilizando el comando Sub End Sub, voy a declarar el nombre de
la Macro.
5. Habiendo declarado la macro, se procede a ejecutar con comandos la accin que
se quiere realizar , utilizando las funciones correspondientes
6. Se finaliza la macro con el comando End Sub
Veamos un ejemplo para ejecutar la funcin de Copiar y Pegar en la misma Hoja
(Worksheet) una informacin
Una variable es simplemente un trozo de memoria que la funcin o procedimiento se
reserva para guardar datos, la forma general de declarar una variable es
DIM variable AS tipo.

Ejemplo: Nombre de la Macro : Macro 2


Nombre de la Variable: Texto
Dim Texto as String
Sub Macro2()
'
ISBN 978-958-46-6730-4

(Significado)

Gerencie.com. Manual de macros.


ActiveCell.Range("E1").Select
ActiveCell.Value= Texto
celda)
Selection.Copy
ActiveCell.Range("I1").Select
ActiveSheet.Paste

(Ubcate en la celda E1 y seleccinala)


(La variable Texto toma el valor de la
(Copia el valor de la celda)
(Ubcate en la celda I1 y seleccinala)
(Pega ese valor)

End Sub

Ejecutar una macro.


Una vez creada una macro, la podremos ejecutar las veces que queramos. Antes de dar la
orden de ejecucin de la macro, dependiendo del tipo de macro que sea, ser necesario
seleccionar o no las celdas que queramos queden afectadas por las acciones de la macro.
Por ejemplo si hemos creado una macro que automticamente da formato a las celdas
seleccionadas, tendremos que seleccionar las celdas previamente antes de ejecutar la
macro.
Para ejecutar la macro debemos acceder al
men Ver Macros..., que se encuentra en
el men Macros de la pestaa Vista, y nos
aparece el cuadro de dilogo Macro como
el que vemos en la imagen donde tenemos
una lista con las macros creadas, en este
caso la MacroPrueba.
Debemos seleccionar la macro deseada y
pulsar sobre el botn Ejecutar o utilizar la
tecla F5 desde el Editor de VBA. Se cerrar
el cuadro y se ejecutar la macro.

ISBN 978-958-46-6730-4

Gerencie.com. Manual de macros.


En cuanto al resto de botones:
Cancelar: Cierra el cuadro de
dilogo sin realizar ninguna accin.
Paso
a
paso:
Ejecuta
la
macroinstruccin por instruccin
abriendo el editor de programacin
de Visual Basic o utilizando la tecla
F8
Modificar: Abre el editor de
programacin de Visual Basic para
modificar el cdigo de la macro.
Estos dos ltimos botones son para
los que sapan programar.
Eliminar: Borra la macro.
Opciones: Abre otro cuadro de dilogo donde podemos modificar la tecla de mtodo
abreviado (combinacin de teclas que provoca la ejecucin de la macro sin necesidad de
utilizar el men) y la descripcin de la macro.

Pasos para aprender a programar una macro


Antes de comenzar a programar macros es necesario que conozca la barra de herramientas
VBA.

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. Puede acceder a la misma
desde el men Herramientas > Macros.
Tambin tiene la opcin de dejar siempre visible dicha barra de herramientas. Puede hacer
esto desde el men Ver > Barras de Herramientas > Visual Basic. Vers como aparece una
nueva barra de herramientas de macros. Puede ubicar esta barra de herramientas donde
le sea ms cmodo.

Editor VBA
El Editor de Visual Basic es la aplicacin que trae Excel desde donde se escriben y guardan
las macros. Tienes 3formas de acceder al editor:
A. Desde el men Herramientas > Macros > Editor de Visual Basic
ISBN 978-958-46-6730-4

Gerencie.com. Manual de macros.


B. Desde el botn Editor de Visual Basic de la Barra de Herramientas Visual Basic.
C. Desde el teclado (Teclas de Mtodo Abreviado): ALT+F11 (el acceso a la Barra de
Herramientas de la opcin 1 y 2 los explicamos anteriormente)
Cualquiera de las 3 formas abrir el editor de Visual Basic (la nmero 3, presionar ALT +
F11 es ms rpida que abrir los mens desde el ratn).
Una vez que se haya accedido al editor de Visual Basic se ver algo similar a la figura
siguiente (no importa si no se ve estrictamente similar, eso depender de las ventanas que
se tengan visibles y ocultas).

El editor contiene 3 ventanas principales: la Ventana Proyecto (parte izquierda superior), la


Ventana de Cdigo (parte derecha) y la Ventana Propiedades (parte izquierda inferior).

ISBN 978-958-46-6730-4

Gerencie.com. Manual de macros.


La Ventana Proyecto - VBA Project: esta ventana
muestra los libros Excel (xls) o los complementos (xla)
abiertos. Usualmente ver nombres del tipo
"VBAProject" y entre parntesis el nombre del archivo
o complemento Excel. Veamos el caso de VBAProject
(Libro1). Simplemente significa que se tiene abierto un
libro Excel llamado Libro 1. Luego cuelga una carpetas
ms: Hoja1 (Hoja1), ThisWorkbook y Modulo (no
importa si no ve todos estos elementos ahora, luego se
te ensear cmo activarlos). Estas carpetas es donde
habitan las macros. Haciendo doble clic en ellas se
activar la ventana donde se escriben las macros.
Ventana de Cdigo: esta es el lugar donde
escribiremos el cdigo propiamente dicho de las
macros. Como no hemos escrito ninguna macro
todava veremos la hoja en blanco. Recuerde bien
estas dos ventanas, ya que las usaremos a
continuacin para escribir nuestra primera macro.

Como ver el Editor de VB tiene varias ventanas. Pero de momento solo nos interesan las
dos ventanas que le indicamos anteriormente: la Ventana Proyecto VBA Project y la
Ventana de Cdigo donde se escribe el cdigo de las macros. La Ventana de Propiedades
la dejaremos para ms adelante porque de momento no nos interesa.

ISBN 978-958-46-6730-4

Gerencie.com. Manual de macros.


Recuerde: presionando las teclas ALT+F11 puede ir desde Excel al Editor o desde el Editor
al Excel de forma alterna (debes mantener presionada la tecla ALT y presionar F11
repetidas veces, ver como pasa de Excel al editor y viceversa).
Si est en el editor y quiere regresar a la hoja Excel tambin puede utilizar el cono de Excel
que se encuentra en el men superior del editor (primer cono de la izquierda, con la X de
Excel).

Objetivo de nuestra macro


Se debe aclarar perfectamente y tener muy en cuenta primero que nada, cul ser el
objetivo de nuestra macro y que queremos hacer exactamente. Al tener definido esto
podemos tener claro cmo vamos a programar.

Escribir la macro
Al tener en claro el objetivo de nuestra macro, procedemos a escribirla como tal, para ello
debemos seguir los siguientes pasos:
1.
2.
3.
4.
5.
6.

Prepara el Editor de Visual Basic


Crea un nuevo libro Excel y gurdalo con el nombre Libro 1.
Abre el editor de Visual Basic con las teclas ALT+F11.
Doble clic en VBAProject (Libro1) para ver las carpetas.
Doble clic en Hoja1 (Hoja1) para empezar a escribir el cdigo de la macro.
Escribe la macro

Comprender la macro
Una vez que se haya escrito la macro, debemos comprenderla para proceder a ejecutarla
paso a paso para que pueda funcionar. Si la macro no funciona como lo deseas no te
preocupes, solo necesitas tener paciencia y comprender las acciones de lo que se est
haciendo.

Crear o modificar instrucciones para una macro.


Una vez que la macro esta creada, y al comprenderla y ejecutarla paso a paso, lo que queda
es modificar las instrucciones para que la macro funcione completamente. Para modificar o
crear instrucciones se recomienda lo siguiente:

1. A pesar de que es la forma ms larga de verificar las instrucciones, el Botn Grabar


Macros es de mucha utilidad. Cmo lo hacemos? Procedemos a ejercer la accin
que nos est dando el error con el botn grabar macros y verificamos el cdigo. As
podemos arreglarlo poco a poco.

ISBN 978-958-46-6730-4

Gerencie.com. Manual de macros.


2. Otra de las formas de modificar instrucciones para una macro, es a travs de la
ayuda de EXCEL. En el tutorial de ayuda, aparece correctamente como deben estar
escritas las instrucciones, lo cual es de mucha ayuda a la hora de modificar una
instruccin, porque pudiese ser eso.
3. Lo que debes hacer finalmente, es verificar y comprender como trabajan las
funciones o comandos que estas utilizando. Para ello es recomendable que sigas el
PASO A PASO en la ejecucin de la macro, o, tambin el DEPURACION
EJECUTAR HASTA EL CURSOR
PASO A PASO: Permite ir corrigiendo y comprendiendo paso a paso lo que hace tu macro,
para ingresar debes hacer lo siguiente:

Ingresar a Depuracin en la opcin Paso a paso y con la tecla F8 ir revisando la


macro lnea a lnea, hasta completarla.
Esto permitir corregir el lenguaje de la macro.

EJECUTAR HASTA EL CURSOR Permite correr la macro hasta cierto punto para
continuar revisando y hacer ms fcil el avance.
Si ya reviso paso a paso su macro, y hay una parte que ya te funciona y otra no,
puedes correr la macro hasta ese punto, marcarlo con esta funcin, y continuar
revisando hacia delante.

ISBN 978-958-46-6730-4

Gerencie.com. Manual de macros.

Algunos elementos comunes en los cdigos de las macros. (Lenguaje VBA)


Sub End Sub. Comienzan con la palabra Sub y terminan con End Sub. Se identifican
por un nombre (seguido de parntesis)

ISBN 978-958-46-6730-4

Gerencie.com. Manual de macros.

Variables
Una variable es simplemente un trozo de memoria que la funcin o procedimiento se
reserva para guardar datos, la forma general de declarar una variable es

DIM variable AS tipo.

Cada variable se identifica por su nombre (recomendable que sea significativo).


El nombre de una variable puede contener casi cualquier letra o smbolo, pero debe
comenzar siempre por una letra.
No se deben usar espacios ni comas como parte de un nombre de variable, como
tampoco los smbolos: #, $, %,& o !, ni operadores aritmticos.
Por ejemplo:
o edad, cantidad_asistentes, NivelLiquido, GASTOS
No hay distincin entre maysculas y minsculas, por lotanto los identificadores:
balanceFinal, BalanceFinal yBALANCEFINAL hacen referencia a la misma variable.

Operadores aritmticos:
Los argumentos de los operadores aritmticos son valores numricos (nmeros o variables
numricas) y generan como resultado un nmero.
ISBN 978-958-46-6730-4

Gerencie.com. Manual de macros.

Operadores:
o Suma: +
o Resta: o Multiplicacin: *
o Divisin: /
o Divisin entera: Divisin entera: \
o Elevacin a potencia: ^

Operadores relacionales:
Los operadores relacionales permiten comparar valores en expresiones. Generan como
resultado un valor lgico (verdadero o falso).

Operadores relacionales:

Mayor: >
Menor: <
Mayor o igual: >=
Menor o igual: <=
Igual: =

Operadores de concatenacin:
Se utiliza para concatenar dos cadenas de caracteres:

& (ampersand)

Ejemplo:
Hola & Pais HolaPais
nombre = Hola
nombre & Pais HolaPais

Operadores lgicos:
Los argumentos de operadores lgicos son valores lgicos y generan como resultado otro
valor lgico.
Operadores lgicos (existen otros):
ISBN 978-958-46-6730-4

Gerencie.com. Manual de macros.

And: conjuncin
Or: disyuncin
Not: negacin

Funciones ms usadas:
Do
Realiza iteraciones mientras una condicin es verdadera.

Do While condicin
instruccin 1
instruccin 2

Loop

Estructura repetitiva Para (for).


Esta estructura sirve para repetir la ejecucin de una sentencia o bloque de sentencias, un
nmero definido de veces. La estructura es la siguiente:
Para var =Valor_Inicial Hasta Valor_Final Paso Incremento Hacer
Inicio
Sentencia 1
Sentencia 2
.
.
Sentencia N
Fin
Var es una variable que la primera vez que se entra en el bucle se iguala a Valor_Inicial, las
sentencias del bucle se ejecutan hasta que Var llega al Valor_Final, cada vez que se
ejecutan el bloque de instrucciones Var se incrementa segn el valor de Incremento.
En Visual Basic para Excel la estructura Para se implementa con la instruccin For ...
Next.
For Variable = Valor_Inicial To Valor_Final Step Incremento
ISBN 978-958-46-6730-4

Gerencie.com. Manual de macros.


Sentencia 1
Sentencia 2
.
.
.
Sentencia N
Next Variable

* Si el incremento es 1, no hace falta poner Step 1.


Each Next.
Repite un grupo de instrucciones para cada elemento de una coleccin.
For Each element [ As datatype ] In group
[ statements ]
[ Continue For ]
[ statements ]
[ Exit For ]
[ statements ]
Next [ element ]

Estructura repetitiva Do While Loop (Hacer Mientras).


Cuando existen ocasiones o casos en los que no se sabe previamente el nmero de veces
que se debe repetir un proceso se debe recurrir a la sentencia Do While..Loop en alguna
de sus formas. Esta estructura repetitiva est controlada por una o varias condiciones, la
repeticin del bloque de sentencias depender de si se va cumpliendo la condicin o
condiciones.

Hacer Mientras(se cumpla la condicin)


Sentencia1
Sentencia2
.
.
ISBN 978-958-46-6730-4

Gerencie.com. Manual de macros.


Sentencia N
Fin Hacer Mientras
En Visual Basic
Do While(se cumpla la condicin)
Sentencia1
Sentencia2
.
.
Sentencia N
Loop
Go To.
El uso de la instruccin Ir a (GoTo) significa ir o ubicarse en una lnea en especifca .Para
ejecutar un GoTo no es necesario que todas las lneas estn identificadas, pero s es
necesario que la lnea de destino est numerada o etiquetada. No se puede hacer un GoTo
a un procedimiento distinto del que se est ejecutando en ese momento.
Utilizar la instruccin With
Cuando tenemos que definir muchas propiedades de un nico objeto, no es necesario hacer
mencin al objeto cada vez, porque esto le quita velocidad de ejecucin a la macro. Para
ganar velocidad y mantener el cdigo ms simple, conviene hacer mencin al objeto una
nica con la instruccin With y luego definir sus propiedades, por ejemplo:
Sub CambiarFormatoRango()
WithRange("A1")
Value = 10
Font.Bold = True
Interior.ColorIndex = 5
End With

Instruccin If Then / If Then Else.


Determina el curso de accin a seguir dependiendo del valor de verdad de una condicin.
If condicin Then
ISBN 978-958-46-6730-4

Gerencie.com. Manual de macros.


acciones si condicin es verdadera
Else
acciones si condicin es falsa
Endif

Proteger el cdigo de una macro


As como se pueden proteger los libros, las hojas y las celdas de Excel, tambin es posible

proteger con una contrasea el cdigo de nuestras macros. Una vez que tenga sus macros
escritas en el editor puede ir al men Herramientas > Propiedades de VBAProject .. y
luego hacer clic en la pestaa de Proteccin.
Ver una ventana como la de la que se observa a la derecha:
All puede proteger su Macro.

ISBN 978-958-46-6730-4

Gerencie.com. Manual de macros.

ISBN 978-958-46-6730-4

Вам также может понравиться