You are on page 1of 37

MACRO: Una macro es un conjunto de instrucciones

escritas en lenguaje Visual Basic (*), que nos permite


automatizar ciertas tareas que la aplicacin no contempla
desde
las
herramientas
de
la
hoja.
Por ejemplo, si necesitamos que se inserten
automticamente 2 hojas nuevas al abrir un libro,
recurriremos
a
una
macro.
Otros casos: completar alguna tarea cada vez que se
ingresa un valor en una celda o rango de celdas; realizar
un cierto control antes de imprimir, guardar o cerrar el
libro, etc. Son todas tareas que pueden ser
automatizadas
mediante
rutinas
o
macros.
(*) El lenguaje utilizado en Excel es VBA (Visual Basic
for
Applications)

Cmo se crea una macro: para automatizar una tarea


mediante una macro bsicamente se necesitan los
siguientes
elementos:
1- un espacio de trabajo donde escribir las instrucciones
o rutinas que harn esas tareas: el Editor de Macros. A
este espacio se accede desde men Herramientas,
Macros, Editor o con el atajo de teclado Alt+F11.
En versin 2007-10, activar la opcin Programador de la
Cinta
de
Opciones (Ver)

Una vez en ese 'espacio', escribiremos o copiaremos las


rutinas
en:
a- alguno de los objetos (hoja o libro) que seleccionemos
con doble clic en el panel de Objetos que se encuentra a
la
izquierda
del
Editor.
b-

insertando

mdulos

c- o insertando formularios personales o Userforms.


2- una accin que har que la tarea programada se
ejecute. A esto llamamos 'Eventos' que inician una
macro y pueden ser: abrir o cerrar un libro, entrar o
salir de una hoja, cambios o seleccin de celdas, antes de
imprimir o guardar, el 'clic' en un botn de comando, al
presionar un atajo de teclado, y otros ms.
3- un lenguaje de programacin. En Excel utilizamos VBA
(Visual
Basic
para
Aplicaciones)
4- Ocasionalmente un formulario donde trabajar para
luego volcar los resultados en las hojas: llamados
Userforms.

Dnde colocar o escribir la macro: esto depender de lo


que
deba
ejecutar
nuestra
rutina.
Si las instrucciones se deben ejecutar, por ejemplo, al
abrir o cerrar un libro, se colocan en el objeto

ThisWorkbook

(o

EsteLibro

segn

la

versin).

Si las instrucciones se deben ejecutar al entrar o salir


de una hoja o al seleccionar o modificar una celda, se
colocan en el objeto Hoja. Estos objetos se encuentran
en el margen izquierdo del Editor, en la ventana
Proyecto-VBAProyect
Si nuestra rutina ser llamada con un botn, atajo de
teclado o desde otra rutina, se colocar en un mdulo
(estando en el Editor, men Insertar, Mdulo).
Las instrucciones para los controles de un formulario o
Userforms se colocan en la seccin Cdigo del mismo
formulario.

Cmo ejecutar una macro: En el punto anterior se


menciona que se necesita una 'accin' que dispare o
ejecute
una
macro
grabada.
Veamos
los
distintos
casos:
1- Una accin automtica resultado de un evento, ya sea
a
nivel
libro,
hoja,
rango
o
celda
En este grupo se encuentran las rutinas que se ejecutan
en la apertura o cierre de libro, al entrar o salir de una
hoja, al seleccionar o cambiar valores en celda Son las
que se colocan en el objeto HOJA o ThisWorkbook, como
se
menciona
en
tema
anterior
2- Al presionar un botn dibujado en la hoja. Podemos

utilizar botones de la barra 'Cuadro de controles o


ActiveX' o de la barra 'Formularios'. En versin 2003 se
encuentra en Men Ver, Barras de Herramientas. En
versin
2007
desde
la
ficha
Programador
Dibujamos el control en la hoja, ajustamos algunas
propiedades como texto, tamao, ubicacin. Al hacer clic
derecho sobre el control optamos por 'Ver cdigo' o
'Asignar macro' segn qu barra de herramientas hemos
utilizado.
aCuadro de controles: al optar por 'Ver cdigo' nos
llevar al Editor, al objeto HOJA donde se generar
automticamente una rutina con estas 2 instrucciones:
Private
'aqu
End

Sub
escribiremos

CommandButton1_click()
nuestras
instrucciones
Sub

bFormularios: ya debemos tener lista la rutina en un


mdulo del Editor y la asignaremos cuando optemos por
'Asignar
macro'.
Las rutinas para este caso son como el siguiente ejemplo:
Sub
'nuestras
End

nombre_rutina()
instrucciones
Sub

3- Ejecutar un atajo de teclado: En estos casos


tendremos una rutina como la del punto anterior (b) en
un
mdulo
del
Editor.
Desde la hoja Excel, men Herramientas, Macros,

Macros seleccionarla de la lista. Presionar el botn


