Está en la página 1de 59

/ 2

uía ráctica

VERSION 98
Instituto Nacional de
Estadística e Informática

PUBLICACIONES

ëGuía Práctica de Autoaprendizaje de Word Perfect ëComputadoras,


Comodidad y Seguridad

ëGuía Práctica de Autoaprendizaje de Microsoft Word ëLas Computadoras en la


Sociedad

ëMis Primeros Pasos en Informática


ëGuía Práctica de Autoaprendizaje de Astound
ëGuía Práctica de Autoaprendizaje de Microsoft Excel ëNavegando en Internet

ëEl Mundo del Software


ëGuía Práctica de Autoaprendizaje de Qpro ëGuía Práctica de
PowerPoint

ëGuía Práctica de Autoaprendizaje - Microsoft Exchange ëGuía Práctica de


Microsoft Netscape

ëGuía Práctica de Visual Fox Pro


ëGuía Práctica de Autoaprendizaje - Diseño de Páginas Web ëGuía Práctica de
Autoaprendizaje de FrontPage
ëGuía Práctica de Power Builder

ëGuía Práctica de Windows 95


ëGuía Práctica de Autoaprendizaje - PageMaker ëGuía Práctica de
Autoaprendizaje - Photoshop ëGuía Práctica de Autoaprendizaje -
CorelDraw

ëGuía Práctica de Autoaprendizaje - Word (Versión 97) ëGuía Práctica - Visual


Basic

ëGuía Práctica - Project 98


ëGuía Práctica - Cómo Automatizar las Tareas Rutinarias con
Excel Macros

GUIA PRACTICA - COMO AUTOMATIZAR LAS TAREAS RUTINARIAS CON EXCEL MACROS - PUBLICACION
Nº36 - EDICION ‘99

Elaborado por: SUB-JEFATURA DE INFORMATICA - Dirección Técnica de Desarrollo Informático - Colección Informática Fácil.

Teléfono : 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 Técnica de Difusión Estadística y Tecnología Informática del Instituto Nacional de
Estadística e Informática (INEI)

Edición : 500 Ejemplares


Domicilio, Redacción y Talleres : Av. Gral. Garzón Nº 658 - Jesús María
Orden : Nº 362- 0I - OTDETI - INEI
2 resentación

El Instituto Nacional de Estadística e Informática como ente rector del Sistema Nacional
de Informática, presenta el Trigésimo Sexto Número de la Colección Informática Fácil, titulado
«Guía Práctica - Cómo Automatizar Tareas Rutinarias

con Excel Macros».

Excel Macros es una guía que está diseñado 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 automáticamente. Registrando sus propias macros,
puede resolver sus propias necesidades y trabajar más

eficientemente. Por ejemplo, si utilizó la misma disposición de paginación para cada informe
generado, a fin de evitar hacer los mismos pasos de progresión en cada documento, se crea
una macro modificada para requisitos particulares, ordenar e instalar la paginación con sólo presionar
unas teclas y ejecu-

tarlas.

En la presente publicación se explica cómo crear, grabar,


ejecutar una macro, ejemplos de macros, entre otros.

El Instituto Nacional de Estadística e Informática, pone a disposición la presente Guía Práctica


de Informática Fácil, con

el propósito de contribuir al conocimiento y desarrollo de la cultura informática en el país.

Econ. Félix Murillo Alfaro Jefe

INSTITUTO NACIONAL DE
ESTADISTICA E INFORMATICA
+ ontenido

Capítulo 1 - Conceptos Generales

C¿Qué es Automatizar una Tarea Rutinaria? ........................... 9


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

Capítulo 2 - Macros

CIntroducción a Visual Basic para Excel .............................. 15


CComandos Visual Basic para Excel .................................. 17
CBarra de Herramientas de Visual Basic para Excel .................... 18
CQué son Módulos ................................................. 20
CEjecutar una Macro ............................................... 24
CGrabar una Macro ................................................ 24
CCopiar una Macro ................................................ 26
CCajas de Diálogo ................................................. 27
CManejo de Funciones y Comandos Automáticos ...................... 30
CAlgunas Funciones de Visual Basic .................................. 32
CProgramando Macros ............................................. 34
GAñadir Bordes Gruesos ........................................ 34
GCentrar ..................................................... 35
GCambiar a Negritas .......................................... 35
GEscribir Días de la Semana .................................... 36
GEstablecer la Función Suma ................................... 36
GCambiar Fórmulas a Valores ................................... 37
GControlar Mayúsculas/Minúsculas ............................... 37
GEliminar Espacios en Celdas ................................... 38
GCerrar Todos los Libros ....................................... 38
CEjemplos de Aplicación ............................................ 39
Capítulo 3 - Macros y los Virus

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


C¿Cómo 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 ntroducción

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 automáticamente.
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 continuación se indican algunos usos típicos de las macros:

MAcelerar las tareas rutinarias de modificaciones y formatos.

MCombinar varios comandos.


MHacer que una opción de un cuadro de diálogo sea más

accesible.
MAutomatizar series de tareas complejas.

Excel incluye dos métodos 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 creación de macros. Excel graba la macro como una serie de
comandos de Excel utilizando el lenguaje de programación 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 también puede crear macros flexibles y

eficaces con instrucciones de Visual Basic que no se pueden


grabar. Para obtener más información acerca de la utilización 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 compañero pueda obtener su
reporte. ¡Y toma demasiado de mi tiempo! ¡Debe haber una
mejor manera!”.

S i ejecuta fre-
Si alguna vez se ha encontrado en esta situación, ya existe una solución para usted: la creación de una macro para
aplicaciones con Microsoft Visual Basic. Para crear una macro no necesita saber programación, ya que es
muy sencillo. De hecho, la mayoría de las macros pueden crearse siguiendo unos simples pasos, similares a los
que realiza para

cuentemente una ta-


rea en Microsoft Excel,
imprimir los reportes semanales. Microsoft Excel descifra los detalles (como el nombre del filtro a usarse) y crea
puede automatizarla el código Visual Basic necesario. Incluso es posible vincular la macro a un botón de la barra de herramientas, de
mediante una macro. forma que los complicados reportes semanales se

Una macro consiste en conviertan en una actividad tan sencilla como imprimir o hacer click en un botón.
una serie de coman-
dos y funciones que
se almacenan en un
módulo de Visual Basic “Lo que estoy haciendo ahora puede no ser muy eficien- te,
y que puede eje- pero no deseo usar mucho tiempo aprendiendo cómo escribir
Visual Basic. Sólo deseo ver mi trabajo termina- do”.
cutarse siempre que
sea necesario ejecutar
la tarea. Una macro se
graba igual que se
Una macro, según la definición encontrada en los manuales de Excel,
graba música en un es una secuencia de instrucciones que le indican a Excel qué debe hacer, y éste las ejecuta automáticamente. Por
cassette. A continua- medio de las macros podemos automatizar tareas repetitivas y aquellas en las que se requiere

ción, se ejecuta la
macro para que repi-
ta los comandos. una cantidad considerable de pasos complejos. Y, aunque se requiere
de un poco de conocimientos de programación, se puede realizar una gran cantidad de tareas usando instrucciones
sencillas, y todo sin saber programar. Así que, ¿por qué no aprender un poco acerca de ellas?

Guía Práctica - Cómo Automatizar Tareas con Excel Macros '


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

1.Del menú Herramientas seleccionar en la opción


Macro, luego hacer un click en la sub-opción
Grabar
Nuevo Macro.

2.Introduzca un nombre para la macro o use el nombre


proveído.

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 ecuerde que
macro estará disponible siempre que use Microsoft
Excel, y no sólo

cuando use la hoja de cálculo específica donde


la creó.
para desarrollar una
macro es sencillo y
no necesita de saber
programación; por 4.Hacer un click en el botón Acep- tar y entonces escribir
las accio- nes que desea grabar. Recuerde
supuesto hay otras
operaciones que todo lo que usted escribe se
más
complejas que pue- den
guarda, incluyendo errores y cualquier cosa hecha para
realizarse con corregirlos.

macros y Visual Basic,


pero en esta 5.Cuando haya finalizado sus ta-
guía se explicará la
de forma básica para reas, seleccione la opción Macro en el menú de
herramientas y

crear, eliminar.
hacer un click en la opción de- tener grabación.
Lo que se necesita
saber para ahorrar
mucho tiempo.

¿Es usted un usuario de Excel, versión 5.0 ó 7.0 para


Windows 95? Si su respuesta es afirmativa, me gusta- ría
hacerle una pregunta más: ¿cómo se considera us- ted
respecto a esta herramienta: experto, principiante,
o un usuario moderado? La razón de la segunda pre- gunta
se debe a que, por lo general, pasamos por alto una
capacidad específica de esta poderosa hoja de cál- 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 más poderosas
características de la misma: Las macros.

Guía Práctica - Cómo 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á múltiples 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, sólo, 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, más
bien, tedioso. Una macro que permita crear un reporte así, puede ser

muy sencilla. Veamos el código de Visual Basic que hace de la macro algo tan simple.

M acros

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

Introducir una escri-


1.En el menú Herramientas, seleccionar la opción Macro. tura y editar una
2.A continuación se muestra una caja de diálogo, en el cuadro Nombre de la macro, escriba el nombre macro:
correspondiente.

La grabadora de
3.En la lista descendente Macros en seleccionar una de las opciones plantilla o el documento donde desea macros crea obser-
guardar la macro.
4.Hacer un click en Crear para abrir el Editor de Visual Basic. En el editor codificar en lenguaje Visual vando lo que usted
Basic.
realiza, convirtiendo
estas acciones en un
código en Visual Basic,
Nota.- Si asigna a una nueva macro el mismo nombre de otra macro integrada en Word, las acciones de la
primera reemplazarán a las existentes. Por ejemplo, el comando Cerrar del menú Archivo tiene una macro y almacenando el có-
adjunta denominada ArchivoCerrar. Si graba una nueva macro digo en un módulo 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 que haya grabado.
bro de trabajo. Sin
embargo, a menudo
es necesario persona-
lizar una macro gra-
Español bada o crear una nue-
Macro Visual Basic va, debido a que la
Inglés Grabadora no siempre
graba exactamente lo
Secuencia de órdenes que usted desea.

Guía Práctica - Cómo 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, selec- cionar la opción


Macro y hacer
un click en la subopción Macros.

12345
12345 12345
12345 12345
12345 12345
12345 12345

+ ada código de-

vuelve el número de 12345 2.En el cuadro Nombre de la


código del primer
12345
12345
12345
1234 12345

caracter del texto.


1234
1234 macro, hacer un click en el nombre de la
1234
macro que
desee ejecutar.
El código devuelto co-
rresponde al conjunto
3.Hacer un click en el botón
de caracteres utilizado
por su equipo.
Ejecutar.
Por ejemplo, se desea ejeuctar la macro para
añadir bordes
Ejemplo: a un determinado número
CODIGO("A") es igual a
65
de celdas.
En la ventana de Macros se seleccionó de la lista Nombre de la macro «Bordes»,
CODIGO("Alfabeto") es
igual a 65 Luego se hizo un click en el botón Ejecutar.

CARACTER(65) es igual a 123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789


123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789

"A" 123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789

PORQUE ES IMPORTANTE HACER UNA MACRO


123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789

CARACTER(33) es igual a
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789

"!"
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789

Imaginemos que diariamente tenemos que arreglar una ta- bla


123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789

de datos poniéndole colorines, formato, bordes, etc., para


123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789

posteriormente imprimirla, el tiempo que se demoraría en


123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
hacer este trabajo. Al hacer una macro que es una com- binación
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789

de instrucciones que pueden ser ejecutadas automáticamente


123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789

con una simple pulsación de teclas.


123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789

Guía Práctica - Cómo Automatizar Tareas con Excel Macros


2 M ACROS

Una macro es una combinación de instrucciones que pueden ser ejecutadas automáticamente con una
simple pulsación de teclas. La palabra macro es una abreviatura de la palabra macroinstrucción

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 pequeño programa en código Visual Basic que se graba con un nombre y que podemos
invocar en cualquier

momento.

Español
Macro Visual Basic
Inglés

Secuencia de órdenes

I magina una ta-


Macro es una secuencia de órdenes que se realizan con el Visual Basic, que puede ser en Español o
Inglés.

Por lo tanto las definiciones de macros:


rea rutinaria de 200
pasos. Para ello, po- •Secuencias de órdenes bajo una orden determinada •Otro nombre Seudo-
demos crear una Programación
macro que realice el
•Desarrollo lineal. •Programa toma de
t r a b a j o decisiones.
automáticamente.
Evidentemente, los
Excel Grabadora Programación
pasos de la macro Posee lineal
deben ser los co-
rrectos, evitando Niveles
abrir y 1.Grabadora. Indicar a Excel hacer el programa.
cerrar
menúes y opciones
•Rutina (Objeto, Botón). •Módulo.
innecesariamente,
por lo que la macro
2.Programación Visual Basic. Maneja herramientas para el entorno operativo de
tardaría más en eje-
Windows.
cutarse.
3.Desarrollo de Funciones. Funciones de usuarios (MACRO.FUNCION)

* Suma, promedio, máximo, etc.


* También se puede crear muestras propias, funciones(por ejemplo
I.G.V., en contabilidad.

Visual Basic

FORTRAN BASIC VISUAL BASIC


Antes Hoy

Guía Práctica - Cómo Automatizar Tareas con Excel Macros !


Para entender el concepto de programación, supóngase que declaramos un objeto llamado Suma. Este objeto
requiere dos parámetros (o

datos) como mensaje para operar. En la programación tradicional tendríamos que definir el tipo de datos
que le enviamos, como por ejemplo dos números enteros, dos números reales, etc. Entonces podríamos
tener los siguientes curiosos resultados al enviar a Suma

dos datos:
Suma( 2, 4) => 6

Suma( ‘Alberto’, ‘Cortez’) => Alberto Cortez


Suma( %Música1, %Música2) => se escuchan simultáneamente las dos melodías

El polimorfismo implica que el objeto será capaz de operar correctamente con cada tipo de dato y generar un

P
resultado predecible.

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

CION: Definida por el


diccionario como la los métodos y los eventos.
Con el fin de facilitar la comprensión de estos aspectos, nos referiremos a una analogía con algún objeto de la
información necesaria vida diaria: una televisión conectada a una videograbadora. Las propiedades representan
para que un sistema
de información lleve a
cabo una tarea, las
los ajustes bajo los cuales opera el equipo: el volumen, el brillo de la imagen, la saturación de color, el tamaño
órdenes se traducen a vertical y horizontal de la imagen. Los eventos son las acciones o comandos que puedo ejecutar sobre el
un lenguaje sim- aparato: presionar el botón de encendido, presionar el botón de avance de cinta, presionar el control para el
cambio
bólico o código que es
capaz de ser en-
tendido por
un de hora, mover el control de volumen. En el caso de VB el programa responde a los eventos por medio de
procedimientos que se programan
compilador y éste a
en forma tradicional. La principal dificultad consiste en seleccionar el evento correcto para la acción deseada (en
su vez lo traduce las ocasiones inadvertidamente
instrucciones a len-
guaje de máquina. se puede provocar una cascada de eventos: dentro del proceso de
un evento se activa otro evento que a su vez activa al primer evento que activa al segundo evento… etc.).

Y, por último, los métodos son los procesos internos que ocurren en

el aparato (procedimientos) en respuesta a un comando: al presionar el botón de avance de la cinta, se activa


un motor, se activa el contador, se “lee” y transmite la imagen de la cinta a la televisión, etc. El programador de
VB no tiene acceso a la codificación de los métodos, sólo los usa. En VB tenemos como ejemplo el método

FindFirst (parámetro) que al aplicarse a un objeto de base de datos localiza la primera ocurrencia del dato
especificado en el parámetro.

Modo de Programar
•Enfocar el problema en modo Lógico (Mó dulo)

•Aplicar el lenguaje Escribir línea * línea el programa

Algoritmo Listado
(Lenguaje)

" Guía Práctica - Cómo Automatizar Tareas con Excel Macros


INTRODUCCION A
VISUAL BASIC PARA EXCEL

Tipos de estructuras de programación

Se define como estructura de un programa, la forma establecida como fluyen las órdenes o comandos en el
momento de su ejecución.

Las estructuras pueden ser: Lineales, condicionales y repetitivas.

1.
Estructura lineal
Cuando la ejecución del programa sigue una secuencia simple de

arriba hacia abajo, de la primera a la última línea de órdenes, sin ninguna desviación.
E STILOS DE

PROGRAMACION

Cada programador tie-


Por ejemplo: Entrar a la bodega
ne su propio estilo para
Pedir 1 Kg. Azúcar blanca Pagar el escribir. Un buen esti- lo
importe para programar de-
Salir de la Bodega.
berá tener una estruc-
tura de código fácil de
2.
entender, no sólo para
Estructura repetitiva
Cuando se plantea la repetición de un conjunto de órdenes, hasta que deje de cumplirse cierta condición otra gente sino tam-
o afirmación. bién para si mismo.
Aquí hay varios crite-
Por ejemplo: Entrar a la bodega rios para un buen es-
tilo:
Hasta completar lista hacer pedido
1. Nombres significa-
tivos para variables,
Bucle (repetir)
Pagar el importe de todo lo solicitado controles, y procedi-
Salir de la Bodega. mientos.
2.Identación (sangrías) y
espacios apropiados
ESTRUCTURAS DE LOS en el código.
PROGRAMAS 3.documentar el códi-
go (poner comentarios

para aclarar). 4.Módulos


Tipos de estructurad de los programas: •Lineal.- adaptables. 5.Minimizar
Una tras otra línea en forma secuencial. el acopla-
•Bifurcación.- Un camino se abre en dos, Función SI miento.
•Simple.- Un camino se abre en “dos” posibilidades 6.Minimizar alcance de
•Múltiple.- Un camino se abre en “N” posibilidades los datos hasta donde
•Repetitivas.- sea posible.
Controla que determinados procesos se efectúen
adecuadamente.

Guía Práctica - Cómo Automatizar Tareas con Excel Macros #


Definición de Algunos Comandos
Declaración
Palabras Claves o
(Enunciados) Definición Al escribir las líneas
del programa, •Azul (palabra clave).
•Verde (comentario).
* No es INICIALIZACION tener en cuenta
lo siguiente: •Rojo (error).
Ejemplo: Public. Sueldo (de uso global)

Las instrucciones condicionales.- Evalúan si una condición es True o False y a continuación especifican las
instrucciones a ejecutar en función del resultado. Normalmente, una condición es una expresión

que utiliza un operador de comparación para comparar un valor

U na variable o
o variable con otro.
9If...Then...Else: Salto a una instrucción cuando una condición es True o False

9Select Case: Selección de la instrucción a ejecutar en función de


constante definida
un conjunto de condiciones.
desde dentro de un
procedimiento no es Bifurcación
visible fuera de ese IF............. THEN FOR .....TO.....
............. .........
procedimiento. Sólo el ............. .........
......... N Rutinas

procedimiento que ............. Rutinas


.........
.............
NEXT
contiene la declara- ENDIF
ción de la variable MULTIPLE
SIMPLE
puede usarlos. En el
siguiente ejemplo, el Utilizar bucles para repetir código.- Es posible ejecutar un grupo de
primer procedimien-
to presenta un cuadro
instrucciones de forma repetida. Algunos bucles repiten las instrucciones hasta que una condición es False, otros las
de mensaje que con- repiten hasta que la condición es True. Hay también bucles que repiten un conjunto de instrucciones un número
tiene una cadena de determinado de veces o una vez para cada

texto. El segundo
procedimiento pre- objeto de una colección.
senta un cuadro de 9Do...Loop: Seguir en el bucle mientras o hasta una condición sea True
mensaje en blanco ya
9For...Next: Utilizar un contador para ejecutar las instrucciones un
que la
variable
DO CASE .........
strMensaje es local DO WHILE .....
CASO 1 ..... N Rutinas
para el primer proce- CASO 2 ..... N Rutinas .........
.........
CASO 3 ..... N Rutinas N Rutinas
CASO N .....N Rutinas .........
dimiento. .........

Sub VariableLocal() END CASE 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
categorías
•Propiedades
•Métodos (acciones)
•Valor
MsgBox strMensaje
End Sub Ejemplo:
•Método. Seleccionar la celda
con gramática de Excel.
Secuencia
Sub FueraAlcance() o Objeto •Propiedad=Valor (ancho de
Esquema celda)
MsgBox strMensaje •No tiene el mismo valor.
•Asigna

End Sub •XL Medium


•XL Thick

$ Guía Práctica - Cómo Automatizar Tareas con Excel Macros


COMANDOS VISUAL BASIC
PARA EXCEL

El lenguaje de programación Visual Basic difiere de todos los anteriores en varios aspectos.

El primer punto de diferenciación.- Es la existencia de categorías de

L
comandos (niveles). Así tenemos: ¨Funciones,

¨Enunciados,
¨Objetos,
¨Métodos, automatización (an-
a

tes
llamada
¨Propiedades, automatización OLE)
Se agrupan todas las palabras clave u órdenes que reconoce el lenguaje. Ver listado de comandos es una de las carac-
usuales.
terísticas
del
Component Object Model
(COM), una
El segundo punto.- La sintaxis del Visual Basic exige respetar un cierto orden en la escritura de cada comando. tecnología estándar
Así por ejemplo, primero se debe mencionar el objeto, el método y luego la propiedad que
queremos cambiar de él, separándolos con puntos. Por ejemplo: en la industria usada
por las aplicaciones
para revelar sus ob-
CeldaActiva.Seleccionar jetos a las herramien-
.AlineaciónHorizontal=xlCentrar tas de desarrollo, len-
guajes de macros y
COMANDOS VISUAL BASIC MAS USADOS otras aplicaciones
que sean compatibles
con
Funciones: Abs, Ahora, Choole, Dir, Error, Esnulo, Espacio, Fecha, Val
la
automatización. Por
ejemplo, una aplica-
Métodos:
ción de hojas de cál-
Abrir, Activar, Agregar, AjustarAutomáticamente, AnularSelección, Autoformato, Autorellenar, Bordes, culo puede revelar
Copiar, CuadrosEdición,
una hoja de cálculo,
CuadroDiálogo, CuadrosTexto, Desviar, Hojas, HojasSeleccionadas, Lenarhaciaabajo, Mostrar, Pegar, un diagrama, celda o
Rango, Ventanas
rango de celdas, cada
una como un tipo di-
Objetos:
ferente de objeto. Un
Aplicación, Borde, Bordes, Botón, Botones, CuadroEdición, procesador de textos

CuadrosEdición, CuadrosTexto, Diálogo, Diálogos, Fuente, HojaCálculo, Rango, Ventana


puede revelar objetos
como una aplicación,
un documento, un
Propiedades: párrafo, una frase, un
AlineaciónHorizontal, AnchoColumna, Selección, VentanaActiva marcador o una se-
lección.

Enunciados:
Con, Dim, Fin, Proced

Guía Práctica - Cómo 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 código en los módulos.

Botón “Insertar Módulo”

Inserta un módulo de Visual Basic nuevo en el libro de trabajo activo.

Botón “Ejecutar Macro”


Presenta el cuadro de diálogo Macro para que pueda selec-

cionar y ejecutar una macro.


Ejecutar Sub/UserForm Ejecuta el procedimiento actual si el cursor está situado en un

L
procedimiento o ejecuta el formulario si éste está activo actualmente. Este comando se

a barra de he- convierte en el comando Continuar cuando está en modo de interrupción.

rramientas del editor


de Visual Basic en
El modo de interrupción.- Suspensión temporal de la ejecución de un programa mientras está en la
excel se encuentra etapa de desarrollo. En
en la parte superior.
el modo interrumpir, se puede examinar, depurar, volver a configurar, incrementar o continuar
una ejecución. Se entra en modo interrumpir:
Para accesar a ella se-
leccionar la sub op-
ción Editor de Visual
·Al encontrar un punto de interrupción durante la ejecución del programa.
Basic de la opción
Macros del menú
Herramientas. ·Al presionar CTRL+ENTRAR durante la ejecución del programa. ·Al encontrar una instrucción
Stop o un error de ejecución

no detectado durante la ejecución del programa. ·Agregando una expresión


Interrumpir cuando el valor sea

Verdadero. La ejecución se detiene cuando el valor de la expresión bajo inspección cambia


y se convierte en True.
·Agregando una expresión Interrumpir cuando el valor cambie.

La ejecución se detiene cuando el valor de la expresión bajo inspección cambie.

Botón “Reanudar Macro”


Reanuda la operación de una macro después que se haya
hecho una pausa en la misma.

& Guía Práctica - Cómo Automatizar Tareas con Excel Macros


Botón “Finalizar grabación”

Detiene la ejecución de una macro. También interrumpe la grabación de una macro.

Botón “Modo de diseño”

Activa o desactiva el modo de diseño por proyecto. El modo de diseño es el tiempo durante
el cual no se ejecuta el código del proyecto ni los eventos de la aplicación principal o
proyecto. Puede abandonar el modo de diseño ejecutando una macro o utilizando la ventana
Inmediato.

Botón “Explorador de proyectos” L a barra de he-

Muestra una lista jerárquica de los proyectos y todos los elementos contenidos y rramientas que están
referenciados por cada uno de los
incorporadas en Vi-
proyectos.
sual Basic y el coman-
do
Botón “ventana de propiedades” Personalizar,
puede:
Enumera las propiedades de tiempo de diseño correspondientes a los objetos seleccionados y su ·Activar y desactivar
configuración actual.
las barras de herra-
mientas
Puede cambiar estas propiedades en tiempo de diseño. ·Arrastrar las barras
Cuando seleccione múltiples controles, la ventana de Propiedades contiene una lista de las propiedades de herramientas a di-
comunes a todos los controles seleccionados.
ferentes posiciones
en el escritorio.
Botón “Examinador de objetos” Depuración.- Mues-
tra la barra de herra-
Permite examinar todos los objetos disponibles en el proyecto y ver sus propiedades, métodos y mientas Depuración
eventos. Además, puede
ver los procedimientos y constantes que están disponibles que contiene botones
para las tareas de de-
puración más fre-
en las bibliotecas de objetos en el proyecto. Puede mostrar fácilmente Ayuda en pantalla cuando
examina. Puede cuentes.
utilizar el Examinador de objetos para encontrar y utilizar objetos que ha creado y también objetos
de otras aplicaciones. Edición.- Muestra la
barra de herramientas
Edición que contiene
botones para las ta-
reas de edición más
frecuentes.
Estándar .- Muestra la
barra de herramientas
Estándar que es la
predeterminada.
Para crear una
macro:
digitar
el
programa en esta
ventana.

Guía Práctica - Cómo 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 también pueden actuar en conjunto. Dentro de estos módulos es donde se digitan las

macros que deseamos crear.


Cuando se crea un módulo dentro de un libro aparece de la siguiente manera:

A l crear módu-

los se está creando


de una jerarquía de
módulos de progra-
mas e interfaces en-
tre ellos.

Módulo estándar.- Un
módulo 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 acción se realiza en un módulo que es
de módulo de un automáticamente creado, y éstos se encuentran después de la últi-
módulo ma hoja de cálculo.
estándar
son Public de mane-
ra predeterminada.
Un módulo estándar
se denomina módu-
lo de código en ver-
siones anteriores de Este Módulo es

una macro para


Visual Basic. Módulo
de clase.- Módulo poner en negrita
que contiene
la definición de una
clase (sus definiciones
Hacer un click en la lista
de propiedad y méto-
do). descendente y observará todas

las macros que ha grabado.

Guía Práctica - Cómo 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 cómo trata Excel las macros. En posteriores

lecciones veremos cómo modificar el código de una macro a nuestro gusto.

Ejemplo Nº1

Sub XXX( )
No olv id ar d e d ig itar d 10 ............... * S e pued e
e color A Z UL e n
-
co loc ar núm er os
...................
(Ejem plo, M e nsa je: Error)*
a de ter mina das
c a so d e s e r lín eas .
P O S IT IVO ( +) , e n E ...................
x c e l.
...................
End Sub XXX

Ejemplo Nº2

Sub M1( )
C rear un pro-

cedimiento escri-
.................. biendo código
...................
...................
................... 1.Abra el módulo
para el que desea es-
End Sub
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 Nº3 Hacer módulos taxis, si lo necesita.
3.Escriba el código
para el procedimien-
Sub letras( )
(*)Range (“ a1:d6”).select to.
Visual Basic finaliza el
Whith selection.font procedimiento con la
•name=“Times New Roman” instrucción End Sub,
•size=10 End Function o End
Property apropiada.
•color index=3
End With
End Sub

Recuerde:
Al ejecutar ’ (apóstrofe) automáticamente esa línea se convierte en
comentario y de color verde.

Guía Práctica - Cómo Automatizar Tareas con Excel Macros


Para entrar o ingresar a un módulo, hacer los
pasos siguientes:

1. Seleccionar la opción Macros del menú Herramientas.

2. A continuación, Seleccionar la sub-opción


Editor de Visual Basic.

C rear un proce-

dimiento utilizando el
cuadro de diálogo In-
sertar procedimiento
1.Abra el módulo
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 diálogo 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 estáti-
cas para agregar la
MODULO DE VISUAL BASIC
palabra clave Static a la
definición del pro-

cedimiento.
7.Hacer un click en el
Un módulo de Visual Basic se usa para escribir, mostrar y editar código. Los módulos almacenan códigos a nivel de
botón Aceptar. módulo y de procedimiento. Pueden haber varios procedimientos en un módulo y varios módulos en
un libro de trabajo.

Guía Práctica - Cómo Automatizar Tareas con Excel Macros


UN MODULO INCLUYE:

Barra de división
La barra de división divide un módulo en dos secciones. Es visible si selecciona la opción Dividir del menú
Ventana.

Barra de desplazamiento
Barras de desplazamiento horizontales y verticales le permiten desplazarse dentro del código.

ESCRIBIENDO UNA MACRO MANUALMENTE

1.Para cambiar a un módulo de Visual Basic en el libro de trabajo activo, seleccionar la ficha
correspondiente.
O bien:
Para crear un módulo ubicarse en el editor de Visual Basic, luego
L os procedi-

mientos tienen un es-


en el menú Insertar seleccionar la opción Módulo. pacio limitado para
2.En el módulo, escriba Proced, Función o Propiedad seguido por
almacenar variables.
el nombre de la macro. Cada vez que un pro-
3.Si hay argumentos, escríbalos entre paréntesis y separados por
cedimiento se llama a si
mismo, consume
un punto y coma. 4.Presionar la tecla
Enter. 5.Digitar el código. más de ese espacio.
Un procedimiento que
6.Escriba Fin Proced, Fin Función o Fin Propiedad y después presionar Enter. se llama a si mismo es lo
que se conoce
como un procedi-
miento recursivo. Un
ACTIVAR Y DESACTIVAR LA VERIFICACION DE
p roc e d i m i e n to
SINTAXIS PARA LOS MODULOS recursivo que se lla-
ma continuamente a si
mismo producirá fi-
1.Del menú Herramientas, seleccionar la opción Opciones. 2.Seleccionar la ficha
General-Módulo. nalmente un error.
Por ejemplo:
3.Seleccionar el cuadro de verificación “Interrumpir en todos los erro- res”, o eliminar la se-
lección.
Function
Agotar(Máximo)
4.Hacer un click en el botón Agotar =
Aceptar.
Agotar(Máximo)
End Function

Guía Práctica - Cómo 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

A
de Visual Basic, mientras se realiza la macro. Para interrumpir la macro antes de que finalice las acciones
que se han grabado, presione ESC.

ntes de grabar
Ejecutar una macro desde un módulo de Visual Basic
o escribir una macro,
planifique los pasos y
los comandos que 1.Abra el libro que contiene la macro.
desea que ejecute. 2.Seleccionar la opción Macro en el menú Herramientas y, a continuación,

hacer un click en la sub opción Macros. 3.En el cuadro Nombre


de la macro,
Si se comete algún
error mientras se gra- escriba el nombre de la macro que desea ejecutar.
ba la macro, también
se grabarán las co- 4.Hacer un click en el botón Modificar.

rrecciones que se 5.Hacer un click en el botón Ejecutar sub.


realicen. Cada vez
que se grabe una
macro, ésta se alma- Sugerencia.- Si desea ejecutar otra macro diferente mientras está
cenará en un nuevo
módulo adjunto a un
utilizando el Editor de Visual Basic, hacer un click en la opción Macros en el menú Herramientas. En el cuadro
libro. Nombre de la macro, escriba
el nombre de la macro que desea ejecutar y, a continuación, hacer
un click en Ejecutar.

Detener la ejecu- GRABAR UNA MACRO


ción de una macro

Para grabar una macro hacer los pasos siguientes:


·Nota Para dete-
ner una macro an-
tes de que finali-
ce las acciones, 1.Seleccionar la opción Macro del menú Herramientas y, a continuación, hacer un click en la opción Grabar
presionar la tecla nueva macro.
2.En el cuadro Nombre de la macro, digitar un nombre para la macro. El primer caracter del nombre de la
ESC. macro debe ser una letra. Los

demás caracteres pueden ser letras, números 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 método abreviado, escriba una letra en el cuadro Tecla de método
abreviado. Puede utilizarse CTRL+ l Letra(para letras minúsculas) o CTRL+ MAYUS + letra (para
letras mayúsculas), donde letra es cualquier tecla del teclado. La

" Guía Práctica - Cómo Automatizar Tareas con Excel Macros


tecla de método abreviado que se utilice no puede ser ni un número ni un caracter
especial. La tecla de método abreviado suplantará a cualquier tecla de método 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 ubicación 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

U
de macros personales en la carpeta INICIAR.

Para incluir una descripción de la macro, escriba la descripción en


el cuadro Descripción. n procedi-

miento Function es
5.Hacer un click en el botón Aceptar. una serie de instruc-
ciones de Visual Basic
Si se seleccionan celdas mientras se está ejecutando una macro, encerradas entre dos
i n s t r u c c ion e s
ésta seleccionará las mismas celdas independientemente de la celda que se haya seleccionado en Function y
primer lugar, ya que graba referencias absolutas de celda. Si desea tener una macro para End
seleccionar celdas independientemente de la posición que tenga Function. Un procedi- miento
Function es

similar a un procedi-
miento Sub, aunque
la celda activa cuando se ejecute la macro, configure el grabador
de macros para que grabe referencias relativas de celda. En la una función puede
barra de herramientas Detener grabación, hacer un click en Referencia. Microsoft Excel continuará grabando devolver además un
macros con referencias relativas
valor. Un procedi-
hasta que termine la sesión con Microsoft Excel o hasta hacer un click otra vez en Referencias miento
relativas. Function
acepta argumentos,
como pueden ser
6.Ejecute las acciones que desee grabar.
7.En la barra de herramientas Detener grabación, hacer un click en
constantes, variables o
expresiones que le
Detener grabación.
pasa el procedimien-
to que efectúa la lla-
Sugerencia.- Si desea tener una macro para seleccionar una celda determinada, ejecute una acción y mada. Si un procedi-
seleccionar otra celda relativa
miento Function no
tiene argumentos, la
a la celda activa; cuando se grabe una macro, pueden mezclarse referencias relativas y absolutas. Para instrucción Function
grabar una macro utilizando referencias, compruebe que está activada la opción Referencias relativas. Para
grabar una macro utilizando referencias absolutas, debe incluir un par de
paréntesis vacíos. Una
compruebe que la opción Referencias relativas no está habilitada.
función devuelve un
valor asignándolo a
su nombre en una o
Las macros eliminan tareas repetitivas y
más instrucciones del
crean informes automatizados. Visual Basic
procedimiento.
es el lenguaje usado para hacer estas
macros.

Guía Práctica - Cómo 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 módulo. También puede hacerse una copia del módulo de la macro para

duplicar todas las macros que contenga.

C
G Copiar parte de una macro para crear otra

UANDO
1.Abra el libro que contenga la macro que desee copiar
USAR MACROS Y .2.Seleccionar la opción Macro del menú Herramientas y, a continuación, hacer un click en Macros.
CUANDO NO:
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 opción Modificar.
realiza a diario más
5.Seleccionar las líneas de la macro que desee copiar.
rápido y no impor- 6.Para copiar toda la macro, asegúrese de que incluye las líneas Sub
ta ser repetitivo (ta-
y End Sub en la selección. 7.Hacer un click
rea grande). en Copiar.

8.Cambie al módulo en el que desee situar el código. 9.Hacer un click en Pegar.


·Cuando se van a ge-
nerar diversas va-
riantes del docu-
mento similar.
Sugerencia.- Para que una macro esté disponible siempre que se ejecute Microsoft Excel, almacene la
macro en el libro de macros personales. Como el libro de macros personales es un libro oculto que siempre
está abierto, si desea copiar una macro deberá mostrarlo.
·No, cuando se quie-
re el documento
compacto, evitando
repetir el mismo (en G Copiar un módulo de una macro a otro libro
este caso, usar pro-
cedimientos).
1.Abra el libro que contiene el módulo y el libro en que desea copiar el módulo.

2.Seleccionar Macro del menú Herramientas y, a continuación, hacer un click en el Editor de Visual
Basic.

3.En el menú Ver, hacer un click en Explorador de proyectos. Arrastre el módulo que desee
copiar al libro de destino.

Recuerde al crear una macro los pasos de grabar una macro de la página 24,
luego ubíquese en la hoja que desea que vaya la macro.

Coloque o seleccione características de como van a ir las celdas filas. Por ejemplo si
desea que la fila 1 contenga un texto en negrita sólo tiene que seleccionar la fila y
hacer un click en el botón 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.

$ Guía Práctica - Cómo Automatizar Tareas con Excel Macros


CAJAS DE DIALOGO

Una caja de Diálogo se utiliza para ingresar o seleccionar datos u opciones y así poder facilitar el reconocimiento
de éstos, como también el ingreso correcto de los mismos. Las cajas de Diálogo tendrán que ser diseñadas, 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 U na caja de

filtr o diálogo es una ven-


cr ea In te rfa se tana que se utiliza
Usuario Diálogo Interactuar Programa
para ejecutar cual-
quier
operación.
Ejemplo: Caja de
diálogo de Excel Esta ventana, según
sea el caso, mues-
tra una serie de ele-
CREACION DE UNA CAJA DE DIALOGO mentos visuales que
hacen más sencilla la
1. Hacer un click en el botón Modo Diseño, en la ventana de Excel. operación.

Si no tiene activo seleccionar Ver >Barra de herramientas > activar la subopción Visual Basic.
Una caja de diálogo
2. Hacer un click en el botón cuadro de controles, puede contener:
·BOTONES.- Son ele-
mentos utilizados
para poder iniciar la
Al activar el cuadro de controles se activa una ventana que contiene botones para Diseño la caja ejecución de una ta-
de Diálogo usted creará la caja de diálogo deseada, que posteriormente cada objeto insertado
tendrá un procedimiento la que llamará rea a partir de la caja
de diálogo. En la caja

desde un módulo para poder ingresar o mostrar los datos deseados. El formato de la hoja de diálogo anterior se
de diálogo aparecerá de la siguiente forma: tiene que, al utilizar el
botón de grabar, se
registrará toda la in-
formación propor-
cionada por
TITULO Barra de título
(+-Ventana) el
usuario. Dos puntas
C A NA D A
Q hacia adentro del
Elem entos de la caja:
P ER U

A c e p t ar
IT AL IA
F RA N C IA

botón permiten al
B R AS IL

JA PO N
R O MA

S U IZA
A LE MA NI A
H U N G R IA

USA
•Combinados (cuadros). usuario diferenciar
R •Edició n (cuadros).
C A RI BE
C U BA

E SP A ÑA

S a lir •Casilla de Verificació n entre varios boto- nes,


•Botones de Acció n
cual de ellos va
•Listas
A yu d a •Botones de Comando (aceptar, a ser utilizado.
cancelar, ayuda, salir, etc.).

Guía Práctica - Cómo Automatizar Tareas con Excel Macros %


U na caja de
Utilización de botones en la creación de la caja de diálogo.

diálogo puede conte-


ner
·OPCIONES SIMPLES. Confección de Cajas de Diálogo Propias
Este elemento visual
está conformado por
todos aquellos com- Insertar Macro Eiálogo
ponentes de un menú
que tienen la forma
de texto y que nos
indican una opera-
VENTANA CUADRO DE
ción a realizarse o un
CONTROLES
objeto a utilizar.
Como ejemplo de
este elemento, tene- Ventana cuadro de controles contiene botones que se usan para crear formularios
personalizados en hojas de cálculo, gráficos y hojas de diálogo.
mos en la ventana
superior la palabra
siguiente:
Descripción
Una opción de este Modo Diseño
tipo siempre presen- Cambia al modo Diseño de formulario, en el que se puede modificar o crear un
formulario utilizando las herramientas ActiveX del Cuadro de controles. Mien- tras
ta una de sus letras se encuentra en el modo Diseño de formularios,
con más brillo en la
este botón cambiará a Salir del modo Diseño.
pantalla, lo que sig-
nifica que se puede
acceder a ésta. sim- Propiedades del control
plemente presionan- Cambia en el archivo las propiedades de los controles ActiveX
o las opciones del campo de formulario seleccionado.
do dicha letra. Como
objetivo principal tie-
ne el de personalizar la Ver código
información de una Abre el Editor de Visual Basic, donde pueden escribirse comandos

de Visual Basic.
caja de diálogo.
·CUADROS DE CHE-
QUEO. Este elemento
define para una op- Casilla de verificación (Cuadro de controles)
Crea una casilla de verificación en una hoja de cálculo, en una hoja de diálogo, en un gráfico o en un
ción la selección en- documento o formulario.
tre dos posibilidades,
«SI» o «NO». Está re-
presentada por un Cuadro de texto (Cuadro de controles)
cuadrado pequeño Crea un cuadro de edición, en el que puede escribir texto, en una hoja de cálculo, en una hoja de
diálogo, en un gráfico o en
donde se marca con un documento o formulario.
una EQUIS para indi-
car SI; o dejar en
blanco lo que indica- Botón de comando (Cuadro de controles)
Crea un botón, al que puede asignar un procedimiento de Visual
ría NO.
Basic, en una hoja de cálculo, en una hoja de diálogo, en un

& Guía Práctica - Cómo Automatizar Tareas con Excel Macros


gráfico o en un documento o formulario.

Botón de opción (Cuadro de controles)


Crea un botón de opción en una hoja de cálculo, en una hoja de diálogo, en un gráfico o en un
U na caja de

documento o formulario. diálogo puede conte-


ner:

MCAJA DE SELECCIO-
Cuadro de lista (Cuadro de controles) NES. Este cuadro dentro
Crea un cuadro de lista en una hoja de cálculo, en una hoja de diálogo, en un gráfico o en un de la caja de
documento o formulario.
diálogo, nos permi-
te seleccionar una
posibilidad, de va-
Cuadro combinado (Cuadro de controles)
rias, para una deter-
Crea una combinación de cuadro de lista desplegable y de cuadro de edición en una hoja de cálculo, en una hoja
de diálogo, en un gráfico o en un documento o formulario.
minada opción. Este
elemento también
es de tipo exclusi-
vo y tiene como fi-
Etiqueta (Cuadro de controles) nalidad personalizar la
Crea una etiqueta de texto en una hoja de cálculo, en una hoja de diálogo, en un gráfico o en un
documento o formulario. información.
Dentro de este cua-
dro se muestran las

Títu lo
posibilidades, orde-
INGRESO DEL LOGOTIPO
(T i tle )
nadas de arriba ha-
C uadro d e Ed ic ión
T exto :
(Ed i t Bo x ) cia abajo o de iz-
l
T ít ul o
A ce p t ar
quierda a derecha y
L im p iar B otón
a la izquierda de
(Botto n)
Fi g ur a
S alir
cada una de ellas,
B otón d e O p ción
(O ption b ut ton s ) un pequeño círculo.
Para elegir una po-
sibilidad de la op-
Macro Funciones ción, ésta
debe
marcarse con la ba- rra
En inglés En español espaciadora y el
círculo
Funtion Areas (largo, ancho)
Función Areas (largo, ancho) contendrá
un punto en su in-
if largo=ancho
msgbox “Es un cuadrado”
Si largo=ancho entonces Cuadro terior.
Msj “Es un cuadrado”
Area=“ERROR”
Areas=“ ERROR”
else
si otro

AREA1=largo*ancho
·ASPAS DE SELEC-
AREA1=largo*ancho
End If CION. Esta opción
Fin Si
se utiliza para mar-
End Funtion
Fin Función
car una referencia,
indicándonos
si-
tuaciones de reali-
Cada uno de los elementos que puede integrar la caja de diá logo, pueden tener zación, Por ejemplo,
dos estados de comportamiento dentro de la caja de diá logo a la que
si encontramos esta
pertenece.
aspa, no indicará
·Disponible .- Que indica que la opció n está activa, pudié ndose acceder a ella
que el elemento al
en cualquier momento presionando siempre la letra resaltada que lo
identifica. que pertenece ha
sido considerado.
·No disponible.- Debido a la interoperabilidad y las relaciones de
dependencia que puedan existir entre las distintas opciones de una caja de diá
logo, es probable que una opció n este imposibilitada para se utilizada.

Guía Práctica - Cómo Automatizar Tareas con Excel Macros '


Ejecutar una macro desde un método abreviado

1. Seleccionar Macro en el menú Herramientas y, a continuación,


hacer un click en la opción Macros.
2.
En el cuadro Nombre de la macro, escriba el nombre de la macro a la quedesea asignar
un método abreviado.
3. Hacer un click en Opciones.
4.

Para ejecutar la macro presionando una tecla de método abreviado, escriba una letra en el cuadro

C
Tecla de método abreviado. Puede utilizarse CONTROL+ letra o CONTROL+ MAYÚS + letra,
donde letra es cualquier tecla del teclado. La tecla

ómo evitar
de método abreviado suplantará a cualquier tecla de método abreviado predeterminada en
problemas con las Microsoft Excel mientras esté abierto el libro que contiene la macro.
teclas de método
abreviado.
Para incluir una descripción de la macro, escriba la descripción en
el cuadro Descripción.
Si existen dos hojas
de macros que con-
5. Hacer un click en el botón Aceptar.
tiene macros con las
mismas teclas de 6. Hacer un click en el botón Cancelar.

método abreviado,
Excel ejecutará el Ejecutar una macro desde un botón o un control gráfico

macrocomando de la
hoja de macros cuyo Puede asignar una macro a un botón, a un objeto de dibujo o a un
nombre aparece pri-
mero en
orden control gráfico en la hoja de cálculo. Si hace un click en el botón u objeto de dibujo o se cambia el control,
alfabético. Cuando por ejemplo, haciendo click en una casilla de verificación o un elemento de una lista, la macro se ejecutará
asigne teclas de mé- de forma automática.

todo abreviado, ase-


gúrese de evitar con-
flictos con las demás También puede ejecutar una macro de un control ActiveX. Para obtener más información acerca de
hojas de macros que cómo crear un control ActiveX, haga clic en .

utilice.

1.
Hacer un click en el botón o el control gráfico para que aparezcan los controladores de
selección.
Escritura de un
2.
macrocomando. Hacer un click en el controlador de selección del botón o del control gráfico y, a continuación,
hacer un clicK en Asignar
Macro en el menú contextual.
También se pueden
introducir las fórmu- 3.

las de Para asignar una macro ya existente al botón o al control gráfico seleccionado, escriba el
un nombre de la macro en el cuadro Nombre de la macro y luego hacer un click en el botón
macrocomando direc- tamente Aceptar.
en una hoja

de macros sin necesi-


dad de grabar. Para grabar una nueva macro y asignarle el botón u objeto gráfico, hacer un click en
Grabar.

! Guía Práctica - Cómo Automatizar Tareas con Excel Macros


Ejecutar una macro desde un botón de la barra de herramientas

Puede ejecutarse una macro desde un botón, desde una barra de herramientas integrada
o desde una barra de herramientas personalizada.

1. Del menú Herramientas, hacer un click en Personalizar.

2.
Si la barra de herramientas que contiene el botón no es visible, hacer un click en la ficha Barra de herramientas y, a continuación,
seleccione la casilla de verificación que aparece junto al nombre de la barra de herramientas.

3.
Si el botón que desea utilizar para ejecutar la macro no pertenece a la barra de herramientas, hacer un click en la ficha Comandos y, a
continuación, hacer un click en

Macros en la lista Categorías. En la lista Comandos, arrastre el botón Personalizar a una barra de herramientas.

4. Hacer un click en el botón de la barra de herramientas y, a continuación, hacer un click


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

Ejecutar una macro desde un área, zona interactiva o un objeto gráfico

1. Crear un objeto gráfico.


2.
Dibujar otro objeto gráfico sobre el primero en el lugar en que desee crear una zona interactiva.

3.
Con el segundo objeto gráfico todavía seleccionado, hacer un click con el botón secundario en el controlador de selección del botón o del
objeto gráfico para ver el menú de método abreviado.

4. En el menú contextual, hacer un click en Asignar macro.


5.
Para asignar una macro al botón o control gráfico, escriba el nombre de la macro en el cuadro Nombre de la macro y, a continuación,
hacer un click en el botón Aceptar.

Para grabar una nueva macro y asignarla al objeto gráfico seleccionado, hacer un click

en Grabar. Cuando finalice de grabar la macro, hacer un click en Detener grabación que se ubica en la barra de herramientas Grabar
macro.

6.
En el menú Formato, hacer un click en Autoforma y, a continuación, hacer un click en la ficha Colores y líneas.

7.
Bajo Rellenar, hacer un click en Sin relleno en el cuadro Color. Bajo Línea, hacer un click Sin línea en el cuadro Color.

8. Repita los pasos del 2 al 7 para cada zona interactiva que desee crear.

Guía Práctica - Cómo Automatizar Tareas con Excel Macros !


ALGUNAS FUNCIONES
DE VISUAL BASIC

En seguida se muestran algunas funciones interconstruidas de Visual Basic. Una función es un


procedimiento que devuelve un valor.

ARCHIVO

U n procedi-
·FileAttr - Devuelve información del sistema operativo acerca dl archivo que esta abierto.

·FileDateTime - Devuelve una cadena de caracteres que


miento Function es indican la fecha y la hora de la última modificación del archivo.
una serie de instruc-
ciones de Visual Basic ·FileLen - Devuelve un entero largo que indica la longuitud en bytes de un archivo .
encerradas entre dos
i n s t r u c c ion e s ·FreeFile - Devuelve el siguiente numero de archivo valido que no esta en uso.
Function y End
·GetAttr - Devuelve un entero qu indica los atributos de un
Function.

archivo, directorio, o etiqueta de volumen.


Instrucción.-Unau ·Loc - Devuelve la posición actual en un archivo abierto. ·LOF - Devuelve el tamaño en
n i d a bytes de un archivo abierto. ·Seek - Devuelve la posición del archivo actual.
d s
intácticamente
completa que expre- NÚMERO
sa un tipo de acción,
declaración o defini- ·Abs - Devuelve el valor absoluto de un número.
ción. Normalmente
una instrucción tiene ·Atn - Devuelve el arcotangente de un número.
·Cos - Devuleve el coseno de un ángulo (ángulo en radianes). ·Sin - Devuelve el seno de un
una sola línea aunque ángulo (ángulo en radianes).
es posible utilizar dos
puntos (:) para poner
más de una instruc- CADENA
ción en una línea.
También se puede
utilizar un carácter de
·InStr - Devuelve la posición de la primera ocurrencia de una cadena dentro de otra cadena de
continuación de línea caracteres
·LCase, LCase$ - Devuelve una cadena de caracteres en la cuál todas las letras han sido
(_) para continuar una convertidas a minúsculas.
sola línea lógica en
una segunda línea fí- ·Left, Left$ - Devuelve los n cacarteres a la izquierda de un cierto argumento. (cadena).
sica.

·Len - Devuelve el número de caracteres en una expresión de cadena o el número de bytes


necesarios para almacenar una variable.

·LTrim, LTrim$ - Devuelve una copia de una cadena eliminando todos los espacios en blanco.

·Mid, Mid$ - Devuelve una cadena qu es parte de una cadena. ·Right, Right$ - Devuelve los
n caracteres más a la derecha

! Guía Práctica - Cómo Automatizar Tareas con Excel Macros


de un argumento determinado.
·RTrim, RTrim$ - Devuelve una copia de la cadena de caracteres

con los espacios de la derecha eliminados.


·Space, Space$ - Devuelve una cadena que consiste de un número especifico de
espacios.

·Trim, Trim$ - Devuelve una copia de una cadena con los espacios de ambos lados
eliminados.

·UCase, UCase$ - Devuelve una cadena con todas las letras convertidas a mayúsculas.

HORA/FECHA

·Date, Date$ - Devuelve la fecha actual..


E n el siguiente

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

VARIABLE CONVERSION "Por favor, introduzca la tem-

peratura en grados F.",

Tipo:=1)
·CCur - Explicitly converts expressions to the Currency data type. MsgBox "La temperatura es "

& Celsius(temp) & " grados C."

End Sub

·CDbl - Explicitly converts expressions to the Double data type. ·CInt - Explicitly converts expressions
to the Integer data type. ·CLng - Explicitly converts expressions to the Long data type. ·CSnd - Function Celsius(GradosF)
Explicitly converts expressions to the Single data type. ·CStr - Explicitly converts expressions to the
String data type. Celsius = (GradosF - 32) * 5 /

End Function
·CVar - Explicitly converts expressions to the Variant data type. ·CVDate - Converts an expression to a
Variant of VarType 7 (Date).

Guía Práctica - Cómo 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

automáticas que inicialmente se agregan en forma automática cuando se inicia Excel.

Administrador de macros automáticas.-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-
PROGRAMANDO MACROS
nes de declaración se
usan para dar nom-
bre y definir procedi-
mientos, variables, AÑADIR BORDES GRUESOS
matrices y constantes
El siguiente ejemplo
contiene tres decla- Para añadir 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 instrucción Sub
Selection.Borders(xlLeft).LineStyle=xkNone
(con la correspon- Selection.Borders(xlRight).LineStyle=xkNone
diente instrucción End Selection.Borders(xlTop).LineStyle=xkNone
Sub) declara un Selection.Borders(xlBottom).LineStyle=xkNone
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.

!" Guía Práctica - Cómo 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 = Para dar nombre a p
xlHorizontal
End With roc e d i m i e n tos ,
constantes, variables y
End Sub argumentos en un
módulo de Visual
Basic han de seguir-
se las siguientes re-
glas:
·El primer carácter
debe ser una letra.
·En el nombre no se
pueden utilizar espa-
cios, puntos (.), sig-
nos de interjección

CAMBIAR A NEGRITAS (!), ni @, &, $, #. ·El


nombre no puede
tener más 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 métodos 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
mayúsculas y minús-
culas, pero respeta la
forma en que se es-
criben las instruccio-
nes de declaración de
nombres.

Guía Práctica - Cómo Automatizar Tareas con Excel Macros !#


ESCRIBIR DIAS DE LA SEMANA

Para escribir días de la semana desde A8, hacer el programa siguiente:

‘días Macro
‘Escribir los días de la semana desde A8 ‘

Sub días ()

Range(“A8”). Select ActiveCell.FormulaRCC2


=”Lunes”

U na instrucción
Selection.Autofill Destination: Range (“A8:A14), Type:)=xlFillDefault Range(“A8:A14”).Select

End Sub

ejecutable inicia una


acción. Puede ejecu-
tar un método o fun-
ción y saltar a blo-
ques de código o no
ejecutar otros. Las
i n s t r u c c ion e s
ejecutables incluyen a
menudo operadores
condicionales o ma- ESTABLECER LA FUNCION SUMA
temáticos.
El siguiente ejemplo
utiliza la instrucción
Para establecer la función SUMA en la celda B15, hacer el programa siguiente:
For Each...Next para
pasar por cada una de
las celdas de un ran-
‘sumatoria Macro
go
llamado ‘Establece función SUMA en celda B15 ‘
Milntervalo en la Hoja1
Sub sumatoria ()
de un libro
Microsoft Excel ac-
Range(“B15”). Select ActiveCell.FormulaR1C1
tivo. La variable c =”TOT.SEMA=” Range(“B15”).Select
es una celda en la
ActiveCell.FormulaR1C1 =”=SUM(R [-7]C:R[-1]C)”
colección de celdas
que componen el End Sub
Milntervalo.
Sub DarFormato()
Const limite As Integer = 33 For
Each In
Wor k s h e e t s
(“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

!$ Guía Práctica - Cómo Automatizar Tareas con Excel Macros


CAMBIAR FORMULAS A VALORES
E l editor de vi-

sual Basic proporcio-


na muchas herra-
Si alguna vez ha tenido un puñado de fórmulas en una hoja de cálculo que necesitaba reemplazar
con los valores calculados, apreciará esta macro que hace el trabajo por usted. La macro mientas que se pue-
den usar para dise-
es la siguiente: ñar aplicaciones grá-
ficas.
‘valores Macro Proyectos
‘cambiar fórmulas a valores ‘ Lenguaje Visual
Sub Form2Val ()
Basic
Formularios y con-
For Each c In Selection.Cells c.Formula=
troles
c.Value
Barras de menú
Next c Módulos

End Sub
Un formulario inclu- ye
los controles y el
Para usar esta macro, colóquese en la celda o seleccione las celdas que quiere cambiar y ejecútela.
código asociado a
Lo demás es automático.
dicho
formulario.
Podemos compartir
código en todo el
CONTROLAR MAYUSCULAS/MINUSCULAS
EN LAS CELDAS proyecto colocando el
código en un mó-
dulo de formulario o
en un
Aquí se encuentra un par de macros para cambiar las entradas módulo
estándar y declaran- do
de celdas entre mayúsculas y minúsculas. Para convertir el texto en mayúsculas, para ello use la el procedimiento
siguiente macro:
como Public. Los
Sub MakeUpperCase() formularios se crean
como interfaz de la
For Each c In Selection.Cells c.Value= UCase$ aplicación. Cada for-
(c.Value)
mulario es una ven-
Next c End tana que presenta
Sub
controles, gráficos u
otros
formularios.
Para cambiar el texto a minúsculas utilizar esta macro similar: Los formularios se
pueden usar de dife-
rentes maneras:
Sub MakeLowerCase()
For Each c In Selection.Cells c.Value=LCase$
(c.Value) Como una pantalla
ilustrada como in-
Next c End
Sub troducción a una
aplicación.

Para utilizar cualquiera de estas macros, simplemente colóquese


Como un libro den- tro
de una aplicación.
en la celda o seleccione las celdas que quiera cambiar, y ejecute la macro. Como un cuadro de
diálogo.

Guía Práctica - Cómo Automatizar Tareas con Excel Macros !%


ELIMINAR ESPACIOS EN CELDAS

Los epacios extra que están 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 ‘

El lenguaje que se usa Sub TrimIt()


también se encuen- For Each c In Selection.Cells
tra en muchas apli- c.Value=Application.Trim(c.Value)
caciones de
Microsoft Office Next c End
como VisualBasic o Sub
Project, . Las carac-
terísticas del lengua- je
incluyen:
Para usar esta macro, colóquese en la celda o seleccione las celdas que quiere cambiar y ejecútela. Lo demás
es automático.

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

!& Guía Práctica - Cómo Automatizar Tareas con Excel Macros


EJEMPLOS DE APLICACION

A continuación se muestra ejemplos de aplicaciones hechas con el


editor de Visual Basic de Excel:

EJEMPLO Nº1

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.
También hacen más
atractivos los for-
Diseñar el formulario con las siguientes características : 1. Ingresar el nombre del usuario mularios. Para dibu-
jar controles en un
2. Digitar la contraseña formulario se usa el
3. Hacer un click en el botón Aceptar para Ingresar al sistema, si es
Cuadro de herra-
correcta debe salir un aviso “Bienvenido al sistema”. si no digita la clave correcta debe salir un aviso “No mientas.
tiene autorización”
4. Hacer un click en el botón Salir si no tiene autorización.
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-
terísticas,
tales
como tamaño, nom- bre
y posición. La
ventana Propiedades
enumera todas las
A con t i n u a c i ó n
propiedades y los
se muestra las valores del control o
Propiedad Valor
fases en la módulo selecciona-
con s t r u c c i ó n de do actualmente.
una aplicación

Guía Práctica - Cómo 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 Contraseña cambiar

el tipo de fuente con la FASE DE


DISEÑO
propiedad Font. Luego para 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 aplicació n responda a las


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

FASE DE
EJECUCION

La interfaz de usuario de una aplicació n está


compuesta por objetos, formularios y controles que
permiten a los usuarios introducir y ver informació n.
Cada uno de estos objetos reconoce acciones, tales
como hacer click en un botó n, abrir un formulario o
escribir en un campo. Estas acciones se denominan
eventos. Cuando se produce un evento en la aplicació n, el
editor de Visual Basic lo reconoce automá ticamente
y ejecuta el có digo escrito. Este có digo se denomina
procedimiento de evento.

" Guía Práctica - Cómo Automatizar Tareas con Excel Macros


EJEMPLO Nº2

Hacer un Juego donde:


1. Al hacer un click en el botón Jugar empieza a sortear los números, dado 1 y dado 2 de

modo que la suma de ambos debe dar 7 para ganar. Cualquier otro número 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 botón Jugar.

5. Para salir del juego hacer un click en el botón Salir, debe salir un aviso si desea salir del juego, si hace un click en el botón si sale del juego, y si hace un
click en el botón no entonces

reiniciará el juego.
A continuación se muestra las imágenes del juego:

Pantalla inicial Pantalla 1 Pantalla 2

En el momento de diseñar tener

se denominó a los objeto de la siguiente


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

Guía Práctica - Cómo Automatizar Tareas con Excel Macros "


Algunas consideraciones:

1.Insertar las imágenes superpuestas, para ello, en la ventana de propiedades, Private Sub Form_Load()
la propiedad Image1.Visible = False

Picture insertar un valor es decir, seleccionar la imagen que desea que vaya Image2.Visible = False
en el formulario. Image3.Visible = False

Luego en la propiedad Visible seleccionar el valor False. lblm1.Visible = 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()

RPTA = MsgBox("¿Desea Salir del Juego?", 4 + 32, "DESEA


BackColor. SALIR")
Luego en la propiedad Visible seleccionar el 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() Do While 1


x = Int(Rnd * 10)
If x >= 1 And x <= 6 Then
x = Int(Rnd * 10)
lbld1.Caption = Str(x) If (x >= 1 And x <= 6) Then
lbld1.Caption = Str(x)

Exit Do End
If Loop
Exit Do End
If Loop

Do While 1
y = Int(Rnd * 10) End Sub

If y >= 1 And y <= 6 Then lbld2.Caption


= Str(y)
Private Sub LBLD2_Click() Do While 1

Exit Do 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)) If x + y = 7 Then Exit Do 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

" Guía Práctica - Cómo Automatizar Tareas con Excel Macros


EJEMPLO Nº3

Insertar un

Diseñar una macro que sombree en forma de un recuadro al presionar


un botón (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 botón de


comando, cuyo nombre
sea “Sombreado”.

El código en el Editor de Visual Basic, insertar Si desea agregar el evento click con el botón de comando creado,
un módulo y escribir lo siguiente: seleccionar la hoja del

' libro donde se encuentra el boton creado lluego hacer doble click sobre el
'sombreado botón y digitar

'
el siguiente código:
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

Guía Práctica - Cómo Automatizar Tareas con Excel Macros "!


1234567890123456789012345678901212345678901234567890123

Procedimiento. Es una secuencia con


123456789012345678901234567890121234567890123456789012 3
123456789012345678901234567890121234567890123456789012 3
123456789012345678901234567890121234567890123456789012 3

Para ejecutar en otro libro esta macro (por ejemplo en el libro 2), 123456789012345678901234567890121234567890123456789012

nombre de instrucciones que se ejecutan


123456789012345678901234567890121234567890123456789012
3
3
123456789012345678901234567890121234567890123456789012 3
presionar el botón de 123456789012345678901234567890121234567890123456789012
123456789012345678901234567890121234567890123456789012
3
3
como una unidad. Por ejemplo, Function,
123456789012345678901234567890121234567890123456789012
123456789012345678901234567890121234567890123456789012
123456789012345678901234567890121234567890123456789012
3
3
3

ejecución, luego se muestra una ventana de Macro. Property y Sub son todos tipos de
123456789012345678901234567890121234567890123456789012
123456789012345678901234567890121234567890123456789012
123456789012345678901234567890121234567890123456789012
3
3
3

procedimientos.
123456789012345678901234567890121234567890123456789012
123456789012345678901234567890121234567890123456789012
123456789012345678901234567890121234567890123456789012
Un nombre 3
3
3
123456789012345678901234567890121234567890123456789012 3
123456789012345678901234567890121234567890123456789012 3
123456789012345678901234567890121234567890123456789012 de 3
123456789012345678901234567890121234567890123456789012 3
Seleccione la macro “sombra”, para ello, seleccionar el libro donde desea que se procedimiento siempre se define a nivel
123456789012345678901234567890121234567890123456789012 3
123456789012345678901234567890121234567890123456789012 3
de mó dulo. Todo el có digo ejecutable debe
ejecute la macro. 123456789012345678901234567890121234567890123456789012
123456789012345678901234567890121234567890123456789012
3
3

Finalmente hacer un click en el botón Ejecutar.


estar contenido en un procedimiento. Los
123456789012345678901234567890121234567890123456789012
123456789012345678901234567890121234567890123456789012
123456789012345678901234567890121234567890123456789012
3
3
3

procedimientos no se pueden anidar dentro


123456789012345678901234567890121234567890123456789012
123456789012345678901234567890121234567890123456789012
123456789012345678901234567890121234567890123456789012
3
3
3
123456789012345678901234567890121234567890123456789012 3

de otros procedimientos.
123456789012345678901234567890121234567890123456789012
123456789012345678901234567890121234567890123456789012
1234567890123456789012345678901212345678901234567890123
3
3

ParaCopiar código de ejemplo de la Ayuda a la aplicación,


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 página. Se muestra el código de ejemplo.

Finalmente al ejecutar la macro entonces automáticamente se mostrará


como en la figura: 3.Hacer un click con el botón secundario

del mouse en la parte del código que desea copiar a la


aplicación.

4.Seleccionar Copiar del menú contextual.

5.Mover el enfoque detrás de la ventana Código y colocar el


puntero del mouse donde desea insertar el código.

6.Hacer un click con el botón secundario del mouse de nuevo y


seleccionar Pegar para insertar el ejemplo de código en la

ventana Código.

Cómo Copiar código de ejemplo de la Ayuda

A veces puede desear copiar un ejemplo útil Recuerde.- También puede presionar las teclas al mismo tiempo
CTRL+C para copiar un ejemplo
de la Ayuda de Visual Basic. Mientras que muchos ejemplos seleccionado en la ventana Ayuda.
necesitan mucho código para

funcionar correctamente, algunos ejemplos son útiles para ver cómo se


comporta un procedimiento Presionar CTRL+V para pegar el ejemplo en la ventana Código.
particular en una técnica de flujo de control.

"" Guía Práctica - Cómo Automatizar Tareas con Excel Macros


EJEMPLO Nº4

Esta aplicación permite mostrar los resultados del tipo de cambio en dólares 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 dólares equivaldría a 28,9855072463768 centavos

de dólar. Si se desea saber otros montos entonces hacer un click en el botón Otro y si deseo terminar la sesión hacer un click en el botón Salir.

Para realizar este aplicación, se debe tener en cuenta lo siguientes pasos:

Guía Práctica - Cómo Automatizar Tareas con Excel Macros "#


El código sería el siguiente:

Private Sub SALIR_Click() End


Private Sub OTRO_Click()
txttipo = "" End Sub
txtmonto = ""
txtresul = ""

txttipo.SetFocus End Sub


Private Sub UserForm_Click()

End Sub
Private Sub resul_Click()
If (Option1.Value = True) Then
Finalmente, sólo queda ejecutarlo; generalmente, Se pueden cometer tres tipos
txtresul = Val(txtmonto) / Val(txttipo)
de errores:

Errores de compilación: Fallos provocados por la incorrecta construcción


Else del código.
txtresul = Val(txtmonto) * Val(txttipo)
End If
Errores en tiempo de ejecución: Fallos que Visual puede detectar cuando
nuestro programa se ejecuta. Errores de lógica: Fallos que producen resultados
incorrectos o que provocan que el programa no
End Sub

se ejecute de la manera esperada.

"$ Guía Práctica - Cómo 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 acción
que desencadena un virus de macro, éste puede activarse, transmitirse al equipo y almacenarse en un libro
oculto u otra ubicación que no pueda detectarse. A partir de ese momento, todos los libros que se guarden
pueden «infectarse»

automáticamente 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 uando se abre para buscar y quitar los virus de macro. Si desea este tipo de protección deberá adquirir e instalar software antivirus. No
obstante, Microsoft Excel puede presentar un mensaje de advertencia siempre que se abra un
libro que contenga macros. A continuación, puede elegir entre abrir el
el libro afectado o se
ejecuta una acción
que desencadena un libro con las macros habilitadas o inhabilitar las macros, de modo que pueda ser el único usuario que las vea y las
virus de macro, éste modifique. Un virus de macro únicamente puede ser perjudicial si se le permite ejecutarse; por tanto, si se inhabilitan
las macros, puede abrirse el libro con seguridad.
puede
activarse,
transmitirse al equipo y
almacenarse en un G
Si se espera que el libro contenga macros útiles (por ejemplo, un formulario de pedidos para la
libro oculto u otra organización), puede hacerse click en Habilitar macros para abrir el libro con las macros habilitadas.
ubicación que no
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 través de un mensaje del correo electrónico 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.

Guía Práctica - Cómo Automatizar Tareas con Excel Macros "%


Pero aún podrán examinarse y modificarse las macros. Si hace click en

Guardar en el menú Archivo, se guardarán las macros. A continuación, 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á
también cuando se abra un libro que

contenga controles creados mediante el Cuadro de controles.


GPara obtener información acerca de como desactivar las macros que puedan contener virus, hacer un click en
ayuda.
GPara obtener más información acerca de los virus de macro, incluida la información acerca de cómo adquirir
software que explore los libros

y quite los virus de macro conocidos, puede obtener información acerca de protección antivirus de Microsoft en
World Wide Web.

COMO REMOVER MACROS


QUE NO SON VIRUS

L o más conve-
Los macrovirus irremovibles, son una razón por la cual surgen macros que no son exactamente virus, es la
acción deficiente de ciertos
niente trate de usar
siempre un programa productos antivirus, o la concurrencia de macrovirus que se sobreescriben unos a otros. Pero no es éste el único caso.

antivirus, cuya sin-


taxis se documenta
Por más de un motivo, pueden llegar a nuestros documentos macros
en la sección de
macrovirus
irremovibles y podrá no deseadas o no conocidas. Las causas pueden ir desde un macro malicioso, lo que se conoce como un
librarse de todo «caballo de Troya» escrito por un empleado travieso, o avieso, hasta una macro bien intencionada que
simplemente no fué reportada por su autor, pero que hace cosas
macro, viral o no viral,
malicioso o ino-
cuo.
inesperadas como mostrar ventanas, abrir archivos, etc. Esas macros no son virus, no contienen código infeccioso
y, por mucho daño que hagan, no pueden considerarse virus y ninguna compañía de antivirus que se respete a
sí misma, debe convertir su tarea en una cacería de brujas.

La misma metodología 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 más conveniente trate de usar siempre un programa antivirus, cuya

"& Guía Práctica - Cómo Automatizar Tareas con Excel Macros


sintaxis se documenta en la sección 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 código útil, sino
aplicaciones completas que puedan inutilizar el manejo que se pretendía dar al documento. En términos

generales, como usuario usted podrá decir en la mayoría de los casos si las macros en su documento sirven a
algún propósito o no. Sólo en el caso de documentos generados por terceros podría darse el caso de código
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, ningún 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 método, pero el texto y
su formato se conservan.

El programa antivirus generalmente acompaña a todas las plataformas.

Lo que sí sucede con mucha frecuencia, es que algunos productos antivirus no eliminan por completo el
código agregado por los virus

debido a que no hacen una identificación exacta de la variante, dejando remanentes que, si bien ya no pueden
propagarse, eventual- mente continúan ejecutándose o, lo que es peor, dejan corrompido el código
haciéndolo 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 daños que aquellos causan. De modo que un buen número
de virus como el CAP, el NPAD y el WAZZU, alteran el texto y los menúes

de los documentos, haciendo pensar al usuario que el virus aún se aloja en sus archivos. Lo que sucede aquí es que
los programas antivirus pueden retirar el código viral, pero no siempre pueden revertir los daños causados porque el
antivirus no tiene forma de saber cuál era el

contenido original del documento.

Cualquier macro, no sólo los virus, puede fácilmente propagarse a través de una red o de documentos
simples cuando se soslayan las

capacidades de una aplicación tan poderosa como son las de Microsoft Office. Si un usuario avanzado
genera un documento con

Guía Práctica - Cómo 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 típico 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 situación no es de ninguna manera extraña. 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 algún

virus pueda dañar el sistema, utilice este procedimiento para presentar un mensaje de advertencia siempre que
intente abrir un libro que contenga una macro. Puesto que esta comprobación no determina si alguna macro en
el libro actual contiene algún virus, asegúrese 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 daños causados por macros con virus si el libro procede de una red insegura o de un sitio
Internet.

1.En el menú Herramientas, hacer un click en Opciones y elija la ficha General.

2.Active la casilla de verificación Protección antivirus en macros.

Interrumpir el examen de libros en busca de macros que puedan contener virus

1.En el menú Herramientas, hacer un click en Opciones y elija la ficha General.

2.Desactive la casilla de verificación Protección antivirus en macros.

# Guía Práctica - Cómo Automatizar Tareas con Excel Macros


PALABRAS CLAVES DE VISUAL BASIC PARA EXCEL

ESPAÑOL INGLES

A Abajo To Dow
n

Abrir Texto Abrir OpenText


Vínculos OpenLinks

Acción Action
Activar Activate

Activar Anterior Activar ActivatePrevius


Siguiente ActivateNext

Actualizar
Update ScreenUpDating
Actualizar Pantalla Actualizar UpdateLinks
Vínculos

Agregar Agregar A
Add
Tabla
AddToTable
AddFields
Agregar Campos Agregar
Elemento AddItem

Agregar Menú AddMenú


Agrupar Group

FitToPagesTall
Ajustar Alto A Páginas Ajustar Ancho FitToPagesWide
A Páginas Ajustar Automáticamente

AutoFit OnSheetActivate
Al Activar Hoja Al OnUndo
Deshacer

Alignment
Alineación Alineación Horizontal HorizontalAlignment
Alineación Vertical
VerticalAlignment OnEntry
Al Introducir

Al Introducir Datos Al Repetir


OnData
OnRepeat

Alto Alto Fila


Height
RowHeight
Width
Ancho ColumnWidth
Ancho Columna
Anterior
Previus
Before
Antes
Anular Selección
Deselect
Apariencia Appearance File
Archivo

Area Gráfico Area ChartArea


Impresión PrintArea

Arrastrar Colocar Celdas CellDragAndDrop

Guía Práctica - Cómo Automatizar Tareas con Excel Macros #


ESPAÑOL INGLES

Autoformato AutoFormat
Autollenar AutoFill

Barra Desplazamiento Barra ScrollBar


Estado StatusBar

Barra Herramientas Barras


Menús TollBar
MenuBar
Bloqueado Locked

Borde Border
Borrar Clear

Borrar Contenido Borrar ClearContents


Formatos ClearFormats

Botón Botón Button OptionButton


Opción Buscar Find

Buscar Como LookAt

Cadena
Calcular String Calculate
Reshape

Cambiar Forma Cambiar


Tamaño C a m po Resize Field

Campos tabla Dinámica Canal PivotFields


Channels

Categoría Celda Category


Activa ActiveCell

Centrar Horizontalmente Cerrar CenterHorizontally Close

Colocar Placement
Combinar Merge

Compilar Build Contents


Contenido Password
Contraseña

Convertir Copiar Convert Copy

Cruza Crosses
Cuadro Diálogo Cuenta DialogBox
Count
Datos Data

Desplazar
Destino Shift Destination
Offset

Desviar
Dibujo Drawing

Dirección Address
Diseño Pattern

Dividir Doble Clic Split DoubleClick


Duplicado Duplicate

# Guía Práctica - Cómo Automatizar Tareas con Excel Macros


ESPAÑOL INGLES

Edición Eje Edition Axis

Elemento
Elevación Item Elevation
Delete

Eliminar Elipse
Oval
Encabezado Header

Entradas Listas Escala ListCount


Automática Espacio AutoScaling Space

Espera Wait

Esquema Outline
Esquinas Corners

Estado Estilo Status


Línea LineStyle

Estructura Evaluar Structure


Evaluate

Fecha Fila Date


Row

Fin End

Background
Fondo Format
Formato
Fórmula
Formula Font
Fuente

Función Funtion
Galería Gallery

Giro Rotation
Grabar Record

Grabar Macro RecordMacro Chart


Gráfico

Grosor Weitgth
Grupos Groups

Guardar Save

Habilitado Hoja Enabled


Sheet

Hoja Activa Hoja ActiveSheet


Cálculo WorkSheet

Time Id
Hora Identificador
Imagen

Picture
Importar Import

Importar Datos Imprimir ImportData Print

Include Step
Incluir Incremento
Indice
Index

Guía Práctica - Cómo Automatizar Tareas con Excel Macros #!


ESPAÑOL INGLES

Inferior Inicio Bottom


Start

Insertar Interactivo Insert Interactive


Leyenda Legend

Línea Line List


Lista

Maestro Parent
Memoria Disponible Modelo MemoryFree Style

Módulos Modules

Mostrar Mostrar Errores Show ShowErrors


Mover Mov e

Nombre Name

Nombre Archivo Nota FileName Note

Número Number
Objeto Object
Ocultar Hide

Opción Option
Operación Operation
Operador Operator
Ordenar Sort

Organizar Arrange
Orientación Orientation

Página Actual Palabra CurrentPage Word

Palabras Clave Pegar KeyWords


Paste

Período
Plantilla Period
Template By
Por

Presentación Preliminar Presionado PrintPreview Pushed

Procedencia Origin
Procedimiento Procedure

Proteger Punto Protect Point

Quitar Raíz Remove


Root

Rango Rectángulo Range Rectangle


Reemplazar Replace

Referencia Repetir Reference


Repeat

#" Guía Práctica - Cómo Automatizar Tareas con Excel Macros


ESPAÑOL INGLES

Reproducir Play
Restablecer Reset

Restaurar
Resumen
Restore
Summary
Caption
Rótulo Ruta
Acceso Salir Path
Quit

Sección
Selección Pane Selection
IsGap

Separación
Separador Delimiter

Series Next
Serie Siguiente
Sombra

Shadow
Subtotal Subtotal

Superior Tabla Top


Table

Tabla Dinámica PivotTable Tab


Tabulación
Tamaño Size

Tecla
Tema Key Topic
Text

Texto Tiene
Fórmula HasFormula

Tipo Type
Título Title

Título Eje Título AxisTitle


Gráfico ChartTitle

RowGrand
Total Fila Transpose
Transponer
Unicos
Unique
Union
Unión
Valor Value

Ventana Ventana Window


Activa Verbo ActiveWidow Verb

Verificado Checked

Versión Version
Vértice Vertex

Vínculos Link Visible


Visible

Volátil Volatile
Windows Para PenComputing WindowsForPens

Guía Práctica - Cómo Automatizar Tareas con Excel Macros ##


#$ Guía Práctica - Cómo Automatizar Tareas con Excel Macros
G LOSARIO V ISUAL

USO DEL MOUSE

En esta sección se incluye información básica sobre el uso del mouse


y se explican los distintos tipos de punteros del mouse.
Un mouse, u otro dispositivo señalador, funciona siguiendo el principio por el que primero se sitúa el puntero del

7
mouse (se señala) en algún

elemento de la pantalla y, a continuación, se hace click con el botón del mouse para efectuar una acción sobre
n mouse, u el elemento.

otro Nota.- La documentación de Excel es parte del supuesto de que el


dispositivo
señalador, funciona
siguiendo el principio
usuario dispone de un mouse y de que es diestro.
por el que primero se Al desplazar el mouse sobre una superficie plana, el puntero del mismo
sitúa el puntero del se moverá en la pantalla. Si le falta espacio, levante el mouse y sitúelo en un lugar en que le sea más cómodo
desplazarlo.
mouse (se señala) en
algún elemento de la
Para señalar, mover el mouse hasta que la punta del puntero se encuentre sobre el elemento o área que se
pantalla. desea señalar. A conti- nuación, se podrá realizar lo siguiente:

Señalar
Colocar el puntero sobre un elemento.

Hacer o dar un click Presionar y soltar el botón primario del mouse


una vez. Soltar rápidamente el botón del mouse.

Hacer o dar doble Presionar y soltar rápidamente el botón primario del


click mouse dos veces.

Hacer click con el


botón derecho o Presionar y soltar una vez el botón secundario del
secundario del mouse mouse, con lo que aparecerá un menú de ac- ceso
directo.

Arrastrar
Para mover un elemento hasta otra ubicación,
primero debe señalarlo. Presionar el botón pri- mario
o el secundario del mouse y, sin soltarlo. señalar la
posición en la que se desea situar el objeto. A
continuación, suelte el botón. Tam- bién podrá
arrastrar para seleccionar texto.

Guía Práctica - Cómo Automatizar Tareas con Excel Macros #%


USO DE LOS CUADROS
DE DIALOGO

Excel presenta cuadros de diálogo cuando el usuario debe introducir información o especificar opciones, también
llamadas propiedades. Por ejemplo, al hacer click en el botón Abrir para abrir una página que se ha creado, un
cuadro de diálogo le permitirá elegir el mensaje de su

preferencia.
En los cuadros de diálogo, podrá utilizar los siguientes tipos de opciones:

Hacer click en: Para hacer esto:

Expandir la lista de opciones. A continuación, hacer click en el elemento que desee.

Seleccionar una opción cada vez. El círculo aparecerá relleno cuando dicha opción esté
seleccionada.

Seleccionar más de una opción cada vez. Cuando la opción esté seleccionada aparecerá una marca
de verificación.

Hacer click en: Para hacer esto:

Reducir (minimizar) la ventana al tamaño de un botón de la barra


de tareas.

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

Volver al tamaño anterior de la ventana(restaurar el tamaño). Este botón aparecerá cuando maximice la
ventana.

Desplazar el puntero hasta

el borde de la ventana. Cuando cambie


Cuadro de la for-
diálogo
ma del puntero, arras- trar el borde
para am-
pliar o reducir la venta-

na, así como para cam- biar su forma.

#& Guía Práctica - Cómo 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 opción de


instalación Personalizada y, a continuación, active la casilla de
verificación Ayuda en pantalla para Visual Basic (categoría Microsoft
Excel, subcategoría 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 continuación, 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 número de pasos necesarios para realizar
las tareas que se ejecuten con más frecuencia. Las macros se graban en el
lenguaje de programación de Visual Basic para aplicaciones. También pueden
escribirse directamente las macros utilizando el Editor de Visual Basic.

Funciones.- Son fórmulas predefinidas que ejecutan cálculos utilizando valores


específicos, denominados argumentos, en un orden determinado que se
denomina sintaxis. Por ejemplo, la función SUMA agrega valores o rangos de
celdas y la función PAGO calcula los pagos de un préstamo basándose en
un tipo de interés, la duración del préstamo y el importe principal del mismo.

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


hoja de cálculo. Por ejemplo, la referencia de celda que aparece en la
intersección 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 cómo buscar otra celda a partir de la celda que contiene la
fórmula. Utilizar una referencia relativa es como dar instruc- ciones acerca de
cómo ir a un lugar desde un punto de partida (por ejemplo, "suba por esta
calle y, después 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 número 210 y el texto "Ganancias
trimestrales" son constantes. Una fórmula o un valor resultado de una fórmula
no es una constante.

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


e indica la información 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.

Guía Práctica - Cómo Automatizar Tareas con Excel Macros #'


Glosario Analítico

Evitar problemas con las teclas de método abrev. 30


A EXAMINAR LIBROS DE MACROS QUE PUEDAN TENER
ACTIVAR Y DESACTIVAR LA VERIFICACION DE SINTAXIS P 23 VIRUS 50
Algunas funciones de Visual Basic 32
Añadir bordes gruesos 34
G
GLOSARIO VISUAL 57
B Grabar una macro 24
BARRA DE HERRAMIENTAS DE VISUAL BASIC PARA EXCEL 18
Barra de herramientas Diálogo 28–29
I
Botón “Crear botón” 28–29 Instrucciones condicionales 16
Botón “Crear Casilla de verificación” 28–29 Introducción 7
Botón “Crear cuadro de edición” 28–29
INTRODUCCION A VISUAL BASIC PARA EXCEL 15
Botón “Crear cuadro de grupo” 28–29
Botón “Crear cuadro de lista” 28–29
M
Botón “Crear desplegable” 28–29 Macro 13
Botón “Crear Rótulo” 28–29
MACROS 13
Botón “Ejecutar Macro” 18 MACROS Y LOS vIRUs 47
Botón “Examinador de objetos” 19
Botón “Explorador de proyectos” 19 MACROVIRUS IRREMOVIBLES 49
Manejo de funciones y comandos automÁticos 30
Botón “Finalizar grabación” 19 Módulo estándar 20
Botón “Insertar Módulo” 18
Botón “Modo de diseño” 19
Botón “Reanudar Macro” 18 P
Botón “ventana de propiedades” 19 PALABRAS CLAVES DE VISUAL BASIC PARA EXCEL 51
PARA AGREGAR UNA MACRO AUTOMATICA 31
PARA ELIMINAR UNA MACRO AUTOMATICA 31
C Para empezar a desarrollar su propia macro 10
CAJAS DE DIALOGO 27–29
Cambiar a negritas 35 Presentación 3
Programando macros 34
Cambiar formulas a valores 37 Publicaciones 2
Centrar 35

Cerrar todos los libros inactivos 38 COMANDOS Q


VISUAL BASIC PARA EXCEL 17 Cómo crear una Qué son modulos 20
macro 10
Qué es automatizar una tarea rutinaria? 9
Cómo ejecutar una macro 12
COMO REMOVER MACROS QUE NO SON VIRUS 48
Conceptos Generales 9 R
REFERENCIAS 61
Contenido 5
Controlar Mayúsculas/Minúsculas en las celdas 37
Controles 39 S
Sub y End Sub 21
Copiar parte de una macro para crear otra 26
Copiar un módulo de una macro a otro libro 26
T
COPIAR UNA MACRO 26 Tipos de estructuras de programación 15
Crear un procedimiento escribiendo código 21
Cuando usar macros y cuando no 26
U
E Una caja de diálogo puede contener 28
Ejecutar una macro 24 Uso de los Cuadros de Diálogo 58

Ejemplos de Aplicacion 39 Uso del mouse 57


Eliminar espacios en celdas 38 Utilizar bucles para repetir código 16

ESCRIBIENDO UNA MACRO MANUALMENTE 23


Escribir días de la semana 36 V
Establecer la función suma 36 Ventana Propiedades 39
Estilos de Programación 15 Virus y macros de libro 47
VOCABULARIO 59
Estructura lineal 15
Estructura repetitiva 15
Estructuras de los Programas 15

$ Guía Práctica - Cómo Automatizar Tareas con Excel Macros


123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456

REFERENCIAS
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456

Pc World

Pc Magazine

Manuales de Microsoft

Internet

BIUFORM

También podría gustarte