Está en la página 1de 59

/ 2

ua rctica

VERSION 98
Instituto Nacional de
Estadstica e Informtica

PUBLICACIONES
Gua Prctica de Autoaprendizaje de Word Perfect
Computadoras, Comodidad y Seguridad
Gua Prctica de Autoaprendizaje de Microsoft Word
Las Computadoras en la Sociedad
Mis Primeros Pasos en Informtica
Gua Prctica de Autoaprendizaje de Astound
Gua Prctica de Autoaprendizaje de Microsoft Excel
Navegando en Internet
El Mundo del Software
Gua Prctica de Autoaprendizaje de Qpro
Gua Prctica de PowerPoint
Gua Prctica de Autoaprendizaje - Microsoft Exchange
Gua Prctica de Microsoft Netscape
Gua Prctica de Visual Fox Pro
Gua Prctica de Autoaprendizaje - Diseo de Pginas Web
Gua Prctica de Autoaprendizaje de FrontPage
Gua Prctica de Power Builder
Gua Prctica de Windows 95
Gua Prctica de Autoaprendizaje - PageMaker
Gua Prctica de Autoaprendizaje - Photoshop
Gua Prctica de Autoaprendizaje - CorelDraw
Gua Prctica de Autoaprendizaje - Word (Versin 97)
Gua Prctica - Visual Basic
Gua Prctica - Project 98
Gua Prctica - Cmo Automatizar las Tareas Rutinarias con
Excel Macros

G UIA P RACTICA - C OMO A UTOMATIZAR LAS T AREAS R UTINARIAS CON E XCEL M ACROS
- PUBLICACION N36 - EDICION 99

Elaborado por: SUB-JEFATURA DE INFORMATICA - Direccin Tcnica de Desarrollo Informtico -


Coleccin Informtica Fcil.

Telfono : 433-4223 - Anexos 314 - 315


TeleFax : 433-5568
E-Mail : INFOINEI@INEI.GOB.PE
W.E.B. : Http:\\ WWW.INEI.GOB.PE

Impreso en los Talleres de la Oficina de Impresiones de la Oficina Tcnica de Difusin Estadstica y


Tecnologa Informtica del Instituto Nacional de Estadstica e Informtica (INEI)

Edicin : 500 Ejemplares


Domicilio, Redaccin y Talleres : Av. Gral. Garzn N 658 - Jess Mara
Orden : N 362- 0I - OTDETI - INEI
2 resentacin

El Instituto Nacional de Estadstica e Informtica como


ente rector del Sistema Nacional de Informtica, presenta el
Trigsimo Sexto Nmero de la Coleccin Informtica Fcil
Fcil,
titulado Gua Prctica - Cmo Automatizar Tareas Rutinarias
con Excel Macros.

Excel Macros es una gua que est diseado para ayudar a los
usuarios a mejorar su eficacia en el trabajo rutinario, automa-
tizando las tareas, constituyendo asi una herramienta de uso
importante. Una macro es una serie de comandos que realizan
las tareas rutinarias automticamente. Registrando sus propias
macros, puede resolver sus propias necesidades y trabajar ms
eficientemente. Por ejemplo, si utiliz la misma disposicin de
paginacin para cada informe generado, a fin de evitar hacer
los mismos pasos de progresin en cada documento, se crea
una macro modificada para requisitos particulares, ordenar e
instalar la paginacin con slo presionar unas teclas y ejecu-
tarlas.

En la presente publicacin se explica cmo crear, grabar,


ejecutar una macro, ejemplos de macros, entre otros.

El Instituto Nacional de Estadstica e Informtica, pone a


disposicin la presente Gua Prctica de Informtica Fcil, con
el propsito de contribuir al conocimiento y desarrollo de la
cultura informtica en el pas.

Econ. Flix Murillo Alfaro


Jefe
INSTITUTO NACIONAL DE
ESTADISTICA E INFORMATICA
+ ontenido

Captulo 1 - Conceptos Generales

CQu es Automatizar una Tarea Rutinaria? ........................... 9


CPara Empezar a Desarrollar su Propia Macro,
puede Hacer estos cinco Pasos .................................... 10
CCmo Crear una Macro? ......................................... 11
CCmo Ejecutar una Macro? ....................................... 12

Captulo 2 - Macros

CIntroduccin a Visual Basic para Excel .............................. 15


CComandos Visual Basic para Excel .................................. 17
CBarra de Herramientas de Visual Basic para Excel .................... 18
CQu son Mdulos ................................................. 20
CEjecutar una Macro ............................................... 24
CGrabar una Macro ................................................ 24
CCopiar una Macro ................................................ 26
CCajas de Dilogo ................................................. 27
CManejo de Funciones y Comandos Automticos ...................... 30
CAlgunas Funciones de Visual Basic .................................. 32
CProgramando Macros ............................................. 34
GAadir Bordes Gruesos ........................................ 34
GCentrar ..................................................... 35
GCambiar a Negritas .......................................... 35
GEscribir Das de la Semana .................................... 36
GEstablecer la Funcin Suma ................................... 36
GCambiar Frmulas a Valores ................................... 37
GControlar Maysculas/Minsculas ............................... 37
GEliminar Espacios en Celdas ................................... 38
GCerrar Todos los Libros ....................................... 38
CEjemplos de Aplicacin ............................................ 39
Captulo 3 - Macros y los Virus

CVirus y Macros de Libro ........................................... 47


CCmo Remover Macros que no son Virus .......................... 48
CMacrosVirus Irremovibles ........................................... 49
CExaminar los Libros en Busca de Macros que puedan Contener Virus ... 50
CPalabras Claves de Visual Basic para Excel .......................... 51

Glosario Visual
1 ntroduccin

Las macros de Excel permiten automatizar tareas que normal-


mente se realizan repetidas veces. Una macro consiste en una serie
de comandos e instrucciones de Excel que se agrupan en un solo
comando de forma que la tarea pueda realizarse automticamente.
En lugar de perder el tiempo realizando una serie de acciones
repetitivas en Excel, puede crear y ejecutar una macro, es decir,
un comando personalizado, que ejecute la tarea por usted.

A continuacin se indican algunos usos tpicos de las macros:

MAcelerar las tareas rutinarias de modificaciones y formatos.


MCombinar varios comandos.
MHacer que una opcin de un cuadro de dilogo sea ms
accesible.
MAutomatizar series de tareas complejas.

Excel incluye dos mtodos para crear macros: La grabadora


de macros y el Editor de Visual Basic. La grabadora de macros
puede ayudarle a obtener los conocimientos fundamentales para
la creacin de macros. Excel graba la macro como una serie de
comandos de Excel utilizando el lenguaje de programacin de
Visual Basic para aplicaciones. Las macros grabadas se pueden
abrir en el Editor de Visual Basic para modificar las instrucciones.
El Editor de Visual Basic tambin puede crear macros flexibles y
eficaces con instrucciones de Visual Basic que no se pueden
grabar. Para obtener ms informacin acerca de la utilizacin de
Visual Basic en Word, consulte Referencia de Visual Basic para
Microsoft Excel en la ficha Contenido de la Ayuda.
1 C ONCEPTOS G ENERALES

QUE ES AUTOMATIZAR UNA


TAREA RUTINARIA?

Esto es tan frustrante!. Cada semana tengo que hacer


este trabajo de modo que mi compaero pueda obtener
su reporte. Y toma demasiado de mi tiempo! Debe haber
una mejor manera!.

Si alguna vez se ha encontrado en esta situacin, ya existe una solucin


para usted: la creacin de una macro para aplicaciones con Microsoft

S
Visual Basic. Para crear una macro no necesita saber programacin
programacin, ya
que es muy sencillo. De hecho, la mayora de las macros pueden
i ejecuta fre- crearse siguiendo unos simples pasos, similares a los que realiza para
cuentemente una ta- imprimir los reportes semanales. Microsoft Excel descifra los detalles
rea en Microsoft Excel, (como el nombre del filtro a usarse) y crea el cdigo Visual Basic
puede automatizarla necesario. Incluso es posible vincular la macro a un botn de la barra
mediante una macro. de herramientas, de forma que los complicados reportes semanales se
conviertan en una actividad tan sencilla como imprimir o hacer click
Una macro consiste en
en un botn.
una serie de coman-
dos y funciones que
se almacenan en un
Lo que estoy haciendo ahora puede no ser muy eficien-
mdulo de Visual
te, pero no deseo usar mucho tiempo aprendiendo cmo
Basic y que puede eje-
escribir Visual Basic. Slo deseo ver mi trabajo termina-
cutarse siempre que
do.
sea necesario ejecutar
la tarea. Una macro se Una macro, segn la definicin encontrada en los manuales de Excel,
graba igual que se es una secuencia de instrucciones que le indican a Excel qu debe
graba msica en un hacer, y ste las ejecuta automticamente. Por medio de las macros
cassette. A continua-
podemos automatizar tareas repetitivas y aquellas en las que se requiere
cin, se ejecuta la
una cantidad considerable de pasos complejos. Y, aunque se requiere
macro para que repi-
de un poco de conocimientos de programacin, se puede realizar una
ta los comandos.
gran cantidad de tareas usando instrucciones sencillas, y todo sin saber
programar. As que, por qu no aprender un poco acerca de ellas?

Gua Prctica - Cmo Automatizar Tareas con Excel Macros '


PARA EMPEZAR A DESARROLLAR SU PROPIA
MACRO, PUEDE HACER ESTOS CINCO PASOS

1.Del men Herramientas seleccionar


en la opcin Macro
Macro, luego hacer
un click en la sub-opcin Grabar
Nuevo Macro
Macro.

2.Introduzca un nombre para la macro


o use el nombre provedo.

3.En la caja de almacenamiento macro,


hacer un click en el lugar en donde
desea almacenar la macro. Si elige
guardarla como archivo global, la

R
macro estar disponible siempre
que use Microsoft Excel, y no slo

ecuerde que cuando use la hoja de clculo


para desarrollar una especfica donde la cre.
macro es sencillo y
no necesita de saber 4.Hacer un click en el botn Acep-
programacin; por tar y entonces escribir las accio-
supuesto hay otras nes que desea grabar. Recuerde
operaciones ms que todo lo que usted escribe se
complejas que pue- guarda, incluyendo errores y cualquier
den realizarse con cosa hecha para corregirlos.
macros y Visual
Basic, pero en esta 5.Cuando haya finalizado sus ta-
gua se explicar la reas, seleccione la opcin Macro
de forma bsica para en el men de herramientas y
crear, eliminar. hacer un click en la opcin de-
Lo que se necesita tener grabacin
grabacin.
saber para ahorrar
mucho tiempo.
Es usted un usuario de Excel, versin 5.0 7.0 para
Windows 95? Si su respuesta es afirmativa, me gusta-
ra hacerle una pregunta ms: cmo se considera us-
ted respecto a esta herramienta: experto, principiante,
o un usuario moderado? La razn de la segunda pre-
gunta se debe a que, por lo general, pasamos por alto
una capacidad especfica de esta poderosa hoja de cl-
culo. Todos los usuarios conocen la mayor parte de
las funciones y tareas que se pueden realizar con esta
herramienta, pero ignoran una de las ms poderosas
caractersticas de la misma: Las macros.

 Gua Prctica - Cmo Automatizar Tareas con Excel Macros


COMO CREAR UNA MACRO?

El emplear un poco de tiempo para aprender COMO CREAR UNA


MACRO, es una actividad que le traer mltiples beneficios en el futuro.
De hecho, porque grabar una macro no requiere del conocimiento de
Visual Basic, no necesita aprender este lenguaje. Visual Basic es
necesario, slo, si usted decide modificar una macro en lugar de
regrabarla o desea crearla de la nada.

Consideremos el problema original: cada semana necesita imprimir un


reporte. El reporte tiene una vista particular, un filtro definido, es
tipificado en una manera particular, y es impreso. Generar este reporte
requiere demasiados pasos cada semana, sin mencionar que es, ms
bien, tedioso. Una macro que permita crear un reporte as, puede ser

M
muy sencilla. Veamos el cdigo de Visual Basic que hace de la macro
algo tan simple.

acros
Para crear una macro desde el principio, hacer los pasos siguientes:

1.En el men Herramientas


Herramientas, seleccionar la opcin Macro. Introducir una escri-
2.A continuacin se muestra una caja de dilogo, en el cuadro Nombre tura y editar una
de la macro
macro, escriba el nombre correspondiente. macro:
3.En la lista descendente Macros en seleccionar una de las opciones
La grabadora de
plantilla o el documento donde desea guardar la macro.
macros crea obser-
4.Hacer un click en Crear para abrir el Editor de Visual Basic.
vando lo que usted
En el editor codificar en lenguaje Visual Basic.
realiza, convirtiendo
Nota.- Si asigna a una nueva macro el mismo nombre de otra macro
estas acciones en un
integrada en Word, las acciones de la primera reemplazarn a las
cdigo en Visual Basic,
existentes. Por ejemplo, el comando Cerrar del men Archivo tiene una
y almacenando el c-
macro adjunta denominada ArchivoCerrar. Si graba una nueva macro
digo en un mdulo de
y le asigna el nombre ArchivoCerrar, se adjuntar al comando Cerrar.
Visual Basic en un li-
Al seleccionar el comando Cerrar, Word realizar las nuevas acciones bro de trabajo. Sin
que haya grabado. embargo, a menudo
es necesario persona-
lizar una macro gra-
Espaol bada o crear una nue-
Macro Visual Basic va, debido a que la
Ingls
Grabadora no siempre
graba exactamente lo
Secuencia de rdenes
que usted desea.

Gua Prctica - Cmo Automatizar Tareas con Excel Macros 


COMO EJECUTAR UNA MACRO?

Para ejecutar una macro, hacer los pasos siguientes:

12345
12345
12345
12345
12345

1.Del men Herramientas


Herramientas, selec-
cionar la opcin Macro y hacer
un click en la subopcin Macros
Macros.

12345
12345 12345
12345 12345
12345 12345
12345 12345

+ ada cdigo de-


vuelve el nmero de 12345
12345
12345
2.En el cuadro Nombre de la
12345
cdigo del primer 1234
1234 12345 macro, hacer un click en el
1234
1234
caracter del texto. nombre de la macro que
desee ejecutar.
El cdigo devuelto co-
rresponde al conjunto 3.Hacer un click en el botn
de caracteres utilizado Ejecutar
Ejecutar.
por su equipo.
Por ejemplo, se desea ejeuctar
la macro para aadir bordes
Ejemplo:
a un determinado nmero
CODIGO("A") es igual a
de celdas.
65
En la ventana de Macros se seleccion de la lista Nombre de la macro
Bordes,
CODIGO("Alfabeto") es
Luego se hizo un click en el botn Ejecutar.
igual a 65

CARACTER(65) es igual 123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789


123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
a "A" 123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
PORQUE ES IMPORTANTE HACER UNA MACRO
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
CARACTER(33) es igual 123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
Imaginemos que diariamente tenemos que arreglar una ta-
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
a "!" 123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
bla de datos ponindole colorines, formato, bordes, etc., para
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
posteriormente imprimirla, el tiempo que se demorara en
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
hacer este trabajo. Al hacer una macro que es una com-
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
binacin de instrucciones que pueden ser ejecutadas
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
automticamente con una simple pulsacin de teclas.
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789

 Gua Prctica - Cmo Automatizar Tareas con Excel Macros


2 M ACROS

Una macro es una combinacin de instrucciones que pueden ser


ejecutadas automticamente con una simple pulsacin de teclas.
La palabra macro es una abreviatura de la palabra macroinstruccin
que es lo mismo que hemos definido. En ocasiones, nos vemos en
la necesidad de realizar una serie de tareas repetitivas de forma
rutinaria. Podemos crear una macro que nos evite ese trabajo. Una
macro en s, es un pequeo programa en cdigo Visual Basic que
se graba con un nombre y que podemos invocar en cualquier
momento.

Espaol
Macro Visual Basic
Ingls

Secuencia de rdenes

I
Macro es una secuencia de rdenes que se realizan con el Visual
Basic, que puede ser en Espaol o Ingls.

magina una ta-


rea rutinaria de 200 Por lo tanto las definiciones de macros:

pasos. Para ello, po- Secuencias de rdenes bajo una orden determinada
demos crear una Otro nombre Seudo-Programacin
macro que realice el Desarrollo lineal.
t r a b a j o Programa toma de decisiones.
automticamente.
Evidentemente, los Grabadora Programacin
Excel lineal
pasos de la macro Posee

deben ser los co-


rrectos, evitando Niveles
abrir y cerrar 1.Grabadora
Grabadora. Indicar a Excel hacer el programa.
Grabadora
menes y opciones Rutina (Objeto, Botn).
innecesariamente, Mdulo.
por lo que la macro .Programacin Visual Basic
2.Programacin Basic. Maneja herramientas para el
tardara ms en eje- entorno operativo de Windows.
cutarse. Desarrollo de Funciones
3.Desarrollo Funciones. Funciones de usuarios (MACRO.FUNCION)
* Suma, promedio, mximo, etc.
* Tambin se puede crear muestras propias, funciones(por
ejemplo I.G.V., en contabilidad.

Visual Basic

FO RTRAN BASIC VISUAL BASIC


Antes Hoy

Gua Prctica - Cmo Automatizar Tareas con Excel Macros !


Para entender el concepto de programacin, supngase que declaramos
un objeto llamado Suma. Este objeto requiere dos parmetros (o
datos) como mensaje para operar. En la programacin tradicional
tendramos que definir el tipo de datos que le enviamos, como por
ejemplo dos nmeros enteros, dos nmeros reales, etc. Entonces
podramos tener los siguientes curiosos resultados al enviar a Suma
dos datos:
Suma( 2, 4) => 6
Suma( Alberto, Cortez) => Alberto Cortez
Suma( %Msica1, %Msica2) => se escuchan simultneamente
las dos melodas
El polimorfismo implica que el objeto ser capaz de operar correctamente

P
con cada tipo de dato y generar un resultado predecible.

En Visual Basic presentan tres aspectos que considerar: las propiedades,


ROGRAMA-
los mtodos y los eventos.
CION: Definida por el
Con el fin de facilitar la comprensin de estos aspectos, nos
diccionario como la
referiremos a una analoga con algn objeto de la vida diaria: una
informacin necesaria
televisin conectada a una videograbadora. Las propiedades representan
para que un sistema
los ajustes bajo los cuales opera el equipo: el volumen, el brillo de
de informacin lleve a
cabo una tarea, las la imagen, la saturacin de color, el tamao vertical y horizontal de
rdenes se traducen la imagen. Los eventos son las acciones o comandos que puedo
a un lenguaje sim- ejecutar sobre el aparato: presionar el botn de encendido, presionar
blico o cdigo que el botn de avance de cinta, presionar el control para el cambio
es capaz de ser en- de hora, mover el control de volumen. En el caso de VB el programa
tendido por un responde a los eventos por medio de procedimientos que se programan
compilador y ste a en forma tradicional. La principal dificultad consiste en seleccionar
su vez lo traduce las el evento correcto para la accin deseada (en ocasiones inadvertidamente
instrucciones a len- se puede provocar una cascada de eventos: dentro del proceso de
guaje de mquina. un evento se activa otro evento que a su vez activa al primer evento
que activa al segundo evento etc.).
Y, por ltimo, los mtodos son los procesos internos que ocurren en
el aparato (procedimientos) en respuesta a un comando: al presionar
el botn de avance de la cinta, se activa un motor, se activa el
contador, se lee y transmite la imagen de la cinta a la televisin,
etc. El programador de VB no tiene acceso a la codificacin de los
mtodos, slo los usa. En VB tenemos como ejemplo el mtodo
FindFirst (parmetro) que al aplicarse a un objeto de base de datos
localiza la primera ocurrencia del dato especificado en el parmetro.

Modo de Programar
Enfocar el problema en modo Lgico (Mdulo)

Aplicar el lenguaje Escribir lnea * lnea el programa

Algoritmo Listado
(Lenguaje)

" Gua Prctica - Cmo Automatizar Tareas con Excel Macros


INTRODUCCION A
VISUAL BASIC PARA EXCEL
Tipos de estructuras de programacin

Se define como estructura de un programa, la forma establecida como


fluyen las rdenes o comandos en el momento de su ejecucin.

Las estructuras pueden ser: Lineales, condicionales y repetitivas.

E
1. Estructura lineal
Cuando la ejecucin del programa sigue una secuencia simple de
arriba hacia abajo, de la primera a la ltima lnea de rdenes, sin STILOS DE
ninguna desviacin.
PROGRAMACION

Cada programador tie-


Por ejemplo: Entrar a la bodega
ne su propio estilo para
Pedir 1 Kg. Azcar blanca
escribir. Un buen esti-
Pagar el importe
lo para programar de-
Salir de la Bodega.
ber tener una estruc-
tura de cdigo fcil de
2. Estructura repetitiva
entender, no slo para
Cuando se plantea la repeticin de un conjunto de rdenes, hasta otra gente sino tam-
que deje de cumplirse cierta condicin o afirmacin. bin para si mismo.
Aqu hay varios crite-
Por ejemplo: Entrar a la bodega rios para un buen es-
Hasta completar lista tilo:
hacer pedido 1. Nombres significa-
Bucle (repetir) tivos para variables,
Pagar el importe de todo lo solicitado controles, y procedi-
Salir de la Bodega. mientos.
2.Identacin (sangras)
y espacios apropiados
ESTRUCTURAS DE LOS en el cdigo.
3.documentar el cdi-
PROGRAMAS go (poner comentarios
para aclarar).
Tipos de estructurad de los programas: 4.Mdulos adaptables.
Lineal
Lineal.- Una tras otra lnea en forma secuencial. 5.Minimizar el acopla-
Bifurcacin
Bifurcacin.- Un camino se abre en dos, Funcin SI miento.
Simple
Simple.- Un camino se abre en dos posibilidades 6.Minimizar alcance de
Mltiple
Mltiple.- Un camino se abre en N posibilidades los datos hasta donde
Repetitivas
Repetitivas.- Controla que determinados procesos sea posible.
se efecten adecuadamente.

Gua Prctica - Cmo Automatizar Tareas con Excel Macros #


Definicin de Algunos Comandos
Declaracin
Palabras Claves o
(Enunciados) Definicin Al escribir las lneas Azul (palabra clave).
del programa,
tener en cuenta
Verde (comentario).
* No es INICIALIZACION
lo siguiente: Rojo (error).
Ejemplo: Public. Sueldo (de uso global)

Las instrucciones condicionales.- Evalan si una condicin es True o


False y a continuacin especifican las instrucciones a ejecutar en
funcin del resultado. Normalmente, una condicin es una expresin
que utiliza un operador de comparacin para comparar un valor
o variable con otro.

U
9If...Then...Else:
If...Then...Else: Salto a una instruccin cuando una condicin es
True o False
na variable o 9Select
Select Case: Seleccin de la instruccin a ejecutar en funcin de
constante definida
un conjunto de condiciones.
desde dentro de un
procedimiento no es Bifurcacin
visible fuera de ese IF.............THEN FOR.....TO.....
.............
procedimiento. Slo
.........
............. .........
......... N Rutinas
............. Rutinas
el procedimiento que .............
.........

contiene la declara- ENDIF


NEXT

cin de la variable MULTIPLE


SIMPLE
puede usarlos. En el
siguiente ejemplo, el Utilizar bucles para repetir cdigo
cdigo.- Es posible ejecutar un grupo de
primer procedimien- instrucciones de forma repetida. Algunos bucles repiten las instrucciones
to presenta un cuadro hasta que una condicin es False, otros las repiten hasta que la
de mensaje que con- condicin es True. Hay tambin bucles que repiten un conjunto de
tiene una cadena de instrucciones un nmero determinado de veces o una vez para cada
texto. El segundo objeto de una coleccin.
procedimiento pre-
9Do...Loop:
Do...Loop: Seguir en el bucle mientras o hasta una condicin sea
senta un cuadro de
True
mensaje en blanco ya
9For...Next:
For...Next: Utilizar un contador para ejecutar las instrucciones un
que la variable
strMensaje es local DO CASE......... DO WHILE.....
CASO 1..... N Rutinas
para el primer proce- CASO 2 ..... N Rutinas
CASO 3 ..... N Rutinas
.........
.........
N Rutinas
.........
dimiento.
CASO N .....N Rutinas
.........

END CASE
Sub VariableLocal() LOOP
Dim strMensaje As MULTIPLE REPETITIVA
String
Visual Basic
strMensaje = "Esta
variable no se pue- Visual Basic. Gira alrededor
en lo que es objeto con
Libro
Hoja
elementos cambiantes Celda (rango)
de usar fuera de este
Enunciados (objeto)
procedimiento." Visual Basic. Se basa en
categoras
Propiedades
Mtodos (acciones)

MsgBox strMensaje
Valor

Mtodo. Seleccionar la celda


End Sub Ejemplo:
con gramtica de Excel.

Sub FueraAlcance()
Secuencia
o Objeto Propiedad=Valor (ancho de
Esquema celda)
MsgBox strMensaje No tiene el mismo valor.
Asigna

End Sub
XL Medium
XL Thick

$ Gua Prctica - Cmo Automatizar Tareas con Excel Macros


COMANDOS VISUAL BASIC
PARA EXCEL

El lenguaje de programacin Visual Basic difiere de todos los anteriores


en varios aspectos.
El primer punto de diferenciacin.- Es la existencia de categoras de
comandos (niveles). As tenemos:

L
Funciones,
Enunciados,
Objetos, a
Mtodos, automatizacin (an-
Propiedades, tes llamada
Se agrupan todas las palabras clave u rdenes que reconoce el automatizacin OLE)
lenguaje. Ver listado de comandos usuales. es una de las carac-
tersticas del
Component Object
El segundo punto.- La sintaxis del Visual Basic exige respetar un cierto
Model (COM), una
orden en la escritura de cada comando. As por ejemplo, primero se
tecnologa estndar
debe mencionar el objeto, el mtodo y luego la propiedad que
en la industria usada
queremos cambiar de l, separndolos con puntos. Por ejemplo:
por las aplicaciones
para revelar sus ob-
CeldaActiva.Seleccionar
jetos a las herramien-
.AlineacinHorizontal=xlCentrar
tas de desarrollo, len-
guajes de macros y
COMANDOS VISUAL BASIC MAS USADOS otras aplicaciones
que sean compatibles
Funciones: Abs, Ahora, Choole, Dir, Error, Esnulo, Espacio, Fecha, Val
con la
automatizacin. Por
ejemplo, una aplica-
Mtodos:
cin de hojas de cl-
Abrir, Activar, Agregar, AjustarAutomticamente, AnularSeleccin,
culo puede revelar
Autoformato, Autorellenar, Bordes, Copiar, CuadrosEdicin,
una hoja de clculo,
CuadroDilogo, CuadrosTexto, Desviar, Hojas, HojasSeleccionadas,
un diagrama, celda o
Lenarhaciaabajo, Mostrar, Pegar, Rango, Ventanas
rango de celdas, cada
una como un tipo di-
Objetos: ferente de objeto. Un
Aplicacin, Borde, Bordes, Botn, Botones, CuadroEdicin, procesador de textos
CuadrosEdicin, CuadrosTexto, Dilogo, Dilogos, Fuente, HojaClculo, puede revelar objetos
Rango, Ventana como una aplicacin,
un documento, un
Propiedades: prrafo, una frase, un
AlineacinHorizontal, AnchoColumna, Seleccin, VentanaActiva marcador o una se-
leccin.
Enunciados:
Con, Dim, Fin, Proced

Gua Prctica - Cmo Automatizar Tareas con Excel Macros %


BARRA DE HERRAMIENTAS DE
VISUAL BASIC PARA EXCEL
La barra de herramientas Visual Basic para Excel contiene botones que
le ayudan a trabajar con el cdigo en los mdulos.

Botn Insertar Mdulo


Inserta un mdulo de Visual Basic nuevo en el libro de trabajo
activo.

Botn Ejecutar Macro


Presenta el cuadro de dilogo Macro para que pueda selec-
cionar y ejecutar una macro.
Ejecutar Sub/UserForm Ejecuta el procedimiento actual si
el cursor est situado en un procedimiento o ejecuta el

L
formulario si ste est activo actualmente. Este comando se
convierte en el comando Continuar cuando est en modo

a barra de he- de interrupcin.

rramientas del editor


de Visual Basic en El modo de interrupcin.- Suspensin temporal de la ejecucin
excel se encuentra de un programa mientras est en la etapa de desarrollo. En
en la parte superior. el modo interrumpir, se puede examinar, depurar, volver a
configurar, incrementar o continuar una ejecucin. Se entra
Para accesar a ella se- en modo interrumpir:
leccionar la sub op-
cin Editor de Visual Al encontrar un punto de interrupcin durante la ejecucin
Basic de la opcin del programa.
Macros del men Al presionar CTRL+ENTRAR durante la ejecucin del programa.
Herramientas. Al encontrar una instruccin Stop o un error de ejecucin
no detectado durante la ejecucin del programa.
Agregando una expresin Interrumpir cuando el valor sea
Verdadero. La ejecucin se detiene cuando el valor de la
expresin bajo inspeccin cambia y se convierte en True.
Agregando una expresin Interrumpir cuando el valor cambie.
La ejecucin se detiene cuando el valor de la expresin
bajo inspeccin cambie.

Botn Reanudar Macro


Reanuda la operacin de una macro despus que se haya
hecho una pausa en la misma.

& Gua Prctica - Cmo Automatizar Tareas con Excel Macros


Botn Finalizar grabacin
Detiene la ejecucin de una macro. Tambin interrumpe la
grabacin de una macro.

Botn Modo de diseo


Activa o desactiva el modo de diseo por proyecto. El
modo de diseo es el tiempo durante el cual no se ejecuta
el cdigo del proyecto ni los eventos de la aplicacin
principal o proyecto. Puede abandonar el modo de diseo
ejecutando una macro o utilizando la ventana Inmediato.

Botn Explorador de proyectos


Muestra una lista jerrquica de los proyectos y todos los
elementos contenidos y referenciados por cada uno de los
L a barra de he-
rramientas que estn
incorporadas en Vi-
proyectos.
sual Basic y el coman-
do Personalizar,
Botn ventana de propiedades
puede:
Enumera las propiedades de tiempo de diseo correspondientes
Activar y desactivar
a los objetos seleccionados y su configuracin actual.
las barras de herra-
Puede cambiar estas propiedades en tiempo de diseo.
mientas
Cuando seleccione mltiples controles, la ventana de Propiedades
Arrastrar las barras
contiene una lista de las propiedades comunes a todos los
de herramientas a di-
controles seleccionados. ferentes posiciones
en el escritorio.
Botn Examinador de objetos Depuracin.- Mues-
Permite examinar todos los objetos disponibles en el proyecto tra la barra de herra-
y ver sus propiedades, mtodos y eventos. Adems, puede mientas Depuracin
ver los procedimientos y constantes que estn disponibles que contiene botones
en las bibliotecas de objetos en el proyecto. Puede mostrar para las tareas de de-
fcilmente Ayuda en pantalla cuando examina. Puede puracin ms fre-
utilizar el Examinador de objetos para encontrar y utilizar cuentes.
objetos que ha creado y tambin objetos de otras aplicaciones. Edicin.- Muestra la
barra de herramientas
Edicin que contiene
botones para las ta-
reas de edicin ms
frecuentes.
Estndar .- Muestra la
barra de herramientas
Estndar que es la
Para crear una predeterminada.
macro:
digitar el
programa en esta
ventana.

Gua Prctica - Cmo Automatizar Tareas con Excel Macros '


QUE SON MODULOS?

Es un conjunto de declaraciones y procedimientos que realizan dife-


rentes tareas independientemente una de otras, pero tambin pueden
actuar en conjunto. Dentro de estos mdulos es donde se digitan las
macros que deseamos crear.
Cuando se crea un mdulo dentro de un libro aparece de la siguiente
manera:

A l crear mdu-
los se est creando
de una jerarqua de
mdulos de progra-
mas e interfaces en-
tre ellos.

Mdulo estndar.-
Un mdulo que con-
tiene solamente de-
claraciones y defini-
ciones de procedi-
miento, tipo y datos.
Las declaraciones y
definiciones a nivel Al grabar una macro cada accin se realiza en un mdulo que es
de mdulo de un automticamente creado, y stos se encuentran despus de la lti-
mdulo estndar ma hoja de clculo.
son Public de mane-
ra predeterminada.
Un mdulo estndar
se denomina mdu-
lo de cdigo en ver-
siones anteriores de Este Mdulo es

Visual Basic. una macro para

Mdulo de clase.- poner en negrita

Mdulo que contiene


la definicin de una
clase (sus definiciones
de propiedad y mto- Hacer un click en la lista

do). descendente y observar todas

las macros que ha grabado.

 Gua Prctica - Cmo Automatizar Tareas con Excel Macros


Sub y End Sub
Marcan el inicio y el fin de la rutina, respectivamente. De momento
no nos romperemos mucho la cabeza con las rutinas. Simplemente
tendremos una idea de cmo trata Excel las macros. En posteriores
lecciones veremos cmo modificar el cdigo de una macro a
nuestro gusto.

Ejemplo N1

Sub XXX( )
N o o lv id ar d e d ig it ar 10............... * S e p u ed e
d e c o lor A Z U L e n co lo c ar n m er o s
caso de ser - ...................
(Ejem p lo, M e nsa je: Erro r)*
a d e ter mina d as
ln eas .
P O S IT I V O ( + ) , e n ...................
E x c e l.
...................
End Sub XXX

Ejemplo N2

Sub M1( )
..................
C rear un pro-
cedimiento escri-
................... biendo cdigo
................... 1.Abra el mdulo
...................
End Sub para el que desea es-
cribir el procedimien-
Sub M2( )
.................. to.
................... Puede crear un pro-
...................
................... cedimiento Sub,
End Sub Function o Property.
2.Escriba Sub,
Function o Property.
Presione F1 para ob-
tener Ayuda con sin-
Ejemplo N3 Hacer mdulos taxis, si lo necesita.
3.Escriba el cdigo
Sub letras( ) para el procedimien-
(*)Range (a1:d6).select to.
Visual Basic finaliza el
Whith selection.font
procedimiento con la
name=Times New Roman instruccin End Sub,
size=10 End Function o End
color index=3 Property apropiada.

End With
End Sub

Recuerde:
Al ejecutar (apstrofe) automticamente esa lnea se convierte
en comentario y de color verde.

Gua Prctica - Cmo Automatizar Tareas con Excel Macros 


Para entrar o ingresar a un mdulo, hacer los
pasos siguientes:

1. Seleccionar la opcin Macros del men


Herramientas
Herramientas.
2. A continuacin, Seleccionar la sub-opcin
Editor de Visual Basic
Basic.

C rear un proce-
dimiento utilizando el
cuadro de dilogo In-
sertar procedimiento
1.Abra el mdulo
para el que desea es-
cribir el procedimien-
to.
2.En el men Insertar,
haga clic en Procedi-
miento.
3.Digitar el nombre
del procedimiento en
el cuadro Nombre del
cuadro de dilogo In-
sertar procedimiento.
4.Seleccione el tipo
de procedimiento que
desea crear: Sub,
Function o Property.

5.Establezca el alcan-
ce del procedimiento
a Public o Private.
6.Puede seleccionar
Todas las variables
locales como estti-
cas para agregar la
palabra clave Static a MODULO DE VISUAL BASIC
la definicin del pro-
cedimiento. Un mdulo de Visual Basic se usa para escribir, mostrar y editar cdigo.
7.Hacer un click en el Los mdulos almacenan cdigos a nivel de mdulo y de procedimiento.
botn Aceptar. Pueden haber varios procedimientos en un mdulo y varios mdulos en
un libro de trabajo.

Gua Prctica - Cmo Automatizar Tareas con Excel Macros


UN MODULO INCLUYE:

Barra de divisin
La barra de divisin divide un mdulo en dos secciones. Es visible
si selecciona la opcin Dividir del men Ventana.

Barra de desplazamiento
Barras de desplazamiento horizontales y verticales le permiten
desplazarse dentro del cdigo.

ESCRIBIENDO UNA MACRO MANUALMENTE

1.Para cambiar a un mdulo de Visual Basic en el libro de trabajo

L
activo, seleccionar la ficha correspondiente.
O bien:
Para crear un mdulo ubicarse en el editor de Visual Basic, luego os procedi-
en el men Insertar seleccionar la opcin Mdulo
Mdulo.
mientos tienen un es-
pacio limitado para
2.En el mdulo, escriba Proced, Funcin o Propiedad seguido por
almacenar variables.
el nombre de la macro.
Cada vez que un pro-
3.Si hay argumentos, escrbalos entre parntesis y separados por
cedimiento se llama a
un punto y coma.
si mismo, consume
4.Presionar la tecla Enter.
ms de ese espacio.
5.Digitar el cdigo.
Un procedimiento que
6.Escriba Fin Proced
Proced, Fin Funcin o Fin Propiedad y despus presionar
se llama a si mismo es
Enter
Enter.
lo que se conoce
como un procedi-
ACTIVAR Y DESACTIVAR LA VERIFICACION DE miento recursivo. Un
procedimiento
SINTAXIS PARA LOS MODULOS recursivo que se lla-
ma continuamente a
1.Del men Herramientas, seleccionar la opcin Opciones. si mismo producir fi-
2.Seleccionar la ficha General-Mdulo. nalmente un error.
3.Seleccionar el cuadro de verificacin Interrumpir en todos los erro- Por ejemplo:
res
res, o eliminar la se-
leccin. F u n c t i o n
4.Hacer un click en el Agotar(Mximo)
botn Aceptar. Agotar =
Agotar(Mximo)
End Function

Gua Prctica - Cmo Automatizar Tareas con Excel Macros !


EJECUTAR UNA MACRO

Una vez grabada, una macro puede ejecutarse en Microsoft Excel


o en el Editor de Visual Basic. Normalmente, se ejecutar la macro
en Microsoft Excel; sin embargo, puede ejecutarse desde el Editor
de Visual Basic, mientras se realiza la macro. Para interrumpir la
macro antes de que finalice las acciones que se han grabado,

A
presione ESC.

ntes de grabar
Ejecutar una macro desde un mdulo de Visual Basic
o escribir una macro,
planifique los pasos y
1.Abra el libro que contiene la macro.
los comandos que
2.Seleccionar la opcin Macro en el men Herramientas y, a continuacin,
desea que ejecute.
hacer un click en la sub opcin Macros
Macros.
3.En el cuadro Nombre de la macro,
Si se comete algn
error mientras se gra- escriba el nombre de la macro que

ba la macro, tambin desea ejecutar.


se grabarn las co- 4.Hacer un click en el botn Modificar
Modificar.
rrecciones que se 5.Hacer un click en el botn Ejecutar
realicen. Cada vez sub
sub.
que se grabe una
macro, sta se alma- Sugerencia.- Si desea ejecutar otra macro diferente mientras est
cenar en un nuevo utilizando el Editor de Visual Basic, hacer un click en la opcin Macros
mdulo adjunto a un en el men Herramientas. En el cuadro Nombre de la macro, escriba
libro. el nombre de la macro que desea ejecutar y, a continuacin, hacer
un click en Ejecutar.

Detener la ejecu- GRABAR UNA MACRO


cin de una macro

Nota Para dete- Para grabar una macro hacer los pasos siguientes:
ner una macro an-
tes de que finali- 1.Seleccionar la opcin Macro del men Herramientas y, a continuacin,
ce las acciones, hacer un click en la opcin Grabar nueva macro
macro.
presionar la tecla 2.En el cuadro Nombre de la macro
macro, digitar un nombre para la macro.
ESC. El primer caracter del nombre de la macro debe ser una letra. Los
dems caracteres pueden ser letras, nmeros o caracteres de
subrayado. No se permiten espacios en un nombre de macro; puede
utilizarse un caracter de subrayado como separador de palabras.

3.Para ejecutar la macro presionando un mtodo abreviado, escriba


una letra en el cuadro Tecla de mtodo abreviado. Puede utilizarse
CTRL+ l Letra(para letras minsculas) o CTRL+ MAYUS + letra (para
letras maysculas), donde letra es cualquier tecla del teclado. La

" Gua Prctica - Cmo Automatizar Tareas con Excel Macros


tecla de mtodo abreviado que se utilice no puede ser
ni un nmero ni un caracter especial. La tecla de
mtodo abreviado suplantar a cualquier tecla de mtodo
abreviado predeterminada en Microsoft Excel mientras
est abierto el libro que contiene la macro.

4.En el cuadro Guardar macro en, hacer un click en la ubicacin en


que desea almacenar la macro.

Si desea que la macro est disponible siempre que se utilice


Microsoft Excel, almacene la macro en el libro de macros personales

U
en la carpeta INICIAR.
Para incluir una descripcin de la macro, escriba la descripcin en
el cuadro Descripcin.
n procedi-
miento Function es
5.Hacer un click en el botn Aceptar
Aceptar.
una serie de instruc-
ciones de Visual Basic
Si se seleccionan celdas mientras se est ejecutando una macro, encerradas entre dos
sta seleccionar las mismas celdas independientemente de la instrucciones
celda que se haya seleccionado en primer lugar, ya que graba Function y End
referencias absolutas de celda. Si desea tener una macro para Function. Un procedi-
seleccionar celdas independientemente de la posicin que tenga miento Function es
la celda activa cuando se ejecute la macro, configure el grabador similar a un procedi-
de macros para que grabe referencias relativas de celda. En la miento Sub, aunque
barra de herramientas Detener grabacin, hacer un click en Referencia. una funcin puede
Microsoft Excel continuar grabando macros con referencias relativas devolver adems un
hasta que termine la sesin con Microsoft Excel o hasta hacer un valor. Un procedi-
click otra vez en Referencias relativas. miento Function
acepta argumentos,
6.Ejecute las acciones que desee grabar. como pueden ser
7.En la barra de herramientas Detener grabacin, hacer un click en constantes, variables
o expresiones que le
Detener grabacin.
pasa el procedimien-
to que efecta la lla-
Sugerencia.- Si desea tener una macro para seleccionar una celda
mada. Si un procedi-
determinada, ejecute una accin y seleccionar otra celda relativa
miento Function no
a la celda activa; cuando se grabe una macro, pueden mezclarse
tiene argumentos, la
referencias relativas y absolutas. Para grabar una macro utilizando
instruccin Function
referencias, compruebe que est activada la opcin Referencias
debe incluir un par de
relativas. Para grabar una macro utilizando referencias absolutas,
parntesis vacos. Una
compruebe que la opcin Referencias relativas no est habilitada. funcin devuelve un
valor asignndolo a
su nombre en una o
Las macros eliminan tareas repetitivas y
ms instrucciones del
crean informes automatizados. Visual Basic
procedimiento.
es el lenguaje usado para hacer estas
macros.

Gua Prctica - Cmo Automatizar Tareas con Excel Macros #


COPIAR UNA MACRO

Si hay una macro que contenga comandos que desea utilizar en otra
macro, puede copiar toda la macro o parte de ella en otro mdulo.
Tambin puede hacerse una copia del mdulo de la macro para
duplicar todas las macros que contenga.

C
G Copiar parte de una macro para crear otra

1.Abra el libro que contenga la macro que desee copiar


UANDO
USAR MACROS Y .2.Seleccionar la opcin Macro del men Herramientas y, a continuacin,
CUANDO NO: hacer un click en Macros
Macros.
3.En el cuadro Nombre de la macro, escriba el nombre de la macro
Cuando se necesita que desea copiar.
una tarea que se 4.Hacer un click en la opcin Modificar
Modificar.
realiza a diario ms 5.Seleccionar las lneas de la macro que desee copiar.
rpido y no impor- 6.Para copiar toda la macro, asegrese de que incluye las lneas Sub
ta ser repetitivo (ta- y End Sub en la seleccin.
rea grande). 7.Hacer un click en Copiar
Copiar.
8.Cambie al mdulo en el que desee situar el cdigo.
Cuando se van a ge- 9.Hacer un click en Pegar
Pegar.
nerar diversas va-
riantes del docu- Sugerencia.- Para que una macro est disponible siempre que se
mento similar. ejecute Microsoft Excel, almacene la macro en el libro de macros
personales. Como el libro de macros personales es un libro oculto
No, cuando se quie-
que siempre est abierto, si desea copiar una macro deber mostrarlo.
re el documento
compacto, evitando
repetir el mismo (en G Copiar un mdulo de una macro a otro libro
este caso, usar pro-
cedimientos). 1.Abra el libro que contiene el mdulo y el libro en que desea copiar
el mdulo.
2.Seleccionar Macro del men Herramientas y, a continuacin, hacer
un click en el Editor de Visual Basic
Basic.
3.En el men Ver, hacer un click en Explorador de proyectos.
Arrastre el mdulo que desee copiar al libro de destino.

Recuerde al crear una macro los pasos de grabar una macro de la pgina 24,
luego ubquese en la hoja que desea que vaya la macro.
Coloque o seleccione caractersticas de como van a ir las celdas filas. Por ejemplo
si desea que la fila 1 contenga un texto en negrita slo tiene que seleccionar la fila
y hacer un click en el botn negrita, observe que en la parte inferior hay un
mensaje grabando todo lo que haga en esa hoja al presionar las teclas
correspondiente se ejecutar la macro.
Para dejar de grabar la macro hacer un click en el boton del editor de VB.

$ Gua Prctica - Cmo Automatizar Tareas con Excel Macros


CAJAS DE DIALOGO

Una caja de Dilogo se utiliza para ingresar o seleccionar datos u


opciones y as poder facilitar el reconocimiento de stos, como
tambin el ingreso correcto de los mismos. Las cajas de Dilogo
tendrn que ser diseadas, por lo tanto se tendr que indicar y asignar
qu campos o datos desea utilizar.
Ejemplo:

Es un recuadro en el cual se crea elementos para poder interactuar

filtr o
U na caja de
dilogo es una ven-
Usuario
cr ea
Dilogo
Inte rfa se
Programa tana que se utiliza
Interactuar
para ejecutar cual-
quier operacin.
Ejemplo: Caja de
dilogo de Excel Esta ventana, segn
sea el caso, mues-
tra una serie de ele-
CREACION DE UNA CAJA DE DIALOGO mentos visuales que
hacen ms sencilla
1. Hacer un click en el botn Modo Diseo, en la ventana de Excel. la operacin.
Si no tiene activo seleccionar Ver >Barra de herramientas > activar
la subopcin Visual Basic. Una caja de dilogo
2. Hacer un click en el botn cuadro de controles, puede contener:
BOTONES.- Son ele-
Al activar el cuadro de controles se activa una ventana que mentos utilizados
contiene botones para Diseo la caja de Dilogo usted para poder iniciar la
crear la caja de dilogo deseada, que posteriormente cada ejecucin de una ta-
objeto insertado tendr un procedimiento la que llamar rea a partir de la caja
desde un mdulo para poder ingresar o mostrar los datos
de dilogo. En la caja
de dilogo anterior se
deseados. El formato de la hoja de dilogo aparecer de
tiene que, al utilizar el
la siguiente forma:
botn de grabar, se
registrar toda la in-
formacin propor-
cionada por el
TITULO Barra de ttulo
(+-Ventana)
usuario. Dos puntas
C A NA D A
P ER U Q hacia adentro del
IT AL IA
F RA N C IA Elem entos de la caja:
botn permiten al
B R AS IL
JA PO N
R O MA
S U IZA
A ceptar
A LE MA NI A
Com binados (cuadros).
usuario diferenciar
H U N G R IA
USA
C A RI BE

R Edicin (cuadros).
C U BA
E SP A A

Sa lir Casilla de Ver ificacin entre varios boto-


Botones de Accin
Listas nes, cual de ellos va
A yu da Botones de Com ando (aceptar, a ser utilizado.
cancelar, ayuda, salir, etc.).

Gua Prctica - Cmo Automatizar Tareas con Excel Macros %


U
Utilizacin de botones en la creacin de la caja de dilogo.

na caja de
dilogo puede conte-
ner
OPCIONES SIMPLES. Confeccin de Cajas de Dilogo Propias
Este elemento visual
est conformado por
todos aquellos com- Insertar Macro Dilogo
ponentes de un men
que tienen la forma
de texto y que nos VENTANA CUADRO DE
indican una opera-
cin a realizarse o un CONTROLES
objeto a utilizar.
Como ejemplo de Ventana cuadro de controles contiene botones que se
este elemento, tene- usan para crear formularios personalizados en hojas de
mos en la ventana clculo, grficos y hojas de dilogo.
superior la palabra
siguiente: Modo Diseo
Descripcin
Cambia al modo Diseo de formulario, en el que se
Una opcin de este
puede modificar o crear un formulario utilizando las
tipo siempre presen-
herramientas ActiveX del Cuadro de controles. Mien-
ta una de sus letras
tras se encuentra en el modo Diseo de formularios,
con ms brillo en la
este botn cambiar a Salir del modo Diseo.
pantalla, lo que sig-
nifica que se puede
Propiedades del control
acceder a sta. sim-
Cambia en el archivo las propiedades de los controles ActiveX
plemente presionan-
do dicha letra. Como o las opciones del campo de formulario seleccionado.
objetivo principal tie-
ne el de personalizar Ver cdigo
la informacin de una Abre el Editor de Visual Basic, donde pueden escribirse comandos
caja de dilogo. de Visual Basic.
CUADROS DE CHE-
QUEO. Este elemento Casilla de verificacin (Cuadro de controles)
define para una op- Crea una casilla de verificacin en una hoja de clculo, en una
cin la seleccin en- hoja de dilogo, en un grfico o en un documento o formulario.
tre dos posibilidades,
SI o NO. Est re- Cuadro de texto (Cuadro de controles)
presentada por un Crea un cuadro de edicin, en el que puede escribir texto, en
cuadrado pequeo una hoja de clculo, en una hoja de dilogo, en un grfico o en
donde se marca con un documento o formulario.
una EQUIS para indi-
car SI; o dejar en Botn de comando (Cuadro de controles)
blanco lo que indica-
Crea un botn, al que puede asignar un procedimiento de Visual
ra NO.
Basic, en una hoja de clculo, en una hoja de dilogo, en un

& Gua Prctica - Cmo Automatizar Tareas con Excel Macros


grfico o en un documento o formulario.

Botn de opcin (Cuadro de controles)


Crea un botn de opcin en una hoja de clculo, en una hoja de
dilogo, en un grfico o en un documento o formulario.
U na caja de
dilogo puede conte-
ner:
Cuadro de lista (Cuadro de controles) M CAJA DE SELECCIO-
Crea un cuadro de lista en una hoja de clculo, en una hoja de NES. Este cuadro
dilogo, en un grfico o en un documento o formulario.
dentro de la caja de
dilogo, nos permi-
te seleccionar una
Cuadro combinado (Cuadro de controles)
posibilidad, de va-
Crea una combinacin de cuadro de lista desplegable y de cuadro de
rias, para una deter-
edicin en una hoja de clculo, en una hoja de dilogo, en un grfico o minada opcin. Este
en un documento o formulario. elemento tambin
es de tipo exclusi-
Etiqueta (Cuadro de controles) vo y tiene como fi-
Crea una etiqueta de texto en una hoja de clculo, en una hoja de nalidad personalizar
dilogo, en un grfico o en un documento o formulario. la informacin.
Dentro de este cua-
dro se muestran las
Ttu lo
posibilidades, orde-
nadas de arriba ha-
(T i tle )
INGRESO DEL LOGOTIPO
T e x to : C u adr o d e Ed ic i n
(E d i t Bo x ) cia abajo o de iz-
quierda a derecha y
A ce p t ar
l T t ul o
L im p iar B o t n
Fi g ur a
S alir
(B o tto n)
a la izquierda de
cada una de ellas,
B o t n d e O p cin
(O pti o n b ut ton s ) un pequeo crculo.
Para elegir una po-
sibilidad de la op-
Macro Funciones
cin, sta debe
marcarse con la ba-
En ingls En espaol rra espaciadora y el
Funtion Areas (largo, ancho) crculo contendr
Funcin Areas (largo, ancho)
un punto en su in-
if largo=ancho
Si largo=ancho entonces
msgbox Es un cuadrado Cuadro Msj Es un cuadrado terior.
Area=ERROR
Areas=ERROR
else
si otro
ASPAS DE SELEC-
AREA1=largo*ancho
End If
AREA1=largo*ancho CION. Esta opcin
Fin Si
End Funtion
se utiliza para mar-
Fin Funcin
car una referencia,
indicndonos si-
tuaciones de reali-
Cada uno de los elementos que puede integrar la caja de dilogo, pueden zacin, Por ejemplo,
tener dos estados de comportamiento dentro de la caja de dilogo a la que
si encontramos esta
pertenece.
Disponible .- Que indica que la opcin est activa, pudindose acceder a aspa, no indicar
ella en cualquier momento presionando siempre la letra resaltada que lo que el elemento al
identifica. que pertenece ha
No disponible.- Debido a la interoperabilidad y las relaciones de sido considerado.
dependencia que puedan existir entre las distintas opciones de una caja de
dilogo, es probable que una opcin este imposibilitada para se utilizada.

Gua Prctica - Cmo Automatizar Tareas con Excel Macros '


Ejecutar una macro desde un mtodo abreviado

1. Seleccionar Macro en el men Herramientas y, a continuacin,


hacer un click en la opcin Macros.
2. En el cuadro Nombre de la macro
macro, escriba el nombre de la
macro a la que desea asignar un mtodo abreviado.
3. Hacer un click en Opciones.
4. Para ejecutar la macro presionando una tecla de mtodo
abreviado, escriba una letra en el cuadro Tecla de mtodo
abreviado. Puede utilizarse CONTROL+ letra o CONTROL+ MAYS

C
+ letra, donde letra es cualquier tecla del teclado. La tecla
de mtodo abreviado suplantar a cualquier tecla de mtodo
mo evitar
abreviado predeterminada en Microsoft Excel mientras est
problemas con las
abierto el libro que contiene la macro.
teclas de mtodo
abreviado.
Para incluir una descripcin de la macro, escriba la descripcin en
el cuadro Descripcin.
Si existen dos hojas
de macros que con-
tiene macros con las 5. Hacer un click en el botn Aceptar.

mismas teclas de 6. Hacer un click en el botn Cancelar


Cancelar.
mtodo abreviado,
Excel ejecutar el Ejecutar una macro desde un botn o un control grfico
macrocomando de la
hoja de macros cuyo Puede asignar una macro a un botn, a un objeto de dibujo o a un
nombre aparece pri- control grfico en la hoja de clculo. Si hace un click en el botn
mero en orden u objeto de dibujo o se cambia el control, por ejemplo, haciendo
alfabtico. Cuando click en una casilla de verificacin o un elemento de una lista, la
asigne teclas de m- macro se ejecutar de forma automtica.
todo abreviado, ase-
grese de evitar con- Tambin puede ejecutar una macro de un control ActiveX. Para
flictos con las dems obtener ms informacin acerca de cmo crear un control ActiveX,
hojas de macros que haga clic en .
utilice.
1. Hacer un click en el botn o el control grfico para que
aparezcan los controladores de seleccin.
Escritura de un
2. Hacer un click en el controlador de seleccin del botn o del
macrocomando.
control grfico y, a continuacin, hacer un clicK en Asignar
Macro en el men contextual.
Tambin se pueden
3. Para asignar una macro ya existente al botn o al control
introducir las frmu-
grfico seleccionado, escriba el nombre de la macro en el
las de un
cuadro Nombre de la macro y luego hacer un click en el
macrocomando direc-
botn Aceptar.
tamente en una hoja
de macros sin necesi-
dad de grabar. Para grabar una nueva macro y asignarle el botn u objeto
grfico, hacer un click en Grabar.

! Gua Prctica - Cmo Automatizar Tareas con Excel Macros


Ejecutar una macro desde un botn de la barra de herramientas

Puede ejecutarse una macro desde un botn, desde una barra de herramientas integrada
o desde una barra de herramientas personalizada.

1. Del men Herramientas


Herramientas, hacer un click en Personalizar.

2. Si la barra de herramientas que contiene el botn no es visible, hacer un click en la


ficha Barra de herramientas y, a continuacin, seleccione la casilla de verificacin que
aparece junto al nombre de la barra de herramientas.
3. Si el botn que desea utilizar para ejecutar la macro no pertenece a la barra de
herramientas, hacer un click en la ficha Comandos y, a continuacin, hacer un click en
Macros en la lista Categoras. En la lista Comandos, arrastre el botn Personalizar a una
barra de herramientas.

4. Hacer un click en el botn de la barra de herramientas y, a continuacin, hacer un click


en Asignar Macro en el men contextual.
5. En el cuadro Nombre de la macro
macro, escriba un nombre para la macro.

Ejecutar una macro desde un rea, zona interactiva o un objeto grfico

1. Crear un objeto grfico.


2. Dibujar otro objeto grfico sobre el primero en el lugar en que desee crear una zona
interactiva.
3. Con el segundo objeto grfico todava seleccionado, hacer un click con el botn
secundario en el controlador de seleccin del botn o del objeto grfico para ver el men
de mtodo abreviado.
4. En el men contextual, hacer un click en Asignar macro
macro.
5. Para asignar una macro al botn o control grfico, escriba el nombre de la macro en
el cuadro Nombre de la macro y, a continuacin, hacer un click en el botn Aceptar.

Para grabar una nueva macro y asignarla al objeto grfico seleccionado, hacer un click
en Grabar
Grabar. Cuando finalice de grabar la macro, hacer un click en Detener grabacin que
se ubica en la barra de herramientas Grabar macro
macro.

6. En el men Formato, hacer un click en Autoforma y, a continuacin, hacer un click en


la ficha Colores y lneas.
7. Bajo Rellenar, hacer un click en Sin relleno en el cuadro Color. Bajo Lnea, hacer un click
Sin lnea en el cuadro Color.
8. Repita los pasos del 2 al 7 para cada zona interactiva que desee crear.

Gua Prctica - Cmo Automatizar Tareas con Excel Macros !


ALGUNAS FUNCIONES
DE VISUAL BASIC

En seguida se muestran algunas funciones interconstruidas de Visual


Basic. Una funcin es un procedimiento que devuelve un valor.

ARCHIVO

U
FileAttr
FileAttr - Devuelve informacin del sistema operativo acerca
dl archivo que esta abierto.
n procedi- FileDateTime
FileDateTime - Devuelve una cadena de caracteres que
miento Function es indican la fecha y la hora de la ltima modificacin del archivo.
una serie de instruc-
FileLen
FileLen - Devuelve un entero largo que indica la longuitud en
ciones de Visual Basic
bytes de un archivo .
encerradas entre dos
FreeFile
FreeFile - Devuelve el siguiente numero de archivo valido que
instrucciones
no esta en uso.
Function y End
GetAttr
GetAttr - Devuelve un entero qu indica los atributos de un
Function.
archivo, directorio, o etiqueta de volumen.
Loc - Devuelve la posicin actual en un archivo abierto.
Loc
Instruccin.-Una
LOF
LOF - Devuelve el tamao en bytes de un archivo abierto.
u n i d a d
sintcticamente Seek
Seek - Devuelve la posicin del archivo actual.
completa que expre- NMERO
sa un tipo de accin,
declaracin o defini- Abs
Abs - Devuelve el valor absoluto de un nmero.
cin. Normalmente Atn
Atn - Devuelve el arcotangente de un nmero.
una instruccin tiene Cos
Cos - Devuleve el coseno de un ngulo (ngulo en radianes).
una sola lnea aunque Sin
Sin - Devuelve el seno de un ngulo (ngulo en radianes).
es posible utilizar dos
puntos (:) para poner
ms de una instruc- CADENA
cin en una lnea.
Tambin se puede InStr
InStr - Devuelve la posicin de la primera ocurrencia de una
utilizar un carcter de cadena dentro de otra cadena de caracteres
continuacin de lnea LCase, LCase$ - Devuelve una cadena de caracteres en la
LCase,
(_) para continuar una cul todas las letras han sido convertidas a minsculas.
sola lnea lgica en Left, Left$ - Devuelve los n cacarteres a la izquierda de un
Left,
una segunda lnea f-
cierto argumento. (cadena).
sica.
Len
Len - Devuelve el nmero de caracteres en una expresin de
cadena o el nmero de bytes necesarios para almacenar una
variable.
LTrim, LTrim$ - Devuelve una copia de una cadena eliminando
LTrim,
todos los espacios en blanco.
Mid, Mid$ - Devuelve una cadena qu es parte de una cadena.
Mid,
Right, Right$ - Devuelve los n caracteres ms a la derecha
Right,

! Gua Prctica - Cmo Automatizar Tareas con Excel Macros


de un argumento determinado.
RTrim, RTrim$ - Devuelve una copia de la cadena de caracteres
RTrim,
con los espacios de la derecha eliminados.
Space, Space$ - Devuelve una cadena que consiste de un
Space,
nmero especifico de espacios.
Trim, Trim$ - Devuelve una copia de una cadena con los
Trim,
espacios de ambos lados eliminados.
UCase, UCase$ - Devuelve una cadena con todas las letras
UCase,
convertidas a maysculas.

HORA/FECHA

Date, Date$ - Devuelve la fecha actual..


Date,
E n el siguiente
ejemplo, la funcin
IsDate
IsDate - Returns a value indicating whether of not a Variant Celsius calcula grados
argument can be converted to a date. centgrados a partir de
Minute
Minute - Returns an integer between 0 and 59, inclusive, that grados Fahrenheit.
represents the minute of the hour corresponding to the time Cuando se llama a la
provided as an argument. funcin desde el pro-
Month - Returns an integer between 1 and 12, inclusive, that
Month cedimiento Principal,
represents the month of the year for a date argument. se le pasa una varia-
Now
Now - Returns a date that represents the current date and ble que contiene el
time according to the setting of the computers system date valor del argumento.
and time. El resultado de los cl-
Time, Time$ - Returns the current system time.
Time, culos se devuelve al
Timer
Timer - Returns the number of seconds that have elapsed procedimiento que
since 12:00 a.m. (midnight). efecto la llamada y se
Weekday
Weekday - Returns an integer between 1 (Sunday) and 7 presenta en un cuadro
(Saturday) that represents the day of the week for a date de mensaje.
argument.
Sub Principal()
Year
Year - Returns an integer between 100 and 9999, inclusive,
temp =
that represents the year of a date argument.
Application.InputBox(Texto:=
_

"Por favor, introduzca la tem-


VARIABLE CONVERSION
peratura en grados F.",
Tipo:=1)
CCur
CCur - Explicitly converts expressions to the Currency data
MsgBox "La temperatura es "
type.
& Celsius(temp) & " grados C."
CDbl - Explicitly converts expressions to the Double data type.
CDbl
End Sub
CInt
CInt - Explicitly converts expressions to the Integer data type.
CLng
CLng - Explicitly converts expressions to the Long data type.
Function Celsius(GradosF)
CSnd
CSnd - Explicitly converts expressions to the Single data type.
Celsius = (GradosF - 32) * 5 /
CStr
CStr - Explicitly converts expressions to the String data type.
9
CVar
CVar - Explicitly converts expressions to the Variant data type.
End Function
CVDate
CVDate - Converts an expression to a Variant of VarType 7
(Date).

Gua Prctica - Cmo Automatizar Tareas con Excel Macros !!


NOMBRES DE LOS ARCHIVOS DE MACROS
AUTOMATICAS QUE SE AGREGAN

La siguiente tabla, lista los nombres de los archivos de las macros


automticas que inicialmente se agregan en forma automtica
cuando se inicia Excel.

Administrador de macros automticas.-ADMMACRO.XLA


Sinopsis.- SINOPSIS.XLL
Administrador de informes.- INFORMES.XLA
Administrador de escenarios.- SCENARIO.XLA
Solver.- SOLVER.XLA
Administrador de vistas.- VISTAS.XLA

L as instruccio-
nes de declaracin se PROGRAMANDO MACROS
usan para dar nom-
bre y definir procedi-
mientos, variables,
AADIR BORDES GRUESOS
matrices y constantes
El siguiente ejemplo
contiene tres decla- Para aadir bordes gruesos al contenido, hacer lo siguiente:
raciones.
Por ejemplo si se desea colocar el borde grueso de las celdas A8
a B14, entonces:
Sub DarFormato()
Const limite As Integer = 33 bordes Macro
Dim miCelda As Range Coloca un borde grueso de A8 a B14

' Mas instrucciones
Sub bordes ()
End Sub

Range(A8.B14). Select
La instruccin Sub Selection.Borders(xlLeft).LineStyle=xkNone
(con la correspon- Selection.Borders(xlRight).LineStyle=xkNone
diente instruccin Selection.Borders(xlTop).LineStyle=xkNone
Selection.Borders(xlBottom).LineStyle=xkNone
End Sub) declara un
Selection.BordersAroundWeight:=xlMedium, ColorIndex:=xlAutomatic
procedimiento llama-
do DarFormato. To- End Sub
das las instrucciones
que aparecen entre
las instrucciones Sub
y End Sub se ejecu-
tan cuando el proce-
dimiento DarFormato
se ejecuta o se llama.

!" Gua Prctica - Cmo Automatizar Tareas con Excel Macros


CENTRAR

Para centrar el contenido, hacer lo siguiente:

cen Macro
Centra el contenido de las celdas B1 a D1

Sub cen ()
Range(B1:D1). Select
With Selection
.HorizontalAlignement =xlCenter
.VerticalAlignement =xlBottom
.WrapText = False
.Orientation = xlHorizontal
Para dar nombre a
End With procedimientos,
constantes, variables
End Sub y argumentos en un
mdulo de Visual
Basic han de seguir-
se las siguientes re-
glas:
El primer carcter
debe ser una letra.
En el nombre no se
pueden utilizar espa-
cios, puntos (.), sig-
nos de interjeccin
(!), ni @, &, $, #.
CAMBIAR A NEGRITAS El nombre no puede
tener ms de 255 ca-
racteres de longitud.
Para Poner en negritas el contenido del rango de celdas B1:D1,
hacer lo siguiente: No se deben usar
nombres iguales a los
neg Macro de los procedimien-
Pone en negritas el rango B1:D1
tos Function, instruc-
Sub neg () ciones y mtodos de
Visual Basic.
Range(B1:D1). Select
Los nombres no se
Selection(B1:D1).Select
pueden repetir den-
End Sub tro del mismo nivel
de alcance.
Nota.- Visual Basic
no diferencia entre
maysculas y mins-
culas, pero respeta la
forma en que se es-
criben las instruccio-
nes de declaracin de
nombres.

Gua Prctica - Cmo Automatizar Tareas con Excel Macros !#


ESCRIBIR DIAS DE LA SEMANA

Para escribir das de la semana desde A8, hacer el programa


siguiente:
das Macro
Escribir los das de la semana desde A8

Sub das ()

Range(A8). Select
ActiveCell.FormulaRCC2 =Lunes

U
Selection.Autofill Destination: Range (A8:A14), Type:)=xlFillDefault
Range(A8:A14).Select
End Sub
na instruccin
ejecutable inicia una
accin. Puede ejecu-
tar un mtodo o fun-
cin y saltar a blo-
ques de cdigo o no
ejecutar otros. Las
instrucciones
ejecutables incluyen a
menudo operadores
condicionales o ma-
ESTABLECER LA FUNCION SUMA
temticos.
El siguiente ejemplo
utiliza la instruccin Para establecer la funcin SUMA en la celda B15, hacer el
For Each...Next para programa siguiente:
pasar por cada una de
las celdas de un ran- sumatoria Macro
go llamado Establece funcin SUMA en celda B15
Milntervalo en la
Sub sumatoria ()
Hoja1 de un libro
Microsoft Excel ac- Range(B15). Select
tivo. La variable c ActiveCell.FormulaR1C1 =TOT.SEMA=
Range(B15).Select
es una celda en la
ActiveCell.FormulaR1C1 ==SUM(R [-7]C:R[-1]C)
coleccin de celdas
que componen el End Sub
Milntervalo.
Sub DarFormato()
Const limite As Integer = 33
For Each In Worksheets
(Hoja1).Ranger(Milntervalo).Cells
If c.Value>limite Then
With c.Font

.Bold=true

.Italic=true
End With
End If
Next c
MsgBox Find!
End Sub

!$ Gua Prctica - Cmo Automatizar Tareas con Excel Macros


CAMBIAR FORMULAS A VALORES
E l editor de vi-
sual Basic proporcio-
Si alguna vez ha tenido un puado de frmulas en una hoja de na muchas herra-
clculo que necesitaba reemplazar con los valores calculados, mientas que se pue-
apreciar esta macro que hace el trabajo por usted. La macro den usar para dise-
es la siguiente: ar aplicaciones gr-
ficas.
valores Macro
cambiar frmulas a valores
Proyectos
Lenguaje Visual
Sub Form2Val () Basic
Formularios y con-
For Each c In Selection.Cells
troles
c.Formula= c.Value
Barras de men
Next c Mdulos

End Sub
Un formulario inclu-
Para usar esta macro, colquese en la celda o seleccione las ye los controles y el
cdigo asociado a
celdas que quiere cambiar y ejectela. Lo dems es automtico.
dicho formulario.
Podemos compartir
CONTROLAR MAYUSCULAS/MINUSCULAS cdigo en todo el
proyecto colocando
EN LAS CELDAS
el cdigo en un m-
dulo de formulario o
Aqu se encuentra un par de macros para cambiar las entradas en un mdulo
de celdas entre maysculas y minsculas. Para convertir el texto estndar y declaran-
en maysculas, para ello use la siguiente macro: do el procedimiento
como Public. Los
Sub MakeUpperCase() formularios se crean
For Each c In Selection.Cells como interfaz de la
c.Value= UCase$(c.Value) aplicacin. Cada for-
Next c mulario es una ven-
End Sub tana que presenta
controles, grficos u
otros formularios.
Para cambiar el texto a minsculas utilizar esta macro similar: Los formularios se
pueden usar de dife-
Sub MakeLowerCase() rentes maneras:
For Each c In Selection.Cells
c.Value=LCase$(c.Value) Como una pantalla
Next c ilustrada como in-
End Sub troduccin a una
aplicacin.
Para utilizar cualquiera de estas macros, simplemente colquese
Como un libro den-
tro de una aplicacin.
en la celda o seleccione las celdas que quiera cambiar, y ejecute
Como un cuadro de
la macro.
dilogo.

Gua Prctica - Cmo Automatizar Tareas con Excel Macros !%


ELIMINAR ESPACIOS EN CELDAS

Los epacios extra que estn antes de alguna entrada de una celda
pueden crear problemas cuando intentan ordenar y filtrar tablas.
Para eliminar estos espacios, seleccione las celdas y ejecute esta
macro:

eliminar espacios en celdas



Sub TrimIt()
El lenguaje que se usa
tambin se encuen- For Each c In Selection.Cells
tra en muchas apli- c.Value=Application.Trim(c.Value)
caciones de Next c
Microsoft Office
como VisualBasic o End Sub
Project, . Las carac-
tersticas del lengua-
je incluyen: Para usar esta macro, colquese en la celda o seleccione las celdas
que quiere cambiar y ejectela. Lo dems es automtico.

CERRAR TODOS LOS LIBROS INACTIVOS

Esta macro cierra todos los libros inactivos.


Para cerrar todos los libros inactivos, ejecute esta macro:

Sub CloseAllInactive()
Dim Wb As Workbook
Dim AWb As String
AWb = ActiveWorkbook.Name
SaveAll
For Each Wb In Workbooks
If Wb.Name <> AWb Then
Wb.Close savechanges:=True
End If
Next Wb
Application.StatusBar = All Workbooks Closed.
End Sub

!& Gua Prctica - Cmo Automatizar Tareas con Excel Macros


EJEMPLOS DE APLICACION

A continuacin se muestra ejemplos de aplicaciones hechas con el


editor de Visual Basic de Excel:

EJEMPLO N1

L
son
os controles
herramientas
como cuadros, bo-
tones y etiquetas
que se disponen en
un formulario para
permitir la entrada
de datos o para pre-
sentar resultados.
Tambin hacen ms
Disear el formulario con las siguientes caractersticas : atractivos los for-
1. Ingresar el nombre del usuario mularios. Para dibu-
2. Digitar la contrasea jar controles en un
3. Hacer un click en el botn Aceptar para Ingresar al sistema, si es formulario se usa el
correcta debe salir un aviso Bienvenido al sistema. si no digita
Cuadro de herra-
mientas.
la clave correcta debe salir un aviso No tiene autorizacin
4. Hacer un click en el botn Salir si no tiene autorizacin.
Usando la ventana
Propiedades se de-
finen las propieda-
des de formularios y
controles. Las pro-
piedades especifi-
can los valores ini-
ciales de las carac-
tersticas, tales
como tamao, nom-
bre y posicin. La
ventana Propiedades
enumera todas las
A continuacin propiedades y los
Propiedad
se muestra las valores del control o
Valor
fases en la mdulo selecciona-
construccin de do actualmente.
una aplicacin

Gua Prctica - Cmo Automatizar Tareas con Excel Macros !'


Algunas consideraciones:
1.Para insertar en el fondo
del formulario una imagen,
en la ventana de propiedades,
la propiedad Picture insertar
un valor es decir, seleccionar
la imagen que desea que
vaya en el formulario.
2.Las etiquetas Nombre de
usuario y Contrasea cambiar
FASE DE
el tipo de fuente con la
propiedad Font. Luego para DISEO
cambiar el fondo de la etiqueta
con la propiedad BackColor.
3. La caja de texto o Texbox
en la propiedad PasswordChar
digitar* para enmascarar la
clave.

FASE DE
CODIFICACION

Para hacer que una aplicacin responda a las


acciones del usuario o a los eventos del sistema, se
tiene que escribir cdigo para los formularios y los
controles.

FASE DE
EJECUCION

La interfaz de usuario de una aplicacin est


compuesta por objetos, formularios y controles que
permiten a los usuarios introducir y ver informacin.
Cada uno de estos objetos reconoce acciones, tales
como hacer click en un botn, abrir un formulario o
escribir en un campo. Estas acciones se denominan
eventos. Cuando se produce un evento en la aplicacin,
el editor de Visual Basic lo reconoce automticamente
y ejecuta el cdigo escrito. Este cdigo se denomina
procedimiento de evento.

" Gua Prctica - Cmo Automatizar Tareas con Excel Macros


EJEMPLO N2

Hacer un Juego donde:


1. Al hacer un click en el botn Jugar empieza a sortear los nmeros, dado 1 y dado 2 de
modo que la suma de ambos debe dar 7 para ganar. Cualquier otro nmero sorteado
pierde el juego.
2. Al ganar el juego debe mostrar el aviso GANE, con una imagen alusiva.
3. Al perder el juego debe mostrar el aviso PERDI, con una imagen alusiva
4. Para reiniciar otro juego debe hacer un click en el botn Jugar.
5. Para salir del juego hacer un click en el botn Salir, debe salir un aviso si desea salir del
juego, si hace un click en el botn si sale del juego, y si hace un click en el botn no entonces
reiniciar el juego.
A continuacin se muestra las imgenes del juego:

Pantalla inicial Pantalla 1 Pantalla 2

En el momento de disear tener


se denomin a los objeto de
la siguiente forma:
Cada formulario o control responde a un juego predefinido de
eventos. Por ejemplo: un botn de comando reconoce los siguientes
Form = Formulario
eventos.
cmdjugar = botn Jugar
Evento Accin cmdsalir = botn Salir
lblm1 = Gan
Click Seleccionar un botn con el mouse o con el teclado. lblm2 = Perd
DragDrop Colocar un control en el botn.
lblm3 = Jugando
DragOver Arrastrar un control sobre el botn.
GotFocus El botn obtiene el foco. lbld1 = dado 1
KeyDown Presionar una tecla mientras el botn tiene el foco. lbld2 = dado 2
KeyPress Presionar una tecla y devolver su valor ASCII. lblsuma = suma
KeyUp Liberar una tecla mientras el botn tiene el foco.
LostFocus El botn pierde el foco.
MouseDown Presionar el botn del mouse sobre el botn.
MouseMove Mover el puntero del mouse por encima del botn.
MouseUp Liberar el botn del mouse en el botn.

Gua Prctica - Cmo Automatizar Tareas con Excel Macros "


Algunas consideraciones:
1.Insertar las imgenes superpuestas, para ello, Private Sub Form_Load()
en la ventana de propiedades, la propiedad Image1.Visible = False
Picture insertar un valor es decir, seleccionar Image2.Visible = False
la imagen que desea que vaya en el formulario. Image3.Visible = False
Luego en la propiedad Visible seleccionar el lblm1.Visible = False
valor False. lblm2.Visible = False
2.Las etiquetas Jugando, Gan, Perd, dado1,
dado 2 y suma se debe cambiar el tipo de End Sub
fuente con la propiedad Font. Luego para
cambiar el fondo de la etiqueta con la ropiedad Private Sub CMDSALIR_CLICK()
BackColor. RPTA = MsgBox("Desea Salir del Juego?",
Luego en la propiedad Visible seleccionar el 4 + 32, "DESEA SALIR")
valor False. If RPTA = vbYes Then
End
EL CODIGO SERIA ASI: End If
End Sub
Private Sub cmdjugar_Click()
Do While 1 Private Sub LBLD1_Click()
x = Int(Rnd * 10) Do While 1
If x >= 1 And x <= 6 Then x = Int(Rnd * 10)
lbld1.Caption = Str(x) If (x >= 1 And x <= 6) Then
Exit Do lbld1.Caption = Str(x)
End If Exit Do
Loop End If
Do While 1 Loop
y = Int(Rnd * 10) End Sub
If y >= 1 And y <= 6 Then
lbld2.Caption = Str(y) Private Sub LBLD2_Click()
Exit Do Do While 1
End If y = Int(Rnd * 10)
Loop If (y >= 1 And y <= 6) Then
lbld2.Caption = Str(y)
lblsuma.Caption = Str(Val(x) + Val(y)) Exit Do
If x + y = 7 Then End If
Image2.Visible = True
lblm1.Visible = True End Sub
Image3.Visible = False: lblm2.Visible = False
Image1.Visible = False: lblm3.Visible = False
Else
Image3.Visible = True: lblm2.Visible = True
Image1.Visible = False: lblm1.Visible = False
Image2.Visible = False
End If
End Sub

" Gua Prctica - Cmo Automatizar Tareas con Excel Macros


EJEMPLO N3

Insertar un

Disear una macro que sombree en forma de


un recuadro al presionar un botn (si se desea
esta macro puede ejecutarse en otras hojas).

Algunas consideraciones:
1.Para colorear en el fondo, seleccionar las
celdas que desea que vaya sombreado.
2.Insertar un botn de comando, cuyo nombre
sea Sombreado.

El cdigo en el Editor de Visual Basic, insertar Si desea agregar el evento click con el botn

un mdulo y escribir lo siguiente: de comando creado, seleccionar la hoja del

'
libro donde se encuentra el boton creado

'sombreado
lluego hacer doble click sobre el botn y digitar

'
el siguiente cdigo:
Private Sub CommandButton1_Click()
Sub sombra()
Range("B4:G9").Select
Range("B4:G9").Select
With Selection.Interior
With Selection.Interior
.ColorIndex = 15
.ColorIndex = 15
.Pattern = xlSolid
.Pattern = xlSolid
End With
End With
Range("C5:F8").Select
Range("C5:F8").Select
Selection.Interior.ColorIndex = xlNone
Selection.Interior.ColorIndex = xlNone
Range("D12").Select
Range("D12").Select
End Sub
End Sub

Gua Prctica - Cmo Automatizar Tareas con Excel Macros "!


1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
Procedimiento. Es una secuencia con
Para ejecutar en otro libro esta macro (por 1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
nombre de instrucciones que se ejecutan
ejemplo en el libro 2), presionar el botn de 1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
como una unidad. Por ejemplo, Function,
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
ejecucin, luego se muestra una ventana de 1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
Property y Sub son todos tipos de
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
Macro. 1234567890123456789012345678901212345678901234567890123
procedimientos. Un nombre de
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
Seleccione la macro sombra, para ello, seleccionar procedimiento siempre se define a nivel
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
el libro donde desea que se ejecute la macro. de mdulo. Todo el cdigo ejecutable debe
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
estar contenido en un procedimiento. Los
1234567890123456789012345678901212345678901234567890123
Finalmente hacer un click en el botn Ejecutar. 1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
procedimientos no se pueden anidar dentro
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
de otros procedimientos.
1234567890123456789012345678901212345678901234567890123

Para Copiar cdigo de ejemplo de la Ayuda


a la aplicacin, hacer lo siguiente:

1.Utilice Ayuda para mostrar el tema cuyo


ejemplo desea utilizar.

2.Hacer un click en el Ejemplo vinculado en


la zona de no desplazamiento cerca de la
parte superior de la pgina. Se muestra el
cdigo de ejemplo.
Finalmente al ejecutar la macro entonces
automticamente se mostrar como en la figura: 3.Hacer un click con el botn secundario
del mouse en la parte del cdigo que
desea copiar a la aplicacin.

4.Seleccionar Copiar del men contextual.

5.Mover el enfoque detrs de la ventana


Cdigo y colocar el puntero del mouse
donde desea insertar el cdigo.

6.Hacer un click con el botn secundario


del mouse de nuevo y seleccionar Pegar
para insertar el ejemplo de cdigo en la
ventana Cdigo.

Cmo Copiar cdigo de ejemplo de la Ayuda

Recuerde.- Tambin puede presionar las teclas


A veces puede desear copiar un ejemplo til
al mismo tiempo CTRL+C para copiar un ejemplo
de la Ayuda de Visual Basic. Mientras que
seleccionado en la ventana Ayuda.
muchos ejemplos necesitan mucho cdigo para
funcionar correctamente, algunos ejemplos son
Presionar CTRL+V para pegar el ejemplo en la
tiles para ver cmo se comporta un procedimiento
ventana Cdigo.
particular en una tcnica de flujo de control.

"" Gua Prctica - Cmo Automatizar Tareas con Excel Macros


EJEMPLO N4

Esta aplicacin permite mostrar los resultados del tipo de cambio en dlares o soles.
Por ejemplo el tipo de cambio es 3.45 con un monto de 100 soles equivale a 345 soles, del
mismo tipo de cambio con un monto de 100 dlares equivaldra a 28,9855072463768 centavos
de dlar. Si se desea saber otros montos entonces hacer un click en el botn Otro y si deseo
terminar la sesin hacer un click en el botn Salir.

Para realizar este aplicacin, se debe tener en cuenta lo siguientes pasos:

Gua Prctica - Cmo Automatizar Tareas con Excel Macros "#


El cdigo sera el siguiente:

Private Sub SALIR_Click()


Private Sub OTRO_Click() End
txttipo = "" End Sub
txtmonto = ""
txtresul = ""
txttipo.SetFocus Private Sub UserForm_Click()
End Sub

End Sub
Private Sub resul_Click()
If (Option1.Value = True) Then Finalmente, slo queda ejecutarlo; generalmente,
txtresul = Val(txtmonto) / Val(txttipo) Se pueden cometer tres tipos de errores:
Errores de compilacin: Fallos provocados por la
Else incorrecta construccin del cdigo.
txtresul = Val(txtmonto) * Val(txttipo) Errores en tiempo de ejecucin: Fallos que Visual
End If puede detectar cuando nuestro programa se ejecuta.
Errores de lgica: Fallos que producen resultados
End Sub incorrectos o que provocan que el programa no
se ejecute de la manera esperada.

"$ Gua Prctica - Cmo Automatizar Tareas con Excel Macros


3 M ACROS Y LOS V IRUS

VIRUS Y MACROS DE LIBRO

Un virus de macro es un tipo de virus del sistema que est almacenado


en las macros de un libro o de una plantilla de libro. Cuando se abre
el libro afectado o se ejecuta una accin que desencadena un virus
de macro, ste puede activarse, transmitirse al equipo y almacenarse
en un libro oculto u otra ubicacin que no pueda detectarse. A partir
de ese momento, todos los libros que se guarden pueden infectarse
automticamente con el virus de macro. Si otros usuarios abren libros
infectados, puede transmitirse a sus equipos.

Microsoft Excel no explora el disco, el disco duro ni la unidad de red

C
para buscar y quitar los virus de macro. Si desea este tipo de proteccin
deber adquirir e instalar software antivirus. No obstante, Microsoft Excel

uando se abre puede presentar un mensaje de advertencia siempre que se abra un

el libro afectado o se libro que contenga macros. A continuacin, puede elegir entre abrir el
ejecuta una accin libro con las macros habilitadas o inhabilitar las macros, de modo que
que desencadena un pueda ser el nico usuario que las vea y las modifique. Un virus de macro
virus de macro, ste nicamente puede ser perjudicial si se le permite ejecutarse; por tanto,
puede activarse, si se inhabilitan las macros, puede abrirse el libro con seguridad.
transmitirse al equipo
y almacenarse en un G Si se espera que el libro contenga macros tiles (por ejemplo, un
libro oculto u otra formulario de pedidos para la organizacin), puede hacerse click en
ubicacin que no Habilitar macros para abrir el libro con las macros habilitadas.
pueda detectarse.
G Si no espera que el libro contenga macros o no est seguro acerca
de la fiabilidad de su origen, puede hacer click en Inhabilitar macros
para abrir el libro con las macros inhabilitadas. Por ejemplo, puede
obtener un libro a travs de un mensaje del correo electrnico
procedente de un origen desconocido o de un sitio en la red local,
o en Internet, que no sea fiable. En estos casos, es aconsejable ponerse
en contacto con el usuario que haya creado el libro para comprobar
que no contiene virus.

Si se inhabilitan las macros, no se podr ejecutar ninguna macro, ni


calcular de nuevo funciones personalizadas, ni ejecutar controladores
de eventos (macros que se ejecutan como respuesta a acciones como
los clicks del mouse), ni utilizar controles ActiveX para iniciar eventos.

Gua Prctica - Cmo Automatizar Tareas con Excel Macros "%


Pero an podrn examinarse y modificarse las macros. Si hace click en
Guardar en el men Archivo
Archivo, se guardarn las macros. A continuacin,
si desea ejecutar las macros, puede cerrarse el libro y abrirse otra vez
con las macros habilitadas.

Notas

GSi se activa un virus de macro, un mensaje de advertencia acerca


de los virus de macro aparecer tambin cuando se abra un libro que
contenga controles creados mediante el Cuadro de controles.
GPara obtener informacin acerca de como desactivar las macros que
puedan contener virus, hacer un click en ayuda.
GPara obtener ms informacin acerca de los virus de macro, incluida
la informacin acerca de cmo adquirir software que explore los libros
y quite los virus de macro conocidos, puede obtener informacin acerca
de proteccin antivirus de Microsoft en World Wide Web.

COMO REMOVER MACROS


QUE NO SON VIRUS

L o ms conve-
niente trate de usar
Los macrovirus irremovibles, son una razn por la cual surgen macros
que no son exactamente virus, es la accin deficiente de ciertos
productos antivirus, o la concurrencia de macrovirus que se sobreescriben
siempre un programa
unos a otros. Pero no es ste el nico caso.
antivirus, cuya sin-
taxis se documenta
Por ms de un motivo, pueden llegar a nuestros documentos macros
en la seccin de
no deseadas o no conocidas. Las causas pueden ir desde un macro
m a c r o v i r u s
malicioso, lo que se conoce como un caballo de Troya escrito por
irremovibles y podr
librarse de todo un empleado travieso, o avieso, hasta una macro bien intencionada

macro, viral o no que simplemente no fu reportada por su autor, pero que hace cosas
viral, malicioso o ino- inesperadas como mostrar ventanas, abrir archivos, etc. Esas macros no
cuo. son virus, no contienen cdigo infeccioso y, por mucho dao que
hagan, no pueden considerarse virus y ninguna compaa de antivirus
que se respete a s misma, debe convertir su tarea en una cacera de
brujas.

La misma metodologa que es aplicable para remover los macrovirus


nuevos y desconocidos, as como sus remanentes, puede usarse para
eliminar macros no deseadas, sospechosas o no documentadas.
Lo ms conveniente trate de usar siempre un programa antivirus, cuya

"& Gua Prctica - Cmo Automatizar Tareas con Excel Macros


sintaxis se documenta en la seccin de macrovirus irremovibles y podr
librarse de todo macro, viral o no viral, malicioso o inocuo.

Recuerde, sin embargo, que al remover todas las macros puede estar
eliminando no solo cdigo til, sino aplicaciones completas que puedan
inutilizar el manejo que se pretenda dar al documento. En trminos
generales, como usuario usted podr decir en la mayora de los casos
si las macros en su documento sirven a algn propsito o no. Slo en
el caso de documentos generados por terceros podra darse el caso
de cdigo inaceptable. Pero de cualquier forma el usuario debe
conocer la procedencia del documento e indagar acerca de las
posibles macros.

MACROVIRUS IRREMOVIBLES

Para ser precisos, ningn macrovirus que se conozca hasta ahora es


imposible de remover. Aun cuando un macrovirus sea totalmente nuevo
y desconocido, siempre es posible erradicarlo con el simple procedi-
miento de leer los documentos con el programa Wordpad de Windows
95 y guardarlos de nuevo. Es verdad que las macros no virales se
pierden usando este mtodo, pero el texto y su formato se conservan.
El programa antivirus generalmente acompaa a todas las plataformas.

Lo que s sucede con mucha frecuencia, es que algunos productos


antivirus no eliminan por completo el cdigo agregado por los virus
debido a que no hacen una identificacin exacta de la variante,
dejando remanentes que, si bien ya no pueden propagarse, eventual-
mente continan ejecutndose o, lo que es peor, dejan corrompido
el cdigo hacindolo irreconocible para Word Basic, el cual al tratar
de ejecutar esas macros, simplemente regresa mensajes de error que
el usuario asume que son debidos al virus o al antivirus en forma directa.
Adicionalmente, cabe recordar que una cosa son los virus y otra distinta
son los daos que aquellos causan. De modo que un buen nmero
de virus como el CAP, el NPAD y el WAZZU, alteran el texto y los menes
de los documentos, haciendo pensar al usuario que el virus an se aloja
en sus archivos. Lo que sucede aqu es que los programas antivirus
pueden retirar el cdigo viral, pero no siempre pueden revertir los daos
causados porque el antivirus no tiene forma de saber cul era el
contenido original del documento.

Cualquier macro, no slo los virus, puede fcilmente propagarse a


travs de una red o de documentos simples cuando se soslayan las
capacidades de una aplicacin tan poderosa como son las de
Microsoft Office. Si un usuario avanzado genera un documento con

Gua Prctica - Cmo Automatizar Tareas con Excel Macros "'


macros para uso personal y lo guarda por accidente como plantilla
(.DOT) en un directorio compartido, o si un usuario tpico descontamina
incorrectamente un documento infectado dejando remanentes de un
macrovirus y guarda el documento como plantilla, cualquier usuario
que accese posteriormente la plantilla, cargar las macros contenidas
en ella, sean virus o no.
Esta situacin no es de ninguna manera extraa. De hecho, es el
mecanismo del que se valen los macrovirus para infectar documentos
y propagarse: No necesitan infectar cada documento, basta con
infectar la plantilla NORMAL.DOT y en lo sucesivo, cada nuevo docu-
mento que se genere, llevar de origen las macros que se encuentren
en la plantilla empleada.

EXAMINAR LOS LIBROS


EN BUSCA DE MACROS
QUE PUEDAN CONTENER VIRUS

Para evitar la posibilidad de que alguna macro que contenga algn


virus pueda daar el sistema, utilice este procedimiento para presentar
un mensaje de advertencia siempre que intente abrir un libro que
contenga una macro. Puesto que esta comprobacin no determina si
alguna macro en el libro actual contiene algn virus, asegrese de que
conoce el origen del libro y que puede confiar en l antes de continuar.
Por ejemplo, considere la posibilidad de que se puedan producir daos
causados por macros con virus si el libro procede de una red insegura
o de un sitio Internet.

1.En el men Herramientas


Herramientas, hacer un click en Opciones y elija la ficha
General
General.

2.Active la casilla de verificacin Proteccin antivirus en macros.

Interrumpir el examen de libros en busca de macros que puedan


contener virus

1.En el men Herramientas


Herramientas, hacer un click en Opciones y elija la ficha
General
General.

2.Desactive la casilla de verificacin Proteccin antivirus en macros.

# Gua Prctica - Cmo Automatizar Tareas con Excel Macros


PALABRAS CLAVES DE VISUAL BASIC PARA EXCEL

ESPAOL INGLES

A To
Abajo Down
Abrir Texto OpenText
Abrir Vnculos OpenLinks
Accin Action
Activar Activate
Activar Anterior ActivatePrevius
Activar Siguiente ActivateNext
Actualizar Update
Actualizar Pantalla ScreenUpDating
Actualizar Vnculos UpdateLinks
Agregar Add
Agregar A Tabla AddToTable
Agregar Campos AddFields
Agregar Elemento AddItem
Agregar Men AddMen
Agrupar Group
Ajustar Alto A Pginas FitToPagesTall
Ajustar Ancho A Pginas FitToPagesWide
Ajustar Automticamente AutoFit
Al Activar Hoja OnSheetActivate
Al Deshacer OnUndo
Alineacin Alignment
Alineacin Horizontal HorizontalAlignment
Alineacin Vertical VerticalAlignment
Al Introducir OnEntry
Al Introducir Datos OnData
Al Repetir OnRepeat
Alto Height
Alto Fila RowHeight
Ancho Width
Ancho Columna ColumnWidth
Anterior Previus
Antes Before
Anular Seleccin Deselect
Apariencia Appearance
Archivo File
Area Grfico ChartArea
Area Impresin PrintArea
Arrastrar Colocar Celdas CellDragAndDrop

Gua Prctica - Cmo Automatizar Tareas con Excel Macros #


ESPAOL INGLES

Autoformato AutoFormat
Autollenar AutoFill
Barra Desplazamiento ScrollBar
Barra Estado StatusBar
Barra Herramientas TollBar
Barras Mens MenuBar
Bloqueado Locked
Borde Border
Borrar Clear
Borrar Contenido ClearContents
Borrar Formatos ClearFormats
Botn Button
Botn Opcin OptionButton
Buscar Find
Buscar Como LookAt
Cadena String
Calcular Calculate
Cambiar Forma Reshape
Cambiar Tamao Resize
Campo Field
Campos tabla Dinmica PivotFields
Canal Channels
Categora Category
Celda Activa ActiveCell
Centrar Horizontalmente CenterHorizontally
Cerrar Close
Colocar Placement
Combinar Merge
Compilar Build
Contenido Contents
Contrasea Password
Convertir Convert
Copiar Copy
Cruza Crosses
Cuadro Dilogo DialogBox
Cuenta Count
Datos Data
Desplazar Shift
Destino Destination
Desviar Offset
Dibujo Drawing
Direccin Address
Diseo Pattern
Dividir Split
Doble Clic DoubleClick
Duplicado Duplicate

# Gua Prctica - Cmo Automatizar Tareas con Excel Macros


ESPAOL INGLES

Edicin Edition
Eje Axis
Elemento Item
Elevacin Elevation
Eliminar Delete
Elipse Oval
Encabezado Header
Entradas Listas ListCount
Escala Automtica AutoScaling
Espacio Space
Espera Wait
Esquema Outline
Esquinas Corners
Estado Status
Estilo Lnea LineStyle
Estructura Structure
Evaluar Evaluate
Fecha Date
Fila Row
Fin End
Fondo Background
Formato Format
Frmula Formula
Fuente Font
Funcin Funtion
Galera Gallery
Giro Rotation
Grabar Record
Grabar Macro RecordMacro
Grfico Chart
Grosor Weitgth
Grupos Groups
Guardar Save
Habilitado Enabled
Hoja Sheet
Hoja Activa ActiveSheet
Hoja Clculo WorkSheet
Hora Time
Identificador Id
Imagen Picture
Importar Import
Importar Datos ImportData
Imprimir Print
Incluir Include
Incremento Step
Indice Index

Gua Prctica - Cmo Automatizar Tareas con Excel Macros #!


ESPAOL INGLES
Inferior Bottom
Inicio Start
Insertar Insert
Interactivo Interactive
Leyenda Legend
Lnea Line
Lista List
Maestro Parent
Memoria Disponible MemoryFree
Modelo Style
Mdulos Modules
Mostrar Show
Mostrar Errores ShowErrors
Mover Move
Nombre Name
Nombre Archivo FileName
Nota Note
Nmero Number
Objeto Object
Ocultar Hide
Opcin Option
Operacin Operation
Operador Operator
Ordenar Sort
Organizar Arrange
Orientacin Orientation
Pgina Actual CurrentPage
Palabra Word
Palabras Clave KeyWords
Pegar Paste
Perodo Period
Plantilla Template
Por By
Presentacin Preliminar PrintPreview
Presionado Pushed
Procedencia Origin
Procedimiento Procedure
Proteger Protect
Punto Point
Quitar Remove
Raz Root
Rango Range
Rectngulo Rectangle
Reemplazar Replace
Referencia Reference
Repetir Repeat

#" Gua Prctica - Cmo Automatizar Tareas con Excel Macros


ESPAOL INGLES

Reproducir Play
Restablecer Reset
Restaurar Restore
Resumen Summary
Rtulo Caption
Ruta Acceso Path
Salir Quit
Seccin Pane
Seleccin Selection
Separacin IsGap
Separador Delimiter
Serie Series
Siguiente Next
Sombra Shadow
Subtotal Subtotal
Superior Top
Tabla Table
Tabla Dinmica PivotTable
Tabulacin Tab
Tamao Size
Tecla Key
Tema Topic
Texto Text
Tiene Frmula HasFormula
Tipo Type
Ttulo Title
Ttulo Eje AxisTitle
Ttulo Grfico ChartTitle
Total Fila RowGrand
Transponer Transpose
Unicos Unique
Unin Union
Valor Value
Ventana Window
Ventana Activa ActiveWidow
Verbo Verb
Verificado Checked
Versin Version
Vrtice Vertex
Vnculos Link
Visible Visible
Voltil Volatile
Windows Para PenComputing WindowsForPens

Gua Prctica - Cmo Automatizar Tareas con Excel Macros ##


#$ Gua Prctica - Cmo Automatizar Tareas con Excel Macros
G LOSARIO V ISUAL

USO DEL MOUSE

En esta seccin se incluye informacin bsica sobre el uso del mouse


y se explican los distintos tipos de punteros del mouse.
Un mouse, u otro dispositivo sealador, funciona siguiendo el principio
por el que primero se sita el puntero del mouse (se seala) en algn

7
elemento de la pantalla y, a continuacin, se hace click con el botn
del mouse para efectuar una accin sobre el elemento.
n mouse, u
otro dispositivo Nota
Nota.- La documentacin de Excel es parte del supuesto de que el
sealador, funciona usuario dispone de un mouse y de que es diestro.
siguiendo el principio Al desplazar el mouse sobre una superficie plana, el puntero del mismo
por el que primero se se mover en la pantalla. Si le falta espacio, levante el mouse y sitelo
sita el puntero del en un lugar en que le sea ms cmodo desplazarlo.
mouse (se seala) en
Para sealar, mover el mouse hasta que la punta del puntero se
algn elemento de la
encuentre sobre el elemento o rea que se desea sealar. A conti-
pantalla.
nuacin, se podr realizar lo siguiente:

Sealar
Colocar el puntero sobre un elemento.

Hacer o dar un click Presionar y soltar el botn primario del mouse


una vez. Soltar rpidamente el botn del mouse.

Hacer o dar doble Presionar y soltar rpidamente el botn primario


click del mouse dos veces.

Hacer click con el Presionar y soltar una vez el botn secundario


botn derecho o del mouse, con lo que aparecer un men de ac-
secundario del mouse
ceso directo.

Arrastrar Para mover un elemento hasta otra ubicacin,


primero debe sealarlo. Presionar el botn pri-
mario o el secundario del mouse y, sin soltarlo.
sealar la posicin en la que se desea situar el
objeto. A continuacin, suelte el botn. Tam-
bin podr arrastrar para seleccionar texto.

Gua Prctica - Cmo Automatizar Tareas con Excel Macros #%


USO DE LOS CUADROS
DE DIALOGO

Excel presenta cuadros de dilogo cuando el usuario debe introducir


informacin o especificar opciones, tambin llamadas propiedades
propiedades. Por
ejemplo, al hacer click en el botn Abrir para abrir una pgina que se
ha creado, un cuadro de dilogo le permitir elegir el mensaje de su
preferencia.
En los cuadros de dilogo, podr utilizar los siguientes tipos de opciones:

Hacer click en: Para hacer esto:

Expandir la lista de opciones. A continuacin, hacer click en el


elemento que desee.

Seleccionar una opcin cada vez. El crculo aparecer relleno


cuando dicha opcin est seleccionada.

Seleccionar ms de una opcin cada vez. Cuando la opcin est


seleccionada aparecer una marca de verificacin.

Hacer click en: Para hacer esto:

Reducir (minimizar
minimizar) la ventana al tamao de un botn de la barra
minimizar
de tareas.

Ampliar (maximizar
maximizar) la ventana para que ocupe todo el escritorio.
maximizar

Volver al tamao anterior de la ventana(restaurar el tamao). Este


botn aparecer cuando maximice la ventana.

Desplazar el puntero hasta


el borde de la ventana.
Cuadro de Cuando cambie la for-
dilogo
ma del puntero, arras-
trar el borde para am-
pliar o reducir la venta-
na, as como para cam-
biar su forma.

#& Gua Prctica - Cmo Automatizar Tareas con Excel Macros


VOCABULARIO

Usando el libro de trabajo macro personal - Grabando, corrigiendo,


ejecutando, y suprimiendo una macro personal; ver el libro de trabajo
macro personal; ocultar el libro de trabajo macro personal.

Visual Basic.- Para instalar la Ayuda de Visual Basic, seleccione la opcin


de instalacin Personalizada y, a continuacin, active la casilla de
verificacin Ayuda en pantalla para Visual Basic (categora Microsoft
Excel, subcategora Ayuda en pantalla y archivos de muestra) cuando
instale Microsoft Excel.
Para obtener ayuda acerca de Visual Basic en Microsoft Excel, elija Macro
en el men Herramientas y, a continuacin, hacer un click en Editor de
Visual Basic.

Macro.-Un programa escrito o grabado por el usuario que almacena una


serie de comandos de Microsoft Excel que pueden utilizarse posterior-
mente como un nico comando. Mediante las macros pueden automa-
tizarse las tareas complejas y puede reducirse el nmero de pasos
necesarios para realizar las tareas que se ejecuten con ms frecuencia.
Las macros se graban en el lenguaje de programacin de Visual Basic
para aplicaciones. Tambin pueden escribirse directamente las macros
utilizando el Editor de Visual Basic.

Funciones.- Son frmulas predefinidas que ejecutan clculos utilizando


valores especficos, denominados argumentos, en un orden determinado
que se denomina sintaxis. Por ejemplo, la funcin SUMA agrega valores
o rangos de celdas y la funcin PAGO calcula los pagos de un prstamo
basndose en un tipo de inters, la duracin del prstamo y el importe
principal del mismo.

Referencia de celda.-Conjunto de coordenadas que ocupa una celda en


una hoja de clculo. Por ejemplo, la referencia de celda que aparece
en la interseccin de la columna B y la fila 3 es B3.

Referencia relativa de celda.-Una referencia de celda, como A1, que


indica a Microsoft Excel cmo buscar otra celda a partir de la celda que
contiene la frmula. Utilizar una referencia relativa es como dar instruc-
ciones acerca de cmo ir a un lugar desde un punto de partida (por
ejemplo, "suba por esta calle y, despus de la segunda calle, gire a la
derecha").

Constante.-Un valor de celda que no comienza por un signo igual (=).


Por ejemplo, la fecha 10/9/96, el nmero 210 y el texto "Ganancias
trimestrales" son constantes. Una frmula o un valor resultado de una
frmula no es una constante.

Fuente de datos.- Identifica la base de datos a la que se desea tener


acceso e indica la informacin necesaria para conectarse a ella. Por
ejemplo, una base de datos de Microsoft Access; un directorio que
contenga un conjunto de archivos de Microsoft FoxPro o dBASE al que
se desee tener acceso; una base de datos de Microsoft SQL Server, el
servidor en que resida y la red utilizada para tener acceso al mismo;
o bien un servidor de datos ODBC (Open Database Connectivity)
habilitado.

Gua Prctica - Cmo Automatizar Tareas con Excel Macros #'


Glosario Analtico

A Evitar problemas con las teclas de mtodo abrev. 30


EXAMINAR LIBROS DE MACROS QUE PUEDAN TENER
ACTIVAR Y DESACTIVAR LA VERIFICACION DE SINTAXIS P 23 VIRUS 50
Algunas funciones de Visual Basic 32
Aadir bordes gruesos 34 G
B GLOSARIO VISUAL 57
Grabar una macro 24
BARRA DE HERRAMIENTAS DE VISUAL BASIC PARA EXCEL 18
Barra de herramientas Dilogo 2829 I
Botn Crear botn 2829
Instrucciones condicionales 16
Botn Crear Casilla de verificacin 2829
Introduccin 7
Botn Crear cuadro de edicin 2829
INTRODUCCION A VISUAL BASIC PARA EXCEL 15
Botn Crear cuadro de grupo 2829
Botn Crear cuadro de lista 2829 M
Botn Crear desplegable 2829
Macro 13
Botn Crear Rtulo 2829
MACROS 13
Botn Ejecutar Macro 18
MACROS Y LOS vIRUs 47
Botn Examinador de objetos 19
MACROVIRUS IRREMOVIBLES 49
Botn Explorador de proyectos 19
Manejo de funciones y comandos automticos 30
Botn Finalizar grabacin 19
Mdulo estndar 20
Botn Insertar Mdulo 18
Botn Modo de diseo 19 P
Botn Reanudar Macro 18
PALABRAS CLAVES DE VISUAL BASIC PARA EXCEL 51
Botn ventana de propiedades 19
PARA AGREGAR UNA MACRO AUTOMATICA 31
C PARA ELIMINAR UNA MACRO AUTOMATICA 31
Para empezar a desarrollar su propia macro 10
CAJAS DE DIALOGO 2729
Presentacin 3
Cambiar a negritas 35
Programando macros 34
Cambiar formulas a valores 37
Publicaciones 2
Centrar 35
Cerrar todos los libros inactivos 38 Q
COMANDOS VISUAL BASIC PARA EXCEL 17
Qu son modulos 20
Cmo crear una macro 10
Qu es automatizar una tarea rutinaria? 9
Cmo ejecutar una macro 12
COMO REMOVER MACROS QUE NO SON VIRUS 48 R
Conceptos Generales 9
Contenido 5 REFERENCIAS 61
Controlar Maysculas/Minsculas en las celdas 37 S
Controles 39
Copiar parte de una macro para crear otra 26 Sub y End Sub 21
Copiar un mdulo de una macro a otro libro 26 T
COPIAR UNA MACRO 26
Crear un procedimiento escribiendo cdigo 21 Tipos de estructuras de programacin 15
Cuando usar macros y cuando no 26 U
E Una caja de dilogo puede contener 28
Ejecutar una macro 24 Uso de los Cuadros de Dilogo 58
Ejemplos de Aplicacion 39 Uso del mouse 57
Eliminar espacios en celdas 38 Utilizar bucles para repetir cdigo 16
ESCRIBIENDO UNA MACRO MANUALMENTE 23 V
Escribir das de la semana 36
Establecer la funcin suma 36 Ventana Propiedades 39
Estilos de Programacin 15 Virus y macros de libro 47
Estructura lineal 15 VOCABULARIO 59
Estructura repetitiva 15
Estructuras de los Programas 15

$ Gua Prctica - Cmo Automatizar Tareas con Excel Macros


123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456
REFERENCIAS
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456

Pc World

Pc Magazine

Manuales de Microsoft

Internet

BIUFORM

También podría gustarte