'Avanzadas' e ingresar una letra, por ejemplo 't' (sin las
comillas)
Nota: Si Excel ya tiene asignada esta letra la
reemplazar por Ctrl+Maysc +t Esto significa que en el
momento que necesitemos que la macro se ejecute
presionaremos juntas las teclas Ctrl + t
(o
Ctrl+Mayusc+t)
4- Desde el men Herramientas: si no hemos asignado la
rutina que se encuentra en un mdulo a ningn botn ni a
atajo de teclado, la ejecutaremos desde este men de
Excel.
Referencias: Veamos los diferentes modos de referirnos
a
libros,
hojas
y
celdas:
Workbook

ActiveWorkbook
Workbooks(2)

Libro

de

trabajo.

Libro
activo
El segundo libro abierto

Workbooks("Libro1.xls") :
Libro1

Llamada al libro de nombre

Workbooks(milibro) :
Llamada a un libro cuyo
nombre se encuentra en una variable llamada 'milibro' (*)
*-Si el nombre del libro se encuenta en una variable, NO
lleva
comillas

Previamente
asignamos
milibro=ActiveWorkbook.name
WorkSheet

ActiveSheet
Sheets("Enero")
Sheets(3)
:
pestaas.
[Hoja2]
pestaas
Range o

nombre,

Hoja

por

de

ej:

trabajo

Hoja
activa
:
Hoja
de
nombre
'Enero'
Nmero de hoja segn el orden de las

La 2da hoja segn orden de las

Cells

rango

celda

Activecell
:
la
celda
activa
Range("A2")
:
la
celda
A2
Cells(2,1)
: la celda de fila 2 y columna 1 = A2 .
Cells(3,"D")

la celda de fila 3 y col D = D3

*-Ntese que mientras en Range se introduce la celda en


el orden Col,Fila, en Cells es a la inversa: Cells(fila,col)
Range("A5:B10") : rango de celdas desde A5 hasta B10
inclusive
Range("E:E")
:
columna
E
Range("2:2")
:
fila
2
[A3]

la

celda

A3

Range("A" & fila)


de

: celda de la col A y fila segn valor


variable

Cuando hablamos de una Macro en Excel nos referimos a


un lenguaje de programacin orientado a aplicaciones. En
este caso particular, se utiliza VBA (Visual Basic for
Applications) el cual es un lenguaje de programacin
desarrollado por Microsoft. Excel, al igual que los otros
programas de Microsoft Office incluyen el lenguaje VBA.
Imaginen un Robot que conoce todo sobre Excel. Este
robot puede leer instrucciones y operar sobre Excel de
manera rpida y precisa. Simplemente escribimos un
lenguaje que este robot comprenda, para que luego el
robot haga el trabajo sucio mientras nos relajamos y
tomamos una limonada. Eso es justamente VBA. Un
lenguaje en cdigo para robots. Pero Ojo, Excel no viene
ni
con
un
robot
ni
con
la
limonada.
=)
La combinacin entre la generacin de un cdigo VBA y
su posterior ejecucin en Excel es lo que se llama una
Macro. A fin de cuentas una Macro es un programa el
cual contiene un trozo de cdigo de manera que podemos
automatizar procesos que el realizarlos a mano nos
pueden
tomar
mucho
tiempo.
La palabra Macro proviene del griego makros que
significa grande-lo cual podra describir el tipo de pago
que podras recibir por convertirte en un experto en
programacin
de
Macros.

Otra cosa que se debe tener en cuenta es que VBA no es


lo mismo que VB (Visual Basic), ya que VB es un lenguaje
de programacin que permite crear programas auto
ejecutables (conocidos como archivos EXE). A pesar de
que VBA y VB tienen mucho en comn, son dos cosas
distintas.
La idea de crear una Macro es la de automatizar tareas
que son repetitivas o que deben ser desarrollas con
frecuencia. Por ejemplo, preparar reportes mensuales
de manera que todos los meses podrs presentarle a tu
jefe reportes con un mismo formato. l quedar
impresionado por tu consistencia y la gran calidad de tu
trabajo, e incluso te promover a un nuevo cargo al cual
no
ests
capacitado!!
Comencemos!
Lo primero a realizar es hacer visible la lengeta de
Programador. Por defecto esta lengeta viene oculta en
Excel 2007. Iremos a Inicio y daremos click en
Opciones
de
Excel.
La primera opcin es Ms Frecuente y dentro de ella
debemos marcar la opcin de Mostrar Ficha
Programador en la cinta de Opciones. Ac podemos
observar como la hemos marcado, que en este caso es la
tercera opcin. Con ello la lengeta Programador est
visible y podemos comenzar a utilizar Macros en nuestro
libro
de
Excel.

Lo que cubriremos en este instructivo es la grabacin de


Macros. Esto es muy parecido a la grabacin de acciones
que alguna vez cubrimos en un tutorial de Photoshop.
Grabando

una

Macro

Seleccionamos una celda; cualquier celda servir.

En la lengeta de programador damos click en


grabar Macro.

Con ello nos aparece la ventana

Grabar Macro.

En Nombre de la macro pondremos un nombre


representativo (Ojo no puede llevar espacios por lo que
si desean pueden usar guin bajo _ para poner espacios
entre palabras), en mtodo abreviado pondremos una
combinacin de teclas como acceso directo (por defecto
es CTRL +algo , en mi caso utiliz la tecla Shift o
Mayscula ms la tecla N), en Guardar macro en:
dejamos igual como est, y en Descripcin anotamos
justamente una descripcin de lo que har la macro.
Damos click en Aceptar . Con ello la grabacin de la
Macro comienza, por lo tanto todos los movimientos que

realicemos dentro del libro de Excel sern grabados.

Anotaremos nuestro nombre en una celda

Hacemos click en la celda bajo el nombre y


anotaremos la siguiente frmula: =AHORA()

Esta

frmula

muestra

la

fecha

hora

actual.

Seleccionamos la celda que contiene la frmula y la


copiaremos (Con CTRL+C o en la lengeta Inicio ->
Copiar)

En la lengeta Inicio est el botn Pegar. Si damos


Click en la flecha bajo el cono vern que aparecen
ms opciones. Elegimos la opcin Pegar Valores.

Esto convierte la frmula a su valor correspondiente.

Seleccionamos ambas celdas, osea la celda con la


fecha y la celda con el nombre.

Aplicamos a ambas celdas un formato, por ejemplo


Negrita y en el tamao de la letra ponemos 16.

Vamos a la lengeta Programador y detenemos la


grabacin de la Macro con el botn respectivo.

Felicitaciones! Acabas de grabar tu primera Macro. Esta


es una buena oportunidad para llamar a tu madre y
contarle
las
buenas
noticias.
Ahora solo nos falta correr la Macro y ver los
resultados. Para ello iremos a una nueva hoja de clculo.
Seleccionamos
la
celda
A1.

En la lengeta de Programador hacemos click en Macros


con lo cual se nos abre la ventana que administra las
Macros.

Elegimos nuestra Macro, que en este caso es


damos click al botn ejecutar. Tambin si
pueden seleccionar la celda A1 y simplemente
combinacin de teclas que configuramos, en

nica y le
prefieren
utilizar la
este caso

Ctrl+Shift+N.

Como observarn se ha pegado la informacin y se le ha


dado el formato de letra en negrita y tamao 16. Con un
simple click o combinacin de teclas sin necesidad de
anotar el nombre, aplicar una frmula, copiarla, pegarla,
seleccionar
ambas
celdas
y
darles
formato.
Ahora analicemos el cdigo o lenguaje que se ha grabado.
Para ello podemos dar click en el botn Visual Basic de
la lengeta Programador o utilizar la combinacin de
teclas
ALT+F11.

Con

ello

se

nos

abre

el

editor

de

VBA.

Damos click en el smbolo + de Mdulos de manera de


ampliar el rbol de mdulos y con ello nos aparecer
mdulo 1 tal como se observa en la fotografa.
Con ello se abre el mdulo y podemos obsevar el cdigo
que
se
ha
generado.
Los comentarios se pueden anotar anteponiendo el
smbolo
de
apstrofe
().

En este caso para explicar el cdigo dejar comentarios


en
cada
lnea.
Sub NombreyTiempo() NombreyTiempo Macro Esta
Macro anota mi nombre y el tiempo Acceso directo:
Ctrl+Mays+N Range(A1).Select Se selecciona la celda
A1 ActiveCell.FormulaR1C1 = Dexter En ella se
insertar Dexter Range(A2).Select Se selecciona la
celda A2 ActiveCell.FormulaR1C1 = =NOW() Se aplica
la frmula Ahora() que en VBA se anota por su nombre en
ingls
NOW()
Range(A2).Select
Nuevamente
seleccionamos la celda A2 Selection.Copy La seleccin se
copia
Selection.PasteSpecial
Paste:=xlPasteValues,
Operation:=xlNone,
SkipBlanks
_
:=False,
Transpose:=False Se vuelve a pegar pero como pegado
especial, en este caso como Valor Range(A1:A2).Select
Tomamos el Rango desde la celda A1 a la A2
Application.CutCopyMode = False Esta linea no hace nada
en particular ya que no estamos ni copiando ni pegando
With Selection.Font Con la seleccion antes hecha,
entramos a la configuracion de fuentes .Name = Calibri
Se selecciona el tipo de fuente, en este caso Calibri
.Size = 16 Se selecciona el tamao de fuente, en este
caso 16 .Strikethrough = False los siguientes cdigos
representan otros parmetros que no son necesarios
analizar .Superscript = False .Subscript = False
.OutlineFont = False .Shadow = False .Underline =
xlUnderlineStyleNone
.ThemeColor
=
xlThemeColorLight1 .TintAndShade = 0 .ThemeFont =
xlThemeFontMinor End With Selection.Font.Bold = True

Con la misma seleccion anterior (celdas A1 y A2),


aplicamos
el
formato
de
Negrita
End
Sub
Si hay tareas de Microsoft Excel que realiza
reiteradamente, puede grabar una macro para
automatizarlas. Una macro es una accin o un conjunto de
acciones que se puede ejecutar todas las veces que
desee. Cuando se crea una macro, se graban los clics del
mouse y las pulsaciones de las teclas. Despus de crear
una macro, puede modificarla para realizar cambios
menores
en
su
funcionamiento.
Imagine que todos los meses crea un informe para el
gerente del departamento contable. Desea que los
nombres de los clientes con cuentas vencidas aparezcan
en rojo y en negrita. Puede crear y luego ejecutar una
macro que aplique rpidamente estos cambios de
formato
en
las
celdas
seleccionadas.
Cmo?

Antes

de

grabar

una

macro

Compruebe que se muestra la ficha Programador en la


cinta de opciones. Dado que la ficha Programador no se
muestra de manera predeterminada, haga lo siguiente:
1. Haga clic en la pestaa Archivo, elija Opciones y, a
continuacin, haga clic en la categora Personalizar cinta

de

opciones.

2. En Personalizar cinta de opciones, en la lista Fichas


principales, haga clic en Programador y, a continuacin,
haga
clic
en
Aceptar.

Grabe

una

macro.

1. En el grupo Cdigo en la pestaa Programador, haga


clic en Grabar macro y luego haga clic en Aceptar para
comenzar
a
grabar.

2. Realice algunas acciones en la hoja de clculo como


escribir algn texto, seleccionar algunas columnas o filas
o
rellenar
con
algunos
datos.
3. En el grupo Cdigo en la pestaa Programador, haga
clic
en
Detener
grabacin.

Examine

la

macro

prubela.

Al modificar la macro que ha grabado, puede aprender un


poco acerca del lenguaje de programacin Visual Basic.

Para editar una macro, en el grupo Cdigo en la pestaa


Programador, haga clic en Macros, seleccione el nombre
de la macro que ha grabado y haga clic en Editar. Esta
accin har que se inicie el Editor de Visual Basic.
Observe el cdigo y vea de qu manera las acciones que
ha grabado aparecen como cdigo. Es probable que
entienda bien algo del cdigo y que otra parte le resulte
un
poco
misteriosa.
Experimente con el cdigo, cierre el Editor de Visual
Basic y ejecute la macro nuevamente. Esta vez observe
si
sucede
algo
distinto.
Las macros Excel es un conjunto de instrucciones
programadas en la hoja de clculo electrnica Excel, las
cuales automatizan las operaciones que realiza la
aplicacin ofimtica Excel con el objetivo de eliminar
tareas repetitivas o realizar clculos complejos en un
corto espacio de tiempo y con una nula probabilidad de
error.
Vba es el lenguaje de programacin que se utiliza para la
creacin de las macros Excel, vba son las siglas de Visual
Basic for Applications y es un lenguaje desarrollado por
Microsoft e implementado dentro de los programas
informticos de la suite Office, donde se encuentra
Excel.
Para entender mejor el concepto de las macros Excel

imaginemos que en nuestro trabajo tenemos que escribir


diariamente el valor de cambio de 1 euro por 1 dlar,
para posteriormente realizar una serie de clculos
referentes a temas financieros o contables, entonces
diariamente tendremos que entrar en Internet, buscar el
valor de cambio, copiar y pegar el valor en nuestra hoja
Excel y realizar los clculos oportunos. Mediante las
macros Excel al apretar un botn automticamente la
aplicacin Excel realizar cada una de las operaciones
descritas anteriormente por nosotros, dando el
resultado
fiable
en
apenas
1
segundo.
En el anterior ejemplo si realizsemos este trabajo de
manera manual podemos decir que invertiramos 10
minutos, que al cabo del ao supondra 3300 minutos,
equivalente a casi 7 das laborables dedicados a realizar
esta operacin, Qu pasara si se tuviese que realizar
este tipo de trabajo diariamente pero con una gama de
50 monedas diferentes?, estara dispuesto a dedicarse
ntegramente el da completo a realizar esta tarea
repetitiva sabiendo que con una macro Excel se puede
realizar en apenas 1 segundo y con una nula probabilidad
de
error?.
Pero para que Excel haga estos trabajos por usted es
necesario que le digamos como, en este momento es
cuando interviene VBA, podemos decir que VBA es el
interlocutor por el cual nos comunicamos con Excel, Vba
es el lenguaje de programacin de las Macros Excel.
Existen 2 maneras de realizar Macros en Excel:

Mediante el uso de la grabadora de Macros.

Mediante el uso del lenguaje VBA para programar


Excel

La primera de las opciones es la ms fcil, dado a que


solo requiere apretar al botn grabador de macros y
realizar el conjunto de operaciones que queramos que se
repitan, una vez finalizado guardamos la macro grabada
con el nombre que queramos. Cada vez que queramos
ejecutar esta macro tendremos que apretar el botn
ejecutar
macro
y
seleccionarla.
Esta primera opcin es la ms fcil de usar pero es la que
presenta ms limitaciones, dado a que solo ejecutar una
vez la tarea grabada as como no utilizar toda la
potencia
del
lenguaje
VBA.
La segunda opcin requiere del conocimiento y prctica
del lenguaje de programacin VBA, pero es sin duda la
opcin ms potente en cuestin de desarrollo de
aplicaciones, cualquier cosa que se nos ocurra puede
realizarse mediante el uso de VBA, desde una aplicacin
compleja hasta la automatizacin de tareas repetitivas
de
nuestra
hoja
de
clculo
Excel.

A continuacin se citan algunos ejemplos de las cosas que


podemos
con
las
Macros
Excel:

Desarrollo

de

Automatizacin

aplicaciones
de

tareas

complejas
repetitivas

Desarrollo de nuevas funciones o aplicaciones


dentro
de
la
propia
Excel

VBA

Comunicacin entre aplicaciones compatibles con


como Word, Access, Outlook, Autocad

Creacin de juegos dentro de la aplicacin Excel

Es una de las herramientas ms til que nos proporciona


Excel. Las macros son programas personalizados por los
usuarios, que permiten que t mismo escribas las
acciones que quieres que se realicen y estas se ejecuten
en
un
solo
clic.
Son atajos para automatizar acciones repetidas con
asiduidad.
A continuacin te presento varios ejemplos de macros
que
puedes
usar
en
tu
da
a
da.
Macro supersencilla para insertar nombre empresa y
departamento
Macro para insertar el nombre de la empresa y el
departamento:
MIEMPRESA
SL,
Departamento
Formacin New York, con el formato siguiente: fondo de

celda verde y color de la fuente beis, tamao 14 y en


negrita.
Vas a Herramientas y de aqu a Macro y elegimos Grabar
nueva macro, escribimos el nombre de la macro por
ejemplo
Insertar_Nombre_Empresa.
Lleva a cabo las acciones que vas a automatizar, esto es
das el formato indicado para a continuacin detener la
macro.
Cada vez que ejecutes la macro se insertara el texto en
la
hoja
de
clculo.

Macro

para

insertar

una

imagen

Anlogamente a lo indicado en el apartado anterior,


previamente recorre las imgenes que existen en
Imgenes prediseadas o escoge una imagen de tu
equipo.
Aqu

puedes

dar

el

nombre

Insertar_Imagen.

Como sugerencia puedes realizar esta macro para


insertar
el
logo
de
la
empresa.
Macro

para

redondear

decimales

En concreto para el caso de un libro de Excel que tengas


con cifras decimales y necesites presentarlo sin ese

detalle, por ejemplo un presupuesto, haras lo siguiente:


Vas al men Herramientas y de aqu a Macro y eliges
Grabar nueva macro..., en la ventana que se abre das
nombre a la Macro por ejemplo RedondearCifras (tiene
que ser un nombre que no empiece por un numero y que
no
contenga
espacios)
y
aceptas.
A partir de ah realizas las acciones a automatizar:
Seleccionas las celdas, botn derecho, Formato de
celdas, Moneda, quitas los decimales y pones 0, aceptas
para finalizar vamos a Herramientas, Macro y Detener
Grabacin.
Para guardar la Macro vas a Guardar Como desde
Archivo y elegimos el tipo: Libro con Macros habilitadas.
A partir de ahora cada vez que quieras que los datos de
un libro queden redondeados y sin posiciones decimales
seleccionars las celdas, seguirs la ruta: Herramientas,
Macros..., seleccionas la macro RedondearCifras y das a
Ejecutar y en un abrir y cerrar de ojos todas las cifras
se han transformado desapareciendo los decimales.
Macro para cambiar la impresora asignada por defecto
En este caso lo que realizars es la serie de pasos para
indicar que en vez de imprimir por la impresora
predeterminada que tengas configurada para Excel, lo
haga por otra de las impresoras existentes.

Asigna el nombre Imprimir_Impresora2 y realiza la


secuencia
de
movimientos.
Prueba

tu

macro

con

Ejecutar.

En relacin con esta macro tambin te sugiero realizar


una macro para imprimir en blanco y negro si tu
impresora est configurada en color (o viceversa),
puedes llamar a la macro con el nombre Imprimir_ByN.
Existen multitud de posibilidades a la hora de
automatizar tareas con Excel, aprende poco a poco esta
herramienta y vers que te resulta de gran utilidad.
Macro: Conjunto de acciones realizadas en una hoja de
clculo que quedan grabadas en Excel de forma que
simplemente haciendo clic en el men Herramientas,
Macro, Ejecutar macro automticamente se repite el
proceso.

Para crear una Macro se utiliza el lenguaje de


programacin VBA, Visual Basic para Aplicaciones, si bien
se puede simplemente grabar sin tener conocimientos de
programacin simplemente siguiendo la secuencia de
acciones.
Sirve para automatizar tareas repetitivas que quieras
dejar grabadas porque las realizas con asiduidad.
Algunos

ejemplos:

Eliminar filas vacas en los informes de la banca


electrnica.
Dar

formato

informes

externos.

Combinar datos de varios libros de Excel que recibes de


otros
departamentos
de
la
empresa.
Y muchas mas utilidades, comparte la tuya con nosotros.
Habrs odo hablar mucho de las Macros y tambin
conocers que suponen una gran ayuda a la hora de lograr
mayor
productividad
en
tu
trabajo.
Una macro es Macro un conjunto de acciones realizadas
en una hoja de clculo que van a quedar grabadas
en Excel de forma que simplemente haciendo clic sobre
la macro creada, esta se ejecuta y realiza dicho conjunto
de
acciones
o
pasos
previamente
indicados.
Se puede crear una Macro fundamentalmente de dos
maneras o bien se utiliza el lenguaje de programacin
VBA, Visual Basic para Aplicaciones, o bien se puede
simplemente grabar sin tener conocimientos de
programacin simplemente realizando una secuencia de
acciones.
En definitiva las macros sirven para automatizar tareas
repetitivas que quieras dejar grabadas porque las
realizas
con
asiduidad.

Vas a crear una macro sencilla a modo de ejemplo que


consiste en que cada vez que la ejecutes aparezca en la
celda indicada las palabras Hojas de clculo About.
Para ello los pasos a seguir son los siguientes, anmate
son
cortos
y
fciles:
1.- Abrir una hoja de clculo Excel y localizar desde
donde
trabajar
con
las
Macros.
Si tu versin es Excel 2007 o Excel 2010 antes de nada
has de activar para que se muestre la ficha Programador.
Para ello haz clic en el Botn de Office, despus en
Opciones de Excel (abajo hacia la derecha), activar con
un tic Mostrar ficha Programador en la cinta de
opciones,
Aceptar.
Si tienes Excel 2003, el paso anterior no lo tienes que
realizar, la opcin Macro la tienes en el men
herramientas.
2.-

Empezar

grabar

la

Macro.

Si estas en Excel 2007 o 2010, pincha en la ficha


Programador y luego en Grabar Macro, en Excel 2003
igual pero accediendo desde el men Herramientas,
Macro.
Lo primero que tienes que indicar es el nombre de la
Macro,
en
este
caso
escribe
MIMACRO.

A continuacin te pide Mtodo abreviado, este campo lo


dejamos
en
blanco.
Despus Guardar Macro en: Despliegas y eliges Este
libro, por ltimo puedes aadir una breve descripcin que
explique que va a realizar esta Macro, de momento no
escribas
nada.
Tras pulsar el botn Aceptar todos los movimientos que
realices
quedan
grabados.
Empezar

3.-Acciones

grabar

grabar

la

en

Macro

la

Macro.

Te sitas en
pulsas Intro
representado
versiones

A1 y escribes Hojas de clculo About,


y das al botn Detener la grabacin
con un cuadrado de color azul en unas
de
color
negro
en
otras.

4.-

Ejecutar

Borra

el

contenido

la
de

la

Macro.
celda

A1.

Pulsa el icono Macro, en la ventana que se despliega elige


la macro creada, recuerda que su nombre es MIMACRO,

pulsa

en

Ejecutar.

En la celda A1 que habas dejado en blanco vuelve a


aparecer el mensaje: Hojas de clculo About.
Ejecutar

5.-

la

Eliminar

Macro

la

Macro.

Como esto ha sido a modo de ejemplo ahora vas a borrar


o
eliminar
la
Macro.
Pulsa en el botn Macros, teniendo seleccionada la macro
a borrar haz clic en el botn Eliminar, aparece una
ventana en la que te pregunta: Desea eliminar la macro
MIMACRO?,
escoges
Si.
Para comprobarlo abre de nuevo el cuadro de dialogo
Macros y veras que no hay ninguna macro en el.

6.-Ms

datos

sobre

las

Macros.

Para dar el nombre a una Macro tienes que tener en


cuenta que no se permiten espacios en blanco en el
nombre, lo puedes solventar usando el guion.
Si quieres puedes establecer un atajo del teclado para

tu Macro indicando una combinacin de teclas que


realizara la accin establecida en la Macro, esto lo tienes
que indicar en el paso 2 cuando te peda una letra para el
Mtodo Abreviado, pero ojo que no tiene que ser una
combinacin ya existente en Excel porque te la cambia.
Ms

datos

sobre

las

Macros

En el departamento contable o de administracin


tenemos que realizar comprobaciones, conciliaciones,
estudios, etc. con los datos de los extractos bancarios.
Actualmente la mayora de entidades financieras
proporcionan la informacin bancaria en formato Excel o
simplemente puedes copiar y pegar los datos de los
movimientos bancarios desde la ventana de la banca
electrnica a una hoja de Excel. Tambin es valido el
formato Cuaderno 43, si bien una vez obtenido hay
que importarlo
a
Excel.
Pues bien en muchas ocasiones al volcar esa informacin
en Excel se crean filas completamente vacas que no te
sirven para nada y necesitas eliminar sin mas.
Para realizar dicha operacin, eliminar filas vacas,
puedes guardar una Macro en Excel, en concreto yo uso
la
que
puedes
ver
al
final
del
post.
Una vez ejecutada la macro las filas te quedan seguidas

sin

datos

en

blanco

entre

ellas.

Otra de las utilidades es que al eliminar las filas


podrs realizar filtros de datos, subtotales,
dinmicas, etc., cosa que sin haberlas eliminado
podra
Te

recomiendo

que

lo

vacas
tablas
no se
hacer.

pruebes.

Macro:
Sub
For
fila
If
Cells(fila,
Rows(fila).Delete
End
Next
End

=
1
4).Value

eliminarfilavacia()
To
6000
=
""
Then
If
fila
Sub

Para sta exploracin te vers obligado a utilizar la


funcin macro de tu cmara, lentillas o mejor an, si
cuentas con la posibilidad de usar un objetivo dedicado
de alta magnificacin, los resultados sern todava de
mejor
calidad.
Al utilizar macro en cualquiera de las variables
anteriormente mencionadas, la profundidad de campo se
reduce significativamente, lo cual quiere decir que tus
zonas de nitidez sern limitadas y debes tomar en

cuenta ste factor para priorizar tu enfoque a aquellos


elementos de la composicin de mayor importancia y
significado.
Las tomas con macro tambin implican la necesaria
cercana de tu cmara (y t en consecuencia), con los
sujetos de la toma por lo que probablemente tengas que
arrodillarte e incluso arrastrarte para lograr las
imgenes. No te preocupes mucho por la estabilidad
porque aunque algunos insectos pueden mantenerse
estticos durante una eternidad, la mayora de ellos
seguramente saldrn huyendo al detectarte, por eso,
recomiendo que utilices el modo de prioridad de
velocidad de tu cmara y configures obturaciones por
arriba de 1/125 seg si las condiciones de iluminacin te lo
permiten
Uso

del

macro

Antes de ingresar al desarrollo del Lenguaje Visual Basic


para Aplicaciones, haremos una breve exposicin de
algunas herramientas del Excel que se supone son
conocidas por nuestro amable lector. Sin embargo, para
unificar criterios y con el nimo de recordar lo conocido,
haremos una exposicin de la secuencia de pasos que se
sigue para ejecutar o usar determinadas herramientas.
Este repaso nos servir tambin para mostrar dicha
secuencia usado en las versiones Excel 2003 y Excel

2007.
El objetivo de esta seccin es, entonces, refrescar al
participante de dichos procedimientos a fin de que pueda
usarlos sea durante la grabacin de macros o cuando
tenga que programar ciertas acciones que requieran del
uso de tales procedimientos. En el numeral 1
presentamos la secuencia de pasos para realizar o
ejecutar la herramienta con algunas observaciones y
comentarios. En el numeral 2 daremos algunos ejemplos
de grabacin de macros que hagan uso de determinadas
herramientas. En el numeral 3 desarrollaremos algunas
macros que nos permitan realizar algunas operaciones en
Excel de uso frecuente. Esta introduccin termina con
una breve exposicin de la filosofa de objetos en la
Programacin Orientada a Objetos (POO), tcnica
empleada
en
la
programacin
de
macros.
Usamos filtro avanzado para poder extraer, sea en una
misma hoja o en otra, ciertos registros de una base de
datos
que
cumplen
determinadas
condiciones.
Para realizar el filtro avanzado es necesario definir
previamente el rango de criterios as como conocer el
rango de datos y la celda, a partir de la cual se deben
emitir
los
resultados.
El rango de criterios debe contener en su primera fila,
los nombres de los campos (columnas) y en las siguientes
filas contener los valores o criterios del filtrado.

La imagen que se presenta en la Figura 01, nos muestran


la secuencia de pasos que se debe seguir para realizar el
filtro
avanzado.
En la ventana de dilogo Filtro avanzado seleccione
dnde desea el listado, cul es el rango de criterios y a
partir
de
qu
celda
se
debe
recibir
los
resultados.Las macros
de
Excel nos
permiten
automatizar tareas que realizamos cotidianamente de
manera que podamos ser ms eficientes en nuestro
trabajo. Una macro no es ms que una serie de comandos
o instrucciones que permanecen almacenados dentro de
Excel y que podemos ejecutar cuando sea necesario y
cuantas
veces
lo
deseemos.
si utilizas Excel frecuentemente es posible que en alguna
ocasin te hayas encontrado ejecutando una misma serie
de acciones una y otra vez. Esas acciones que haces
repetidas veces se podran automatizar con una macro.
Una macro es un conjunto de comandos que se almacena
en un lugar especial de Excel de manera que estn
siempre disponibles cuando los necesites ejecutar.
Por ejemplo, si todas las maanas creas un reporte de
ventas y en ese reporte siempre das el mismo formato a
los textos, se podra crear una macro para que lo haga
automticamente
por
ti.
Las macros se
utilizan
principalmente para eliminar la necesidad de repetir los
pasos de aquellas tareas que realizas una y otra vez.

Un lenguaje
un lenguaje
como Visual
permite

de programacin Las macros se escriben en


de computadora especial que es conocido
Basic forApplications (VBA). Este lenguaje
acceder
a
prcticamente
todas

las funcionalidades de Excel y con ello tambin ampliar la


funcionalidad
del
programa.

Pero no te preocupes si no eres un programador de


computadoras, Excel provee de una herramienta especial
que permite crear una macro sin necesidad de conocer
los
detalles
del
lenguaje
de
programacin.

Aunque si aceptas el desafo y te introduces en el mundo


de la programacin VBA pronto te convertirs en un
Ninja de Excel. Vers que crear una macro en Excel no
es tan complicado y ser una manera fcil y rpida de
eliminar esas tareas repetitivas que todos los das te
quitan
minutos
preciados
de
tu
tiempo.
Una macro nos ayuda a automatizar aquellas tareas que
hacemos repetidamente. Una macro es una serie de
instrucciones que son guardadas dentro de un archivo de
Excel para poder ser ejecutadas cuando lo necesitemos.
Automatizacin de tareas Seguramente ests
familiarizado con procesos de automatizacin en el

mbito industrial. Un ejemplo muy claro son las plantas


ensambladoras de automviles donde existen robots que
han sustituido tareas que antes eran hechas por
humanos. La automatizacin trajo beneficios como mayor
eficiencia y productividad de las plantas y un mejor
aprovechamiento del tiempo del personal al reducir la
cantidad de tareas repetitivas que realizaban.
De la misma manera las macros nos ayudan a eliminar
esas tareas repetitivas de nuestro trabajo cotidiano al
permitirnos utilizar mejor nuestro tiempo en el anlisis
de los datos
y en la toma de decisiones.
Cmo se ve una macro en Excel? Las macros son
escritas en un lenguaje de computadora conocido como
VBA por sus siglas en ingls (Visual Basic
forApplications). Como cualquier otro lenguaje de
computadora debemos aprender a utilizar los comandos
que nos ayudarn a indicar a Excel lo que deseamos hacer
con
nuestros
datos.
Aprender el lenguaje VBA no es nada complicado y se
puede lograr fcilmente. Lo que toma un poco ms de
tiempo es pulir nuestras habilidades de programacin. Lo
que quiero decir con esto es que para ser un buen
programador de macros debes dedicar tiempo en
resolver mltiples problemas en donde puedas llevar al
lmite
el
lenguaje
VBA.
Creacin de una macro Las macros se crean con el Editor
de Visual Basic el cual nos permitir introducir el cdigo

con las instrucciones que sern ejecutadas por la macro.


Existe otro mtodo que es utilizar la Grabadora de
macros la cual ir grabando todas las acciones que
realicemos en Excel hasta que detengamos la grabacin.
Una vez grabada la macro podremos reproducir de
nuevo
las
acciones
con
tan
solo
un
clic.
En una consolidacin Procedimiento para grabar una
macro:
En
Excel
2003:
Puede
usar
una
de
las
siguientes
opciones:

Activar la barra de herramientas de Visual Basic y


hacer clic en el botn <Grabar nueva macro>.

Puede usar la secuencia <Herramientas> - <Macro> <Grabar nueva macro>.

En

Excel

Debe

tener

Hacer

clic

activada
en

Grabar

la

2007:
ficha

macro

del
del

Programador.
grupo

Cdigo

A continuacin y en ambas versiones, debe dar nombre a


la macro (sin dejar espacio en blanco); ingresar una tecla
para el mtodo abreviado y verificar dnde desea grabar
la macro: en el libro actual, en un nuevo libro o en el libro
de
macros
personal.

Ahora ya debe realizar todas las operaciones que desea


que
haga
la
macro
Al final (y sin hacer otra cosa) debe detener la grabacin
de la macro haciendo clic en un pequeo botn que se
dispone en Excel 2003 o en el icono que aparece en el
lado izquierdo de la barra de estado en Excel 2007.
Ahora s pasemos a los ejemplos de aplicacin de macros.
Ejemplo
Grabe una macro que permita consolidar datos de
proyecciones mensuales, cada una de las cuales est en
una
hoja
diferente.
Para
ello
abra
el
archivo Proyecciones.xlsx.
Antes de iniciar la grabacin verifique lo siguiente:

Los rangos a ser consolidados tienen la misma


estructura en todas las hojas, aunque la cantidad de
filas puede no ser la misma

Para mayor facilidad al ingresar los rangos, sera


bueno usar nombres de rangos y no rangos mismos.
Para ello ya hemos dado nombre a cada uno de ellos.

Se debe tener cuidado de ordenar las hojas ya que


el Excel ordena alfabticamente los rango de
consolidacin en la lista <Agregar>.

Abra el archivo Proyecciones.xls. Ubquese en la hoja


<Anlisis

de

ventas>

El nombre de la macro es MacCons01; el mtodo


abreviado

es

<CTRL>

<k>

Solucin
Antes de iniciar la grabacin de la macro, daremos
nombre a cada uno de los rangos. Puesto que el rango es
el mismo, dmosle nombre Mes01 a Enero, Mes02 a
Febrero,
Durante

etc.
la

grabacin

de

la

macro,

en el

cuadro

de referencia, digite el nombre del rango de cada hoja y


haga

clic

en

<Agregar>.

A continuacin active las opciones de Fila superior y


columna

izquierda.

Luego

detenga

la

grabacin.

Para ejecutar la macro debe eliminar los rangos


consolidados

de

la

ventana

de

consolidacin.

http://hojasdecalculo.about.com/od/Excel_avanzado/ss
/Crear-Y-Usar-Una-Macro.htm
http://www.fernocas.com/opositores/temarios_apuntes/
documentos/excel.pdf

You might also like