SlideShare una empresa de Scribd logo
1 de 59
Descargar para leer sin conexión
/uía 2ráctica
VERSION 98
GGGGGUIAUIAUIAUIAUIA PPPPPRACTICARACTICARACTICARACTICARACTICA - C- C- C- C- COMOOMOOMOOMOOMO AAAAAUTOMATIZARUTOMATIZARUTOMATIZARUTOMATIZARUTOMATIZAR LASLASLASLASLAS TTTTTAREASAREASAREASAREASAREAS RRRRRUTINARIASUTINARIASUTINARIASUTINARIASUTINARIAS CONCONCONCONCON EEEEEXCELXCELXCELXCELXCEL MMMMMACROSACROSACROSACROSACROS
- P- P- P- P- PUBLICACIONUBLICACIONUBLICACIONUBLICACIONUBLICACION Nº36 - ENº36 - ENº36 - ENº36 - ENº36 - EDICIONDICIONDICIONDICIONDICION ‘99‘99‘99‘99‘99
Elaborado por: SUB-JEFATURA DE INFORMATICA - Dirección Técnica de Desarrollo Informático -Elaborado por: SUB-JEFATURA DE INFORMATICA - Dirección Técnica de Desarrollo Informático -Elaborado por: SUB-JEFATURA DE INFORMATICA - Dirección Técnica de Desarrollo Informático -Elaborado por: SUB-JEFATURA DE INFORMATICA - Dirección Técnica de Desarrollo Informático -Elaborado por: SUB-JEFATURA DE INFORMATICA - Dirección Técnica de Desarrollo Informático -
Colección Informática Fácil.Colección Informática Fácil.Colección Informática Fácil.Colección Informática Fácil.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
ë 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
PUBLICACIONES
Instituto Nacional de
Estadística e Informática
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ácilColección Informática FácilColección Informática FácilColección Informática FácilColección Informática Fácil,
titulado «Guía Práctica - Cómo Automatizar Tareas Rutinarias«Guía Práctica - Cómo Automatizar Tareas Rutinarias«Guía Práctica - Cómo Automatizar Tareas Rutinarias«Guía Práctica - Cómo Automatizar Tareas Rutinarias«Guía Práctica - Cómo Automatizar Tareas Rutinarias
con Excel Macros».con Excel Macros».con Excel Macros».con Excel Macros».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
2r e s e n t a c i ó n
+o n t e n i d o
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
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.
1n t r o d u c c i ó n
“¡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!”.
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ónPara crear una macro no necesita saber programaciónPara crear una macro no necesita saber programaciónPara crear una macro no necesita saber programaciónPara crear una macro no necesita saber programación, yayayayaya
que es muy sencillo.que es muy sencillo.que es muy sencillo.que es muy sencillo.que es muy sencillo. De hecho, la mayoría de las macros pueden
crearse siguiendo unos simples pasos, similares a los que realiza para
imprimir los reportes semanales. Microsoft Excel descifra los detalles
(como el nombre del filtro a usarse) y crea el código Visual Basic
necesario. Incluso es posible vincular la macro a un botón de la barra
de herramientas, de forma que los complicados reportes semanales se
conviertan en una actividad tan sencilla como imprimir o hacer click
en un botón.
“Lo que estoy haciendo ahora puede no ser muy eficien-
te, pero no deseo usar mucho tiempo aprendiendo cómo
escribir Visual Basic. Sólo deseo ver mi trabajo termina-
do”.
CONCEPTOS GENERALES
¿QUE ES AUTOMATIZAR UNA
TAREA RUTINARIA?
1
Si ejecuta fre-
cuentemente una ta-
rea en Microsoft Excel,
puede automatizarla
mediante una macro.
Una macro consiste en
una serie de coman-
dos y funciones que
se almacenan en un
módulo de Visual
Basic y que puede eje-
cutarse siempre que
sea necesario ejecutar
la tarea. Una macro se
graba igual que se
graba música en un
cassette. A continua-
ción, se ejecuta la
macro para que repi-
ta los comandos.
Una macro, según la definición encontrada en los manuales de Excel,
es una secuencia de instrucciones que le indican a Excel qué debe
hacer, y éste las ejecuta automáticamente. Por medio de las macros
podemos automatizar tareas repetitivas y aquellas en las que se requiere
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 '
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ú HerramientasHerramientasHerramientasHerramientasHerramientas seleccionar
en la opción MacroMacroMacroMacroMacro, luego hacer
un click en la sub-opción GrabarGrabarGrabarGrabarGrabar
Nuevo MacroNuevo MacroNuevo MacroNuevo MacroNuevo 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
macro estará disponible siempre
que use Microsoft Excel, y no sólo
cuando use la hoja de cálculo
específica donde la creó.
4.Hacer un click en el botón Acep-Acep-Acep-Acep-Acep-
tartartartartar y entonces escribir las accio-
nes que desea grabar. Recuerde
que todo lo que usted escribe se
guarda, incluyendo errores y cualquier
cosa hecha para corregirlos.
5.Cuando haya finalizado sus ta-
reas, seleccione la opción MacroMacroMacroMacroMacro
en el menú de herramientasherramientasherramientasherramientasherramientas y
hacer un click en la opción de-de-de-de-de-
tener grabacióntener grabacióntener grabacióntener grabacióntener grabación.
¿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.
Recuerde que
para desarrollar una
macro es sencillo y
no necesita de saber
programación; por
supuesto hay otras
operaciones más
complejas que pue-
den realizarse con
macros y Visual
Basic, pero en esta
guía se explicará la
de forma básica para
crear, eliminar.
Lo que se necesita
saber para ahorrar
mucho tiempo.
Guía Práctica - Cómo Automatizar Tareas con Excel Macros 
El emplear un poco de tiempo para aprender COMO CREAR UNACOMO CREAR UNACOMO CREAR UNACOMO CREAR UNACOMO CREAR UNA
MACRO,MACRO,MACRO,MACRO,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.
¿COMO CREAR UNA MACRO?
Macros
Introducir una escri-
tura y editar una
macro:
La grabadora de
macros crea obser-
vando lo que usted
realiza, convirtiendo
estas acciones en un
código en Visual Basic,
y almacenando el có-
digo en un módulo de
Visual Basic en un li-
bro de trabajo. Sin
embargo, a menudo
es necesario persona-
lizar una macro gra-
bada o crear una nue-
va, debido a que la
Grabadora no siempre
graba exactamente lo
que usted desea.
Para crear una macro desde el principio, hacer los pasos siguientes:
1.En el menú HerramientasHerramientasHerramientasHerramientasHerramientas, seleccionar la opción Macro.Macro.Macro.Macro.Macro.
2.A continuación se muestra una caja de diálogo, en el cuadro NombreNombreNombreNombreNombre
de la macrode la macrode la macrode la macrode la macro, escriba el nombre correspondiente.
3.En la lista descendente Macros enMacros enMacros enMacros enMacros en seleccionar una de las opciones
plantilla o el documento donde desea guardar la macro.
4.Hacer un click en Crear para abrir el Editor de Visual Basic.
En el editor codificar en lenguaje Visual Basic.
Nota.-Nota.-Nota.-Nota.-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 adjunta denominada ArchivoCerrar. Si graba una nueva macro
y le asigna el nombre ArchivoCerrar, se adjuntará al comando Cerrar.
Al seleccionar el comando Cerrar, Word realizará las nuevas acciones
que haya grabado.
Macro Visual Basic
Español
Inglés
Secuencia de órdenes
Guía Práctica - Cómo Automatizar Tareas con Excel Macros
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789
+ada código de-
vuelve el número de
código del primer
caracter del texto.
El código devuelto co-
rresponde al conjunto
de caracteres utilizado
por su equipo.
Ejemplo:
CODIGO(A) es igual a
65
CODIGO(Alfabeto) es
igual a 65
CARACTER(65) es igual
a A
CARACTER(33) es igual
a !
Para ejecutar una macro, hacer los pasos siguientes:
1.Del menú HerramientasHerramientasHerramientasHerramientasHerramientas, selec-
cionar la opción MacroMacroMacroMacroMacro y hacer
un click en la subopción MacrosMacrosMacrosMacrosMacros.
¿COMO EJECUTAR UNA MACRO?
12345
12345
12345
12345
12345
12345
12345
12345
12345
12345
12345
12345
12345
12345
2.En el cuadro Nombre de la
macro, hacer un click en el
nombre de la macro que
desee ejecutar.
3.Hacer un click en el botón
EjecutarEjecutarEjecutarEjecutarEjecutar.
Por ejemplo, se desea ejeuctar
la macro para añadir bordes
a un determinado número
de celdas.
En la ventana de Macros se seleccionó de la lista Nombre de la macro
«Bordes»,
Luego se hizo un click en el botón Ejecutar.
12345
12345
12345
12345
123451234
1234
1234
1234
PORQUE ES IMPORTANTE HACER UNA MACRO
Imaginemos que diariamente tenemos que arreglar una ta-
bla de datos poniéndole colorines, formato, bordes, etc., para
posteriormente imprimirla, el tiempo que se demoraría en
hacer este trabajo. Al hacer una macro que es una com-
binación de instrucciones que pueden ser ejecutadas
automáticamente con una simple pulsación de teclas.
MACROS
2
Imagina una ta-
rea rutinaria de 200
pasos. Para ello, po-
demos crear una
macro que realice el
t r a b a j o
automáticamente.
Evidentemente, los
pasos de la macro
deben ser los co-
rrectos, evitando
abrir y cerrar
menúes y opciones
innecesariamente,
por lo que la macro
tardaría más en eje-
cutarse.
Guía Práctica - Cómo Automatizar Tareas con Excel Macros !
Excel Grabadora Programación
linealPosee
Macro Visual Basic
Español
Inglés
Secuencia de órdenes
FORTRAN BASIC VISUAL BASIC
Antes Hoy
Visual Basic
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:
•Secuencias de órdenes bajo una orden determinada
•Otro nombre Seudo-Programación
•Desarrollo lineal.
•Programa toma de decisiones.
NivelesNivelesNivelesNivelesNiveles
1.GrabadoraGrabadoraGrabadoraGrabadoraGrabadora. Indicar a Excel hacer el programa.
•Rutina (Objeto, Botón).
•Módulo.
2.Programación Visual Basic.Programación Visual Basic.Programación Visual Basic.Programación Visual Basic.Programación Visual Basic. Maneja herramientas para el
entorno operativo de Windows.
3.Desarrollo de FuncionesDesarrollo de FuncionesDesarrollo de FuncionesDesarrollo de FuncionesDesarrollo 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.
Una macromacromacromacromacro 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 BasicVisual BasicVisual BasicVisual BasicVisual Basic que
se graba con un nombre y que podemos invocar en cualquier
momento.
Guía Práctica - Cómo Automatizar Tareas con Excel Macros
•Enfocar el problema en modo Lógico (Módulo)
•Aplicar el lenguaje Escribir línea * línea el programa
Algoritmo Listado
(Lenguaje)
Modo de Programar
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 resultado predecible.
En Visual Basic presentan tres aspectos que considerar: las propiedades,
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 vida diaria: una
televisión conectada a una videograbadora. Las propiedades representan
los ajustes bajo los cuales opera el equipo: el volumen, el brillo de
la imagen, la saturación de color, el tamaño vertical y horizontal de
la imagen. Los eventos son las acciones o comandos que puedo
ejecutar sobre el aparato: presionar el botón de encendido, presionar
el botón de avance de cinta, presionar el control para el cambio
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
en forma tradicional. La principal dificultad consiste en seleccionar
el evento correcto para la acción deseada (en ocasiones inadvertidamente
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.
PROGRAMA-
CION: Definida por el
diccionario como la
información necesaria
para que un sistema
de información lleve a
cabo una tarea, las
órdenes se traducen
a un lenguaje sim-
bólico o código que
es capaz de ser en-
tendido por un
compilador y éste a
su vez lo traduce las
instrucciones a len-
guaje de máquina.
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.1.1.1.1. Estructura linealEstructura linealEstructura linealEstructura linealEstructura 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.
Por ejemplo: Entrar a la bodega
Pedir 1 Kg. Azúcar blanca
Pagar el importe
Salir de la Bodega.
2.2.2.2.2. Estructura repetitivaEstructura repetitivaEstructura repetitivaEstructura repetitivaEstructura repetitiva
Cuando se plantea la repetición de un conjunto de órdenes, hasta
que deje de cumplirse cierta condición o afirmación.
Por ejemplo: Entrar a la bodega
Hasta completar lista
hacer pedido
Bucle (repetir)
Pagar el importe de todo lo solicitado
Salir de la Bodega.
ESTRUCTURAS DE LOS
PROGRAMAS
Tipos de estructurad de los programas:
•Lineal•Lineal•Lineal•Lineal•Lineal.- Una tras otra línea en forma secuencial.
•Bifurcación•Bifurcación•Bifurcación•Bifurcación•Bifurcación.- Un camino se abre en dos, Función SI
•Simple•Simple•Simple•Simple•Simple.- Un camino se abre en “dos” posibilidades
•Múltiple•Múltiple•Múltiple•Múltiple•Múltiple.- Un camino se abre en “N” posibilidades
•Repetitivas•Repetitivas•Repetitivas•Repetitivas•Repetitivas.- Controla que determinados procesos
se efectúen adecuadamente.
ESTILOS DE
PROGRAMACION
Cada programador tie-
ne su propio estilo para
escribir. Un buen esti-
lo para programar de-
berá tener una estruc-
tura de código fácil de
entender, no sólo para
otra gente sino tam-
bién para si mismo.
Aquí hay varios crite-
rios para un buen es-
tilo:
1. Nombres significa-
tivos para variables,
controles, y procedi-
mientos.
2.Identación (sangrías)
y espacios apropiados
en el código.
3.documentar el códi-
go (poner comentarios
para aclarar).
4.Módulos adaptables.
5.Minimizar el acopla-
miento.
6.Minimizar alcance de
los datos hasta donde
sea posible.
Guía Práctica - Cómo Automatizar Tareas con Excel Macros$
Al escribir las líneas
del programa,
tener en cuenta
lo siguiente:
•Azul (palabra clave).
•Verde (comentario).
•Rojo (error).
Definición de Algunos Comandos
Visual Basic.Visual Basic. Gira alrededor
en lo que es objeto con
elementos cambiantes
•Libro
•Hoja
•Celda (rango)
Visual Basic. Se basa en
categorías
•Enunciados (objeto)
•Propiedades
•Métodos (acciones)
•Valor
Ejemplo:
Secuencia
o
Esquema
Objeto
•Método. Seleccionar la celda
con gramática de Excel.
•Propiedad=Valor (ancho de
celda)
•No tiene el mismo valor.
•Asigna
•XL Medium
•XL Thick
Visual Basic
Bifurcación
IF.............THEN
.............
.............
.............
.............
ENDIF
Rutinas
FOR.....TO.....
.........
.........
.........
.........
NEXT
N Rutinas
DO WHILE.....
.........
.........
.........
.........
LOOP
N Rutinas
SIMPLE MULTIPLE
MULTIPLE REPETITIVA
DO CASE.........
CASO 1.....
CASO 2 .....
CASO 3 .....
CASO N .....
END CASE
N Rutinas
N Rutinas
N Rutinas
N Rutinas
Palabras Claves
(Enunciados)
Declaración
o
Definición
* No es INICIALIZACION
Ejemplo: Public. Sueldo (de uso global)
Utilizar bucles para repetir códigoUtilizar bucles para repetir códigoUtilizar bucles para repetir códigoUtilizar bucles para repetir códigoUtilizar bucles para repetir código.- Es posible ejecutar un grupo de
instrucciones de forma repetida. Algunos bucles repiten las instrucciones
hasta que una condición es False, otros las repiten hasta que la
condición es True. Hay también bucles que repiten un conjunto de
instrucciones un número determinado de veces o una vez para cada
objeto de una colección.
9Do...Loop:Do...Loop:Do...Loop:Do...Loop:Do...Loop: Seguir en el bucle mientras o hasta una condición sea
True
9For...Next:For...Next:For...Next:For...Next:For...Next: Utilizar un contador para ejecutar las instrucciones un
Las instrucciones condicionales.-Las instrucciones condicionales.-Las instrucciones condicionales.-Las instrucciones condicionales.-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
o variable con otro.
9If...Then...Else:If...Then...Else:If...Then...Else:If...Then...Else:If...Then...Else: Salto a una instrucción cuando una condición es
True o False
9Select Case:Select Case:Select Case:Select Case:Select Case: Selección de la instrucción a ejecutar en función de
un conjunto de condiciones.
Una variable o
constante definida
desde dentro de un
procedimiento no es
visible fuera de ese
procedimiento. Sólo
el procedimiento que
contiene la declara-
ción de la variable
puede usarlos. En el
siguiente ejemplo, el
primer procedimien-
to presenta un cuadro
de mensaje que con-
tiene una cadena de
texto. El segundo
procedimiento pre-
senta un cuadro de
mensaje en blanco ya
que la variable
strMensaje es local
para el primer proce-
dimiento.
Sub VariableLocal()
Dim strMensaje As
String
strMensaje = Esta
variable no se pue-
de usar fuera de este
procedimiento.
MsgBox strMensaje
End Sub
Sub FueraAlcance()
MsgBox strMensaje
End Sub
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.-El primer punto de diferenciación.-El primer punto de diferenciación.-El primer punto de diferenciación.-El primer punto de diferenciación.- Es la existencia de categorías de
comandos (niveles). Así tenemos:
¨Funciones,
¨Enunciados,
¨Objetos,
¨Métodos,
¨Propiedades,
Se agrupan todas las palabras clave u órdenes que reconoce el
lenguaje. Ver listado de comandos usuales.
El segundo punto.-El segundo punto.-El segundo punto.-El segundo punto.-El segundo punto.- La sintaxis del Visual Basic exige respetar un cierto
orden en la escritura de cada comando. 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:
CeldaActiva.SeleccionarCeldaActiva.SeleccionarCeldaActiva.SeleccionarCeldaActiva.SeleccionarCeldaActiva.Seleccionar
.AlineaciónHorizontal=xlCentrar.AlineaciónHorizontal=xlCentrar.AlineaciónHorizontal=xlCentrar.AlineaciónHorizontal=xlCentrar.AlineaciónHorizontal=xlCentrar
COMANDOS VISUAL BASIC MAS USADOS
Funciones:Funciones:Funciones:Funciones:Funciones: Abs, Ahora, Choole, Dir, Error, Esnulo, Espacio, Fecha, Val
Métodos:Métodos:Métodos:Métodos:Métodos:
Abrir, Activar, Agregar, AjustarAutomáticamente, AnularSelección,
Autoformato, Autorellenar, Bordes, Copiar, CuadrosEdición,
CuadroDiálogo, CuadrosTexto, Desviar, Hojas, HojasSeleccionadas,
Lenarhaciaabajo, Mostrar, Pegar, Rango, Ventanas
Objetos:Objetos:Objetos:Objetos:Objetos:
Aplicación, Borde, Bordes, Botón, Botones, CuadroEdición,
CuadrosEdición, CuadrosTexto, Diálogo, Diálogos, Fuente, HojaCálculo,
Rango, Ventana
Propiedades:Propiedades:Propiedades:Propiedades:Propiedades:
AlineaciónHorizontal, AnchoColumna, Selección, VentanaActiva
Enunciados:Enunciados:Enunciados:Enunciados:Enunciados:
Con, Dim, Fin, Proced
L a
automatización (an-
tes llamada
automatización OLE)
es una de las carac-
terísticas del
Component Object
Model (COM), una
tecnología estándar
en la industria usada
por las aplicaciones
para revelar sus ob-
jetos a las herramien-
tas de desarrollo, len-
guajes de macros y
otras aplicaciones
que sean compatibles
con la
automatización. Por
ejemplo, una aplica-
ción de hojas de cál-
culo puede revelar
una hoja de cálculo,
un diagrama, celda o
rango de celdas, cada
una como un tipo di-
ferente de objeto. Un
procesador de textos
puede revelar objetos
como una aplicación,
un documento, un
párrafo, una frase, un
marcador o una se-
lección.
Guía Práctica - Cómo Automatizar Tareas con Excel Macros
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”Botón “Insertar Módulo”Botón “Insertar Módulo”Botón “Insertar Módulo”Botón “Insertar Módulo”
Inserta un módulo de Visual Basic nuevo en el libro de trabajo
activo.
Botón “Ejecutar Macro”Botón “Ejecutar Macro”Botón “Ejecutar Macro”Botón “Ejecutar Macro”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 procedimiento o ejecuta el
formulario si éste está activo actualmente. Este comando se
convierte en el comando Continuar cuando está en modo
de interrupción.
El modo de interrupción.- Suspensión temporal de la ejecución
de un programa mientras está en la etapa de desarrollo. En
el modo interrumpir, se puede examinar, depurar, volver a
configurar, incrementar o continuar una ejecución. Se entra
en modo interrumpir:
·Al encontrar un punto de interrupción durante la ejecución
del programa.
·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”Botón “Reanudar Macro”Botón “Reanudar Macro”Botón “Reanudar Macro”Botón “Reanudar Macro”
Reanuda la operación de una macro después que se haya
hecho una pausa en la misma.
BARRA DE HERRAMIENTAS DE
VISUAL BASIC PARA EXCEL
La barra de he-
rramientas del editor
de Visual Basic en
excel se encuentra
en la parte superior.
Para accesar a ella se-
leccionar la sub op-
ción Editor de Visual
Basic de la opción
Macros del menú
Herramientas.
Guía Práctica - Cómo Automatizar Tareas con Excel Macros '
Botón “Finalizar grabación”Botón “Finalizar grabación”Botón “Finalizar grabación”Botón “Finalizar grabación”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”Botón “Modo de diseño”Botón “Modo de diseño”Botón “Modo de diseño”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”Botón “Explorador de proyectos”Botón “Explorador de proyectos”Botón “Explorador de proyectos”Botón “Explorador de proyectos”
Muestra una lista jerárquica de los proyectos y todos los
elementos contenidos y referenciados por cada uno de los
proyectos.
Botón “ventana de propiedades”Botón “ventana de propiedades”Botón “ventana de propiedades”Botón “ventana de propiedades”Botón “ventana de propiedades”
Enumera las propiedades de tiempo de diseño correspondientes
a los objetos seleccionados y su configuración actual.
Puede cambiar estas propiedades en tiempo de diseño.
Cuando seleccione múltiples controles, la ventana de Propiedades
contiene una lista de las propiedades comunes a todos los
controles seleccionados.
Botón “Examinador de objetos”Botón “Examinador de objetos”Botón “Examinador de objetos”Botón “Examinador de objetos”Botón “Examinador de objetos”
Permite examinar todos los objetos disponibles en el proyecto
y ver sus propiedades, métodos y eventos. Además, puede
ver los procedimientos y constantes que están disponibles
en las bibliotecas de objetos en el proyecto. Puede mostrar
fácilmente Ayuda en pantalla cuando examina. Puede
utilizar el Examinador de objetos para encontrar y utilizar
objetos que ha creado y también objetos de otras aplicaciones.
Para crear una
macro:
digitar el
programa en esta
ventana.
La barra de he-
rramientas que están
incorporadas en Vi-
sual Basic y el coman-
do Personalizar,
puede:
·Activar y desactivar
las barras de herra-
mientas
·Arrastrar las barras
de herramientas a di-
ferentes posiciones
en el escritorio.
Depuración.- Mues-
tra la barra de herra-
mientas Depuración
que contiene botones
para las tareas de de-
puración más fre-
cuentes.
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.
Guía Práctica - Cómo Automatizar Tareas con Excel Macros
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:
Al grabar una macro cada acción se realiza en un módulo que es
automáticamente creado, y éstos se encuentran después de la últi-
ma hoja de cálculo.
¿QUE SON MODULOS?
Al 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
de módulo de un
módulo 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
Visual Basic.
Módulo de clase.-
Módulo que contiene
la definición de una
clase (sus definiciones
de propiedad y méto-
do).
Este Módulo es
una macro para
poner en negrita
Hacer un click en la lista
descendente y observará todas
las macros que ha grabado.
Guía Práctica - Cómo Automatizar Tareas con Excel Macros 
Ejemplo Nº2
Sub M1( )
..................
...................
...................
...................
End Sub
Sub M2( )
..................
...................
...................
...................
End Sub
Ejemplo Nº3
Sub letras( )
(*)Range (“a1:d6”).select
Whith selection.font
•name=“Times New Roman”
•size=10
•color index=3
End With
End Sub
Hacer módulos
Recuerde:
Al ejecutar ’ (apóstrofe) automáticamente esa línea se convierte
en comentario y de color verde.
Sub y End SubSub y End SubSub y End SubSub y End SubSub 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.
N o olvidar de digitar
de color A ZUL en
caso de ser
P O S IT IVO (+) , en
E xcel.
Sub XXX( )
10...............
...................
...................
...................
End Sub XXX
(Ejemplo, Mensaje: Error)*
-
* S e pued e
co locar núm er os
a de ter mina das
lín eas.
Ejemplo Nº1
Crear un pro-
cedimiento escri-
biendo código
1.Abra el módulo
para el que desea es-
cribir el procedimien-
to.
Puede crear un pro-
cedimiento Sub,
Function o Property.
2.Escriba Sub,
Function o Property.
Presione F1 para ob-
tener Ayuda con sin-
taxis, si lo necesita.
3.Escriba el código
para el procedimien-
to.
Visual Basic finaliza el
procedimiento con la
instrucción End Sub,
End Function o End
Property apropiada.
Guía Práctica - Cómo Automatizar Tareas con Excel Macros
Para entrar o ingresar a un módulo, hacer losPara entrar o ingresar a un módulo, hacer losPara entrar o ingresar a un módulo, hacer losPara entrar o ingresar a un módulo, hacer losPara entrar o ingresar a un módulo, hacer los
pasos siguientes:pasos siguientes:pasos siguientes:pasos siguientes:pasos siguientes:
1. Seleccionar la opción MacrosMacrosMacrosMacrosMacros del menú
HerramientasHerramientasHerramientasHerramientasHerramientas.
2. A continuación, Seleccionar la sub-opción
Editor de Visual BasicEditor de Visual BasicEditor de Visual BasicEditor de Visual BasicEditor de Visual Basic.
MODULO DE VISUAL BASIC
Un módulo de Visual Basic se usa para escribir, mostrar y editar código.
Los módulos almacenan códigos a nivel de módulo y de procedimiento.
Pueden haber varios procedimientos en un módulo y varios módulos en
un libro de trabajo.
Crear 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
palabra clave Static a
la definición del pro-
cedimiento.
7.Hacer un click en el
botón Aceptar.
Guía Práctica - Cómo Automatizar Tareas con Excel Macros !
UN MODULO INCLUYE:UN MODULO INCLUYE:UN MODULO INCLUYE:UN MODULO INCLUYE:UN MODULO INCLUYE:
Barra de divisiónBarra de divisiónBarra de divisiónBarra de divisiónBarra 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 desplazamientoBarra de desplazamientoBarra de desplazamientoBarra de desplazamientoBarra 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:O bien:O bien:O bien:O bien:
Para crear un módulo ubicarse en el editor de Visual Basic, luego
en el menú InsertarInsertarInsertarInsertarInsertar seleccionar la opción MóduloMóduloMóduloMóduloMódulo.
2.En el módulo, escriba Proced, Función o PropiedadProced, Función o PropiedadProced, Función o PropiedadProced, Función o PropiedadProced, Función o Propiedad seguido por
el nombre de la macro.
3.Si hay argumentos, escríbalos entre paréntesis y separados por
un punto y coma.
4.Presionar la tecla Enter.Enter.Enter.Enter.Enter.
5.Digitar el código.
6.Escriba Fin ProcedFin ProcedFin ProcedFin ProcedFin Proced, Fin Función o Fin PropiedadFin Función o Fin PropiedadFin Función o Fin PropiedadFin Función o Fin PropiedadFin Función o Fin Propiedad y después presionar
EnterEnterEnterEnterEnter.
ACTIVAR Y DESACTIVAR LA VERIFICACION DE
SINTAXIS PARA LOS MODULOS
1.Del menú Herramientas,Herramientas,Herramientas,Herramientas,Herramientas, seleccionar la opción Opciones.Opciones.Opciones.Opciones.Opciones.
2.Seleccionar la ficha General-Módulo.General-Módulo.General-Módulo.General-Módulo.General-Módulo.
3.Seleccionar el cuadro de verificación “Interrumpir en todos los erro-“Interrumpir en todos los erro-“Interrumpir en todos los erro-“Interrumpir en todos los erro-“Interrumpir en todos los erro-
res”res”res”res”res”, o eliminar la se-
lección.
4.Hacer un click en el
botón Aceptar.Aceptar.Aceptar.Aceptar.Aceptar.
Los procedi-
mientos tienen un es-
pacio limitado para
almacenar variables.
Cada vez que un pro-
cedimiento se llama a
si mismo, consume
más de ese espacio.
Un procedimiento que
se llama a si mismo es
lo que se conoce
como un procedi-
miento recursivo. Un
p r o c e d i m i e n t o
recursivo que se lla-
ma continuamente a
si mismo producirá fi-
nalmente un error.
Por ejemplo:
F u n c t i o n
Agotar(Máximo)
Agotar =
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
de Visual Basic, mientras se realiza la macro. Para interrumpir la
macro antes de que finalice las acciones que se han grabado,
presione ESC.
Ejecutar una macro desde un módulo de Visual BasicEjecutar una macro desde un módulo de Visual BasicEjecutar una macro desde un módulo de Visual BasicEjecutar una macro desde un módulo de Visual BasicEjecutar una macro desde un módulo de Visual Basic
1.Abra el libro que contiene la macro.
2.Seleccionar la opción MacroMacroMacroMacroMacro en el menú HerramientasHerramientasHerramientasHerramientasHerramientas y, a continuación,
hacer un click en la sub opción MacrosMacrosMacrosMacrosMacros.
3.En el cuadro Nombre de la macro,
escriba el nombre de la macro que
desea ejecutar.
4.Hacer un click en el botón ModificarModificarModificarModificarModificar.
5.Hacer un click en el botón EjecutarEjecutarEjecutarEjecutarEjecutar
subsubsubsubsub.
Sugerencia.-Sugerencia.-Sugerencia.-Sugerencia.-Sugerencia.- Si desea ejecutar otra macro diferente mientras está
utilizando el Editor de Visual Basic, hacer un click en la opción Macros
en el menú Herramientas. En el cuadro Nombre de la macro, escriba
el nombre de la macro que desea ejecutar y, a continuación, hacer
un click en Ejecutar.
GRABAR UNA MACRO
Para grabar una macro hacer los pasos siguientes:
1.Seleccionar la opción MacroMacroMacroMacroMacro del menú HerramientasHerramientasHerramientasHerramientasHerramientas y, a continuación,
hacer un click en la opción Grabar nueva macroGrabar nueva macroGrabar nueva macroGrabar nueva macroGrabar nueva macro.
2.En el cuadro Nombre de la macroNombre de la macroNombre de la macroNombre de la macroNombre de la macro, digitar un nombre para la macro.
El primer caracter del nombre de la 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+ lCTRL+ lCTRL+ lCTRL+ lCTRL+ l Letra(para letras minúsculas) o CTRL+ MAYUS + letraCTRL+ MAYUS + letraCTRL+ MAYUS + letraCTRL+ MAYUS + letraCTRL+ MAYUS + letra (para
letras mayúsculas), donde letra es cualquier tecla del teclado. La
Antes de grabar
o escribir una macro,
planifique los pasos y
los comandos que
desea que ejecute.
Si se comete algún
error mientras se gra-
ba la macro, también
se grabarán las co-
rrecciones que se
realicen. Cada vez
que se grabe una
macro, ésta se alma-
cenará en un nuevo
módulo adjunto a un
libro.
Detener la ejecu-
ción de una macro
·Nota Para dete-
ner una macro an-
tes de que finali-
ce las acciones,
presionar la tecla
ESC.
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 macroGuardar macroGuardar macroGuardar macroGuardar 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 de macros personales
en la carpeta INICIAR.
Para incluir una descripción de la macro, escriba la descripción en
el cuadro Descripción.
5.Hacer un click en el botón AceptarAceptarAceptarAceptarAceptar.
Si se seleccionan celdas mientras se está ejecutando una macro,
ésta seleccionará las mismas celdas independientemente de la
celda que se haya seleccionado en primer lugar, ya que graba
referencias absolutas de celda. Si desea tener una macro para
seleccionar celdas independientemente de la posición que tenga
la celda activa cuando se ejecute la macro, configure el grabador
de macros para que grabe referencias relativas de celda. En la
barra de herramientas Detener grabación, hacer un click en Referencia.
Microsoft Excel continuará grabando macros con referencias relativas
hasta que termine la sesión con Microsoft Excel o hasta hacer un
click otra vez en Referencias relativas.
6.Ejecute las acciones que desee grabar.
7.En la barra de herramientas Detener grabación, hacer un click en
Detener grabación.
Sugerencia.-Sugerencia.-Sugerencia.-Sugerencia.-Sugerencia.- Si desea tener una macro para seleccionar una celda
determinada, ejecute una acción y seleccionar otra celda relativa
a la celda activa; cuando se grabe una macro, pueden mezclarse
referencias relativas y absolutas. Para grabar una macro utilizando
referencias, compruebe que está activada la opción Referencias
relativas. Para grabar una macro utilizando referencias absolutas,
compruebe que la opción Referencias relativas no está habilitada.
Un procedi-
miento Function es
una serie de instruc-
ciones de Visual Basic
encerradas entre dos
i n s t r u c c i o n e s
Function y End
Function. Un procedi-
miento Function es
similar a un procedi-
miento Sub, aunque
una función puede
devolver además un
valor. Un procedi-
miento Function
acepta argumentos,
como pueden ser
constantes, variables
o expresiones que le
pasa el procedimien-
to que efectúa la lla-
mada. Si un procedi-
miento Function no
tiene argumentos, la
instrucción Function
debe incluir un par de
paréntesis vacíos. Una
función devuelve un
valor asignándolo a
su nombre en una o
más instrucciones del
procedimiento.
Las macros eliminan tareas repetitivas y
crean informes automatizados. Visual Basic
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.
G Copiar parte de una macro para crear otraCopiar parte de una macro para crear otraCopiar parte de una macro para crear otraCopiar parte de una macro para crear otraCopiar parte de una macro para crear otra
1.Abra el libro que contenga la macro que desee copiar
.2.Seleccionar la opción MacroMacroMacroMacroMacro del menú HerramientasHerramientasHerramientasHerramientasHerramientas y, a continuación,
hacer un click en MacrosMacrosMacrosMacrosMacros.
3.En el cuadro Nombre de la macro, escriba el nombre de la macro
que desea copiar.
4.Hacer un click en la opción ModificarModificarModificarModificarModificar.
5.Seleccionar las líneas de la macro que desee copiar.
6.Para copiar toda la macro, asegúrese de que incluye las líneas Sub
y End Sub en la selección.
7.Hacer un click en CopiarCopiarCopiarCopiarCopiar.
8.Cambie al módulo en el que desee situar el código.
9.Hacer un click en PegarPegarPegarPegarPegar.
Sugerencia.-Sugerencia.-Sugerencia.-Sugerencia.-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.
G Copiar un módulo de una macro a otro libroCopiar un módulo de una macro a otro libroCopiar un módulo de una macro a otro libroCopiar un módulo de una macro a otro libroCopiar un módulo de una macro a otro libro
1.Abra el libro que contiene el módulo y el libro en que desea copiar
el módulo.
2.Seleccionar MacroMacroMacroMacroMacro del menú HerramientasHerramientasHerramientasHerramientasHerramientas y, a continuación, hacer
un click en el Editor de Visual BasicEditor de Visual BasicEditor de Visual BasicEditor de Visual BasicEditor 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.
C U A N D O
USAR MACROS Y
CUANDO NO:
·Cuando se necesita
una tarea que se
realiza a diario más
rápido y no impor-
ta ser repetitivo (ta-
rea grande).
·Cuando se van a ge-
nerar diversas va-
riantes del docu-
mento similar.
·No, cuando se quie-
re el documento
compacto, evitando
repetir el mismo (en
este caso, usar pro-
cedimientos).
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:
CREACION DE UNA CAJA DE DIALOGOCREACION DE UNA CAJA DE DIALOGOCREACION DE UNA CAJA DE DIALOGOCREACION DE UNA CAJA DE DIALOGOCREACION DE UNA CAJA DE DIALOGO
1. Hacer un click en el botón Modo Diseño, en la ventana de Excel.
Si no tiene activo seleccionar Ver Barra de herramientas  activar
la subopción Visual Basic.
2. Hacer un click en el botón cuadro de controles,
Al activar el cuadro de controles se activa una ventana que
contiene botones para Diseño la caja de Diálogo usted
creará la caja de diálogo deseada, que posteriormente cada
objeto insertado tendrá un procedimiento la que llamará
desde un módulo para poder ingresar o mostrar los datos
deseados. El formato de la hoja de diálogo aparecerá de
la siguiente forma:
Es un recuadro en el cual se crea elementos para poder interactuar
Usuario Diálogo Interactuar
crea
Programa
Ejemplo: Caja de
diálogo de Excel
filtro
Interfase
TITULO
A ceptar
Salir
A yu da
C A NA D A
P ER U
IT AL IA
F RA N C IA
B R AS IL
JA PO N
R OMA
S U IZA
A LE MA NI A
H U N GR IA
U S A
C A RI BE
C U BA
E SP A Ñ AR
Q
Barra de título
(+-Ventana)
Elementos de la caja:
•Combinados (cuadros).
•Edición (cuadros).
•Casilla de Verificación
•Botones de Acción
•Listas
•Botones de Comando (aceptar,
cancelar, ayuda, salir, etc.).
Una caja de
diálogo es una ven-
tana que se utiliza
para ejecutar cual-
quier operación.
Esta ventana, según
sea el caso, mues-
tra una serie de ele-
mentos visuales que
hacen más sencilla
la operación.
Una caja de diálogo
puede contener:
·BOTONES.- Son ele-
mentos utilizados
para poder iniciar la
ejecución de una ta-
rea a partir de la caja
de diálogo. En la caja
de diálogo anterior se
tiene que, al utilizar el
botón de grabar, se
registrará toda la in-
formación propor-
cionada por el
usuario. Dos puntas
hacia adentro del
botón permiten al
usuario diferenciar
entre varios boto-
nes, cual de ellos va
a ser utilizado.
Guía Práctica - Cómo Automatizar Tareas con Excel Macros
Utilización de botones en la creación de la caja de diálogo.
VENTANA CUADRO DE
CONTROLES
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.
Modo DiseñoModo DiseñoModo DiseñoModo DiseñoModo Diseño
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 se encuentra en el modo Diseño de formularios,
este botón cambiará a Salir del modo Diseño.
Propiedades del controlPropiedades del controlPropiedades del controlPropiedades del controlPropiedades del control
Cambia en el archivo las propiedades de los controles ActiveX
o las opciones del campo de formulario seleccionado.
Ver códigoVer códigoVer códigoVer códigoVer código
Abre el Editor de Visual Basic, donde pueden escribirse comandos
de Visual Basic.
Casilla de verificación (Cuadro de controles)Casilla de verificación (Cuadro de controles)Casilla de verificación (Cuadro de controles)Casilla de verificación (Cuadro de controles)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 documento o formulario.
Cuadro de texto (Cuadro de controles)Cuadro de texto (Cuadro de controles)Cuadro de texto (Cuadro de controles)Cuadro de texto (Cuadro de controles)Cuadro de texto (Cuadro de controles)
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
un documento o formulario.
Botón de comando (Cuadro de controles)Botón de comando (Cuadro de controles)Botón de comando (Cuadro de controles)Botón de comando (Cuadro de controles)Botón de comando (Cuadro de controles)
Crea un botón, al que puede asignar un procedimiento de Visual
Basic, en una hoja de cálculo, en una hoja de diálogo, en un
Confección de Cajas de Diálogo Propias
DiálogoInsertar Macro
Una caja de
diálogo puede conte-
ner
·OPCIONES SIMPLES.
Este elemento visual
está conformado por
todos aquellos com-
ponentes de un menú
que tienen la forma
de texto y que nos
indican una opera-
ción a realizarse o un
objeto a utilizar.
Como ejemplo de
este elemento, tene-
mos en la ventana
superior la palabra
siguiente:
Descripción
Una opción de este
tipo siempre presen-
ta una de sus letras
con más brillo en la
pantalla, lo que sig-
nifica que se puede
acceder a ésta. sim-
plemente presionan-
do dicha letra. Como
objetivo principal tie-
ne el de personalizar
la información de una
caja de diálogo.
·CUADROS DE CHE-
QUEO. Este elemento
define para una op-
ción la selección en-
tre dos posibilidades,
«SI» o «NO». Está re-
presentada por un
cuadrado pequeño
donde se marca con
una EQUIS para indi-
car SI; o dejar en
blanco lo que indica-
ría NO.
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)Botón de opción (Cuadro de controles)Botón de opción (Cuadro de controles)Botón de opción (Cuadro de controles)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 documento o formulario.
Cuadro de lista (Cuadro de controles)Cuadro de lista (Cuadro de controles)Cuadro de lista (Cuadro de controles)Cuadro de lista (Cuadro de controles)Cuadro de lista (Cuadro de controles)
Crea un cuadro de lista en una hoja de cálculo, en una hoja de
diálogo, en un gráfico o en un documento o formulario.
Cuadro combinado (Cuadro de controles)Cuadro combinado (Cuadro de controles)Cuadro combinado (Cuadro de controles)Cuadro combinado (Cuadro de controles)Cuadro combinado (Cuadro de controles)
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.
Etiqueta (Cuadro de controles)Etiqueta (Cuadro de controles)Etiqueta (Cuadro de controles)Etiqueta (Cuadro de controles)Etiqueta (Cuadro de controles)
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.
INGRESO DEL LOGOTIPO
A ceptar
T exto :
T ít ulo
Fig ur a
Lim piar
Salir
l
C uadr o d e Ed ic ión
(Ed it Bo x)
B otó n
(B o tto n)
B otó n d e Opción
(O ptio n b ut ton s)
Títu lo
(T itle )
Macro Funciones
Funtion Areas (largo, ancho)
if largo=ancho
msgbox “Es un cuadrado”
Area=“ERROR”
else
AREA1=largo*ancho
End If
End Funtion
Función Areas (largo, ancho)
Si largo=ancho entonces
Cuadro Msj “Es un cuadrado”
Areas=“ERROR”
si otro
AREA1=largo*ancho
Fin Si
Fin Función
En inglés En español
Una caja de
diálogo puede conte-
ner:
MCAJA DE SELECCIO-
NES. Este cuadro
dentro de la caja de
diálogo, nos permi-
te seleccionar una
posibilidad, de va-
rias, para una deter-
minada opción. Este
elemento también
es de tipo exclusi-
vo y tiene como fi-
nalidad personalizar
la información.
Dentro de este cua-
dro se muestran las
posibilidades, orde-
nadas de arriba ha-
cia abajo o de iz-
quierda a derecha y
a la izquierda de
cada una de ellas,
un pequeño círculo.
Para elegir una po-
sibilidad de la op-
ción, ésta debe
marcarse con la ba-
rra espaciadora y el
círculo contendrá
un punto en su in-
terior.
·ASPAS DE SELEC-
CION. Esta opción
se utiliza para mar-
car una referencia,
indicándonos si-
tuaciones de reali-
zación, Por ejemplo,
si encontramos esta
aspa, no indicará
que el elemento al
que pertenece ha
sido considerado.
Cada uno de los elementos que puede integrar la caja de diálogo, pueden
tener dos estados de comportamiento dentro de la caja de diálogo a la que
pertenece.
·Disponible .- Que indica que la opción está activa, pudiéndose acceder a
ella en cualquier momento presionando siempre la letra resaltada que lo
identifica.
·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!
Cómo evitar
problemas con las
teclas de método
abreviado.
Si existen dos hojas
de macros que con-
tiene macros con las
mismas teclas de
método abreviado,
Excel ejecutará el
macrocomando de la
hoja de macros cuyo
nombre aparece pri-
mero en orden
alfabético. Cuando
asigne teclas de mé-
todo abreviado, ase-
gúrese de evitar con-
flictos con las demás
hojas de macros que
utilice.
Escritura de un
macrocomando.
También se pueden
introducir las fórmu-
las de un
macrocomando direc-
tamente en una hoja
de macros sin necesi-
dad de grabar.
Ejecutar una macro desde un método abreviadoEjecutar una macro desde un método abreviadoEjecutar una macro desde un método abreviadoEjecutar una macro desde un método abreviadoEjecutar una macro desde un método abreviado
1. Seleccionar MacroMacroMacroMacroMacro en el menú HerramientasHerramientasHerramientasHerramientasHerramientas y, a continuación,
hacer un click en la opción Macros.Macros.Macros.Macros.Macros.
2. En el cuadro Nombre de la macroNombre de la macroNombre de la macroNombre de la macroNombre de la macro, escriba el nombre de la
macro a la que desea 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 Tecla de método
abreviado. Puede utilizarse CONTROL+ letra o CONTROL+ MAYÚS
+ letra, donde letra es cualquier tecla del teclado. 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.
Para incluir una descripción de la macro, escriba la descripción enPara incluir una descripción de la macro, escriba la descripción enPara incluir una descripción de la macro, escriba la descripción enPara incluir una descripción de la macro, escriba la descripción enPara incluir una descripción de la macro, escriba la descripción en
el cuadro Descripción.el cuadro Descripción.el cuadro Descripción.el cuadro Descripción.el cuadro Descripción.
5. Hacer un click en el botón Aceptar.Aceptar.Aceptar.Aceptar.Aceptar.
6. Hacer un click en el botón CancelarCancelarCancelarCancelarCancelar.
Ejecutar una macro desde un botón o un control gráficoEjecutar una macro desde un botón o un control gráficoEjecutar una macro desde un botón o un control gráficoEjecutar una macro desde un botón o un control gráficoEjecutar una macro desde un botón o un control gráfico
Puede asignar una macro a un botón, a un objeto de dibujo o a un
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, por ejemplo, haciendo
click en una casilla de verificación o un elemento de una lista, la
macro se ejecutará de forma automática.
También puede ejecutar una macro de un control ActiveX. Para
obtener más información acerca de cómo crear un control ActiveX,
haga clic en .
1. Hacer un click en el botón o el control gráfico para que
aparezcan los controladores de selección.
2. 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.
3. Para asignar una macro ya existente al botón o al control
gráfico seleccionado, escriba el nombre de la macro en el
cuadro Nombre de la macro y luego hacer un click en el
botón Aceptar.Aceptar.Aceptar.Aceptar.Aceptar.
Para grabar una nueva macro y asignarle el botón u objeto
gráfico, hacer un click en Grabar.Grabar.Grabar.Grabar.Grabar.
Guía Práctica - Cómo Automatizar Tareas con Excel Macros !
Ejecutar una macro desde un botón de la barra de herramientasEjecutar una macro desde un botón de la barra de herramientasEjecutar una macro desde un botón de la barra de herramientasEjecutar una macro desde un botón de la barra de herramientasEjecutar 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ú HerramientasHerramientasHerramientasHerramientasHerramientas, hacer un click en Personalizar.Personalizar.Personalizar.Personalizar.Personalizar.
2. Si la barra de herramientas que contiene el botón no es visible, hacer un click en la
ficha Barra de herramientasBarra de herramientasBarra de herramientasBarra de herramientasBarra 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
MacrosMacrosMacrosMacrosMacros 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 MacroAsignar MacroAsignar MacroAsignar MacroAsignar Macro en el menú contextual.
5. En el cuadro Nombre de la macroNombre de la macroNombre de la macroNombre de la macroNombre de la macro, escriba un nombre para la macro.
Ejecutar una macro desde un área, zona interactiva o un objeto gráficoEjecutar una macro desde un área, zona interactiva o un objeto gráficoEjecutar una macro desde un área, zona interactiva o un objeto gráficoEjecutar una macro desde un área, zona interactiva o un objeto gráficoEjecutar 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 macroAsignar macroAsignar macroAsignar macroAsignar 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.Aceptar.Aceptar.Aceptar.Aceptar.
Para grabar una nueva macro y asignarla al objeto gráfico seleccionado, hacer un click
en GrabarGrabarGrabarGrabarGrabar. Cuando finalice de grabar la macro, hacer un click en Detener grabaciónDetener grabaciónDetener grabaciónDetener grabaciónDetener grabación que
se ubica en la barra de herramientas Grabar macroGrabar macroGrabar macroGrabar macroGrabar macro.
6. En el menú Formato, hacer un click en AutoformaAutoformaAutoformaAutoformaAutoforma y, a continuación, hacer un click en
la ficha Colores y líneas.Colores y líneas.Colores y líneas.Colores y líneas.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!
En seguida se muestran algunas funciones interconstruidas de Visual
Basic. Una función es un procedimiento que devuelve un valor.
ARCHIVO
·FileAttrFileAttrFileAttrFileAttrFileAttr - Devuelve información del sistema operativo acerca
dl archivo que esta abierto.
·FileDateTimeFileDateTimeFileDateTimeFileDateTimeFileDateTime - Devuelve una cadena de caracteres que
indican la fecha y la hora de la última modificación del archivo.
·FileLenFileLenFileLenFileLenFileLen - Devuelve un entero largo que indica la longuitud en
bytes de un archivo .
·FreeFileFreeFileFreeFileFreeFileFreeFile - Devuelve el siguiente numero de archivo valido que
no esta en uso.
·GetAttrGetAttrGetAttrGetAttrGetAttr - Devuelve un entero qu indica los atributos de un
archivo, directorio, o etiqueta de volumen.
·LocLocLocLocLoc - Devuelve la posición actual en un archivo abierto.
·LOFLOFLOFLOFLOF - Devuelve el tamaño en bytes de un archivo abierto.
·SeekSeekSeekSeekSeek - Devuelve la posición del archivo actual.
NÚMERO
·AbsAbsAbsAbsAbs - Devuelve el valor absoluto de un número.
·AtnAtnAtnAtnAtn - Devuelve el arcotangente de un número.
·CosCosCosCosCos - Devuleve el coseno de un ángulo (ángulo en radianes).
·SinSinSinSinSin - Devuelve el seno de un ángulo (ángulo en radianes).
CADENA
·InStrInStrInStrInStrInStr - Devuelve la posición de la primera ocurrencia de una
cadena dentro de otra cadena de caracteres
·LCase, LCase$LCase, LCase$LCase, LCase$LCase, LCase$LCase, LCase$ - Devuelve una cadena de caracteres en la
cuál todas las letras han sido convertidas a minúsculas.
·Left, Left$Left, Left$Left, Left$Left, Left$Left, Left$ - Devuelve los n cacarteres a la izquierda de un
cierto argumento. (cadena).
·LenLenLenLenLen - 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$LTrim, LTrim$LTrim, LTrim$LTrim, LTrim$LTrim, LTrim$ - Devuelve una copia de una cadena eliminando
todos los espacios en blanco.
·Mid, Mid$Mid, Mid$Mid, Mid$Mid, Mid$Mid, Mid$ - Devuelve una cadena qu es parte de una cadena.
·Right, Right$Right, Right$Right, Right$Right, Right$Right, Right$ - Devuelve los n caracteres más a la derecha
ALGUNAS FUNCIONES
DE VISUAL BASIC
Un procedi-
miento Function es
una serie de instruc-
ciones de Visual Basic
encerradas entre dos
i n s t r u c c i o n e s
Function y End
Function.
Instrucción.-Una
u n i d a d
s i n t á c t i c a m e n t e
completa que expre-
sa un tipo de acción,
declaración o defini-
ción. Normalmente
una instrucción tiene
una sola línea aunque
es posible utilizar dos
puntos (:) para poner
más de una instruc-
ción en una línea.
También se puede
utilizar un carácter de
continuación de línea
(_) para continuar una
sola línea lógica en
una segunda línea fí-
sica.
Guía Práctica - Cómo Automatizar Tareas con Excel Macros !!
de un argumento determinado.
·RTrim, RTrim$RTrim, RTrim$RTrim, RTrim$RTrim, RTrim$RTrim, RTrim$ - Devuelve una copia de la cadena de caracteres
con los espacios de la derecha eliminados.
·Space, Space$Space, Space$Space, Space$Space, Space$Space, Space$ - Devuelve una cadena que consiste de un
número especifico de espacios.
·Trim, Trim$Trim, Trim$Trim, Trim$Trim, Trim$Trim, Trim$ - Devuelve una copia de una cadena con los
espacios de ambos lados eliminados.
·UCase, UCase$UCase, UCase$UCase, UCase$UCase, UCase$UCase, UCase$ - Devuelve una cadena con todas las letras
convertidas a mayúsculas.
HORA/FECHA
·Date, Date$Date, Date$Date, Date$Date, Date$Date, Date$ - Devuelve la fecha actual..
·IsDateIsDateIsDateIsDateIsDate - Returns a value indicating whether of not a Variant
argument can be converted to a date.
·MinuteMinuteMinuteMinuteMinute - Returns an integer between 0 and 59, inclusive, that
represents the minute of the hour corresponding to the time
provided as an argument.
·MonthMonthMonthMonthMonth - Returns an integer between 1 and 12, inclusive, that
represents the month of the year for a date argument.
·NowNowNowNowNow - Returns a date that represents the current date and
time according to the setting of the computer’s system date
and time.
·Time, Time$Time, Time$Time, Time$Time, Time$Time, Time$ - Returns the current system time.
·TimerTimerTimerTimerTimer - Returns the number of seconds that have elapsed
since 12:00 a.m. (midnight).
·WeekdayWeekdayWeekdayWeekdayWeekday - Returns an integer between 1 (Sunday) and 7
(Saturday) that represents the day of the week for a date
argument.
·YearYearYearYearYear - Returns an integer between 100 and 9999, inclusive,
that represents the year of a date argument.
VARIABLE CONVERSION
·CCurCCurCCurCCurCCur - Explicitly converts expressions to the Currency data
type.
·CDblCDblCDblCDblCDbl - Explicitly converts expressions to the Double data type.
·CIntCIntCIntCIntCInt - Explicitly converts expressions to the Integer data type.
·CLngCLngCLngCLngCLng - Explicitly converts expressions to the Long data type.
·CSndCSndCSndCSndCSnd - Explicitly converts expressions to the Single data type.
·CStrCStrCStrCStrCStr - Explicitly converts expressions to the String data type.
·CVarCVarCVarCVarCVar - Explicitly converts expressions to the Variant data type.
·CVDateCVDateCVDateCVDateCVDate - Converts an expression to a Variant of VarType 7
(Date).
En el siguiente
ejemplo, la función
Celsius calcula grados
centígrados a partir de
grados Fahrenheit.
Cuando se llama a la
función desde el pro-
cedimiento Principal,
se le pasa una varia-
ble que contiene el
valor del argumento.
El resultado de los cál-
culos se devuelve al
procedimiento que
efectúo la llamada y se
presenta en un cuadro
de mensaje.
Sub Principal()
temp =
Application.InputBox(Texto:=
_
Por favor, introduzca la tem-
peratura en grados F.,
Tipo:=1)
MsgBox La temperatura es 
 Celsius(temp)   grados C.
End Sub
Function Celsius(GradosF)
Celsius = (GradosF - 32) * 5 /
9
End Function
Guía Práctica - Cómo Automatizar Tareas con Excel Macros!
AÑADIR BORDES GRUESOS
Para añadir bordes gruesos al contenido, hacer lo siguiente:
Por ejemplo si se desea colocar el borde grueso de las celdas A8
a B14, entonces:
‘bordes Macro
‘Coloca un borde grueso de A8 a B14
‘
Sub bordes ()Sub bordes ()Sub bordes ()Sub bordes ()Sub bordes ()
Range(“A8.B14”). Select
Selection.Borders(xlLeft).LineStyle=xkNone
Selection.Borders(xlRight).LineStyle=xkNone
Selection.Borders(xlTop).LineStyle=xkNone
Selection.Borders(xlBottom).LineStyle=xkNone
Selection.BordersAroundWeight:=xlMedium, ColorIndex:=xlAutomatic
End SubEnd SubEnd SubEnd SubEnd Sub
PROGRAMANDO 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.XLASCENARIO.XLASCENARIO.XLASCENARIO.XLASCENARIO.XLA
Solver.- SOLVER.XLASOLVER.XLASOLVER.XLASOLVER.XLASOLVER.XLA
Administrador de vistas.- VISTAS.XLAVISTAS.XLAVISTAS.XLAVISTAS.XLAVISTAS.XLA
Las instruccio-
nes de declaración se
usan para dar nom-
bre y definir procedi-
mientos, variables,
matrices y constantes
El siguiente ejemplo
contiene tres decla-
raciones.
Sub DarFormato()
Const limite As Integer = 33
Dim miCelda As Range
' Mas instrucciones
End Sub
La instrucción Sub
(con la correspon-
diente instrucción
End Sub) declara un
procedimiento llama-
do DarFormato. To-
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 ()Sub cen ()Sub cen ()Sub cen ()Sub cen ()
Range(“B1:D1”). Select
With Selection
.HorizontalAlignement =xlCenter
.VerticalAlignement =xlBottom
.WrapText = False
.Orientation = xlHorizontal
End With
End SubEnd SubEnd SubEnd SubEnd Sub
CAMBIAR A NEGRITAS
Para Poner en negritas el contenido del rango de celdas B1:D1,
hacer lo siguiente:
‘neg Macro
‘Pone en negritas el rango B1:D1
‘
Sub neg ()Sub neg ()Sub neg ()Sub neg ()Sub neg ()
Range(“B1:D1”). Select
Selection(“B1:D1”).Select
End SubEnd SubEnd SubEnd SubEnd Sub
Para dar nombre a
p r o c e d i m i e n t o s ,
constantes, variables
y 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
(!), ni @, , $, #.
·El nombre no puede
tener más de 255 ca-
racteres de longitud.
·No se deben usar
nombres iguales a los
de los procedimien-
tos Function, instruc-
ciones y métodos de
Visual Basic.
·Los nombres no se
pueden repetir den-
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 ()Sub días ()Sub días ()Sub días ()Sub días ()
Range(“A8”). Select
ActiveCell.FormulaRCC2 =”Lunes”
Selection.Autofill Destination: Range (“A8:A14), Type:)=xlFillDefault
Range(“A8:A14”).Select
End SubEnd SubEnd SubEnd SubEnd Sub
ESTABLECER LA FUNCION SUMA
Para establecer la función SUMA en la celda B15, hacer el
programa siguiente:
‘sumatoria Macro
‘Establece función SUMA en celda B15
‘
Sub sumatoria ()Sub sumatoria ()Sub sumatoria ()Sub sumatoria ()Sub sumatoria ()
Range(“B15”). Select
ActiveCell.FormulaR1C1 =”TOT.SEMA=”
Range(“B15”).Select
ActiveCell.FormulaR1C1 =”=SUM(R [-7]C:R[-1]C)”
End SubEnd SubEnd SubEnd SubEnd Sub
Una instrucción
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 i o n e s
ejecutables incluyen a
menudo operadores
condicionales o ma-
temáticos.
El siguiente ejemplo
utiliza la instrucción
For Each...Next para
pasar por cada una de
las celdas de un ran-
go llamado
Milntervalo en la
Hoja1 de un libro
Microsoft Excel ac-
tivo. La variable c
es una celda en la
colección de celdas
que componen el
Milntervalo.
Sub DarFormato()Sub DarFormato()Sub DarFormato()Sub DarFormato()Sub DarFormato()
Const limite AsAsAsAsAs Integer = 33
F o rF o rF o rF o rF o r E a c h I nI nI nI nI n W o r k s h e e t s
(“Hoja1”).Ranger(“Milntervalo”).Cells
IfIfIfIfIf c.Valuelimite ThenThenThenThenThen
WithWithWithWithWith c.Font
.Bold=true
.Italic=true
End WithEnd WithEnd WithEnd WithEnd With
End IfEnd IfEnd IfEnd IfEnd If
NextNextNextNextNext c
MsgBox “¡Find!”
End SubEnd SubEnd SubEnd SubEnd Sub
Guía Práctica - Cómo Automatizar Tareas con Excel Macros !%
CAMBIAR FORMULAS A VALORES
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
es la siguiente:
‘valores Macro
‘cambiar fórmulas a valores
‘
Sub Form2Val ()Sub Form2Val ()Sub Form2Val ()Sub Form2Val ()Sub Form2Val ()
For Each c In Selection.Cells
c.Formula= c.Value
Next c
End SubEnd SubEnd SubEnd SubEnd Sub
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.
CONTROLAR MAYUSCULAS/MINUSCULAS
EN LAS CELDAS
Aquí se encuentra un par de macros para cambiar las entradas
de celdas entre mayúsculas y minúsculas. Para convertir el texto
en mayúsculas, para ello use la siguiente macro:
Sub MakeUpperCase()Sub MakeUpperCase()Sub MakeUpperCase()Sub MakeUpperCase()Sub MakeUpperCase()
For Each c In Selection.Cells
c.Value= UCase$(c.Value)
Next c
End SubEnd SubEnd SubEnd SubEnd Sub
Para cambiar el texto a minúsculas utilizar esta macro similar:
Sub MakeLowerCase()Sub MakeLowerCase()Sub MakeLowerCase()Sub MakeLowerCase()Sub MakeLowerCase()
For Each c In Selection.Cells
c.Value=LCase$(c.Value)
Next c
End SubEnd SubEnd SubEnd SubEnd Sub
Para utilizar cualquiera de estas macros, simplemente colóquese
en la celda o seleccione las celdas que quiera cambiar, y ejecute
la macro.
El editor de vi-
sual Basic proporcio-
na muchas herra-
mientas que se pue-
den usar para dise-
ñar aplicaciones grá-
ficas.
Proyectos
Lenguaje Visual
Basic
Formularios y con-
troles
Barras de menú
Módulos
Un formulario inclu-
ye los controles y el
código asociado a
dicho formulario.
Podemos compartir
código en todo el
proyecto colocando
el código en un mó-
dulo de formulario o
en un módulo
estándar y declaran-
do el procedimiento
como Public. Los
formularios se crean
como interfaz de la
aplicación. Cada for-
mulario es una ven-
tana que presenta
controles, gráficos u
otros formularios.
Los formularios se
pueden usar de dife-
rentes maneras:
Como una pantalla
ilustrada como in-
troducción a una
aplicación.
Como un libro den-
tro de una aplicación.
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
‘
Sub TrimIt()Sub TrimIt()Sub TrimIt()Sub TrimIt()Sub TrimIt()
For Each c In Selection.Cells
c.Value=Application.Trim(c.Value)
Next c
End SubEnd SubEnd SubEnd SubEnd Sub
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()Sub CloseAllInactive()Sub CloseAllInactive()Sub CloseAllInactive()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 SubEnd SubEnd SubEnd SubEnd Sub
El lenguaje que se usa
también se encuen-
tra en muchas apli-
caciones de
Microsoft Office
como VisualBasic o
Project, . Las carac-
terísticas del lengua-
je incluyen:
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
Diseñar el formulario con las siguientes características :
1. Ingresar el nombre del usuario
2. Digitar la contraseña
3. Hacer un click en el botón Aceptar para Ingresar al sistema, si es
correcta debe salir un aviso “Bienvenido al sistema”. si no digita
la clave correcta debe salir un aviso “No tiene autorización”
4. Hacer un click en el botón Salir si no tiene autorización.
Los controles
son 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-
mularios. Para dibu-
jar controles en un
formulario se usa el
Cuadro de herra-
mientas.
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
propiedades y los
valores del control o
módulo selecciona-
do actualmente.
Propiedad Valor
A c o n t i n u a c i ó nA c o n t i n u a c i ó nA c o n t i n u a c i ó nA c o n t i n u a c i ó nA c o n t i n u a c i ó n
se muestra lasse muestra lasse muestra lasse muestra lasse muestra las
f a s e s e n l af a s e s e n l af a s e s e n l af a s e s e n l af a s e s e n l a
c o n s t r u c c i ó n d ec o n s t r u c c i ó n d ec o n s t r u c c i ó n d ec o n s t r u c c i ó n d ec o n s t r u c c i ó n d e
u n a a p l i c a c i ó nu n a a p l i c a c i ó nu n a a p l i c a c i ó nu n a a p l i c a c i ó nu n a a p l i c a c i ó n
Guía Práctica - Cómo Automatizar Tareas con Excel Macros
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.
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.
Algunas consideraciones:
1.Para insertar en el fondo
del formulario una imagen,
en la ventana de propiedades,
la propiedad PicturePicturePicturePicturePicture 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
propiedad Font.Font.Font.Font.Font. Luego para
cambiar el fondo de la etiqueta
con la propiedad BackColor.BackColor.BackColor.BackColor.BackColor.
3. La caja de texto o Texbox
en la propiedad PasswordCharPasswordCharPasswordCharPasswordCharPasswordChar
digitar* para enmascarar la
clave.
FASE DE
DISEÑO
FASE DE
CODIFICACION
FASE DE
EJECUCION
Guía Práctica - Cómo Automatizar Tareas con Excel Macros 
EJEMPLO Nº2
Cada formulario o control responde a un juego predefinido de
eventos. Por ejemplo: un botón de comando reconoce los siguientes
eventos.
Evento Acción
Click Seleccionar un botón con el mouse o con el teclado.
DragDrop Colocar un control en el botón.
DragOver Arrastrar un control sobre el botón.
GotFocus El botón obtiene el foco.
KeyDown Presionar una tecla mientras el botón tiene el foco.
KeyPress Presionar una tecla y devolver su valor ASCII.
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.
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.para ganar.para ganar.para ganar.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:
Form = Formulario
cmdjugar = botón Jugar
cmdsalir = botón Salir
lblm1 = G a n é
lblm2 = Perdí
lblm3 = Jugando
lbld1 = dado 1
lbld2 = dado 2
lblsuma = suma
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, la propiedad
PicturePicturePicturePicturePicture insertar un valor es decir, seleccionar
la imagen que desea que vaya en el formulario.
Luego en la propiedad VisibleVisibleVisibleVisibleVisible seleccionar el
valor False.False.False.False.False.
2.Las etiquetas Jugando, Gané, Perdí, dado1,
dado 2 y suma se debe cambiar el tipo de
fuente con la propiedad Font.Font.Font.Font.Font. Luego para
cambiar el fondo de la etiqueta con la ropiedad
BackColor.BackColor.BackColor.BackColor.BackColor.
Luego en la propiedad VisibleVisibleVisibleVisibleVisible seleccionar el
valor False.False.False.False.False.
EL CODIGO SERIA ASI:EL CODIGO SERIA ASI:EL CODIGO SERIA ASI:EL CODIGO SERIA ASI:EL CODIGO SERIA ASI:
Private Sub cmdjugar_Click()Private Sub cmdjugar_Click()Private Sub cmdjugar_Click()Private Sub cmdjugar_Click()Private Sub cmdjugar_Click()
Do While 1
x = Int(Rnd * 10)
If x = 1 And x = 6 Then
lbld1.Caption = Str(x)
Exit Do
End If
Loop
Do While 1
y = Int(Rnd * 10)
If y = 1 And y = 6 Then
lbld2.Caption = Str(y)
Exit Do
End If
Loop
lblsuma.Caption = Str(Val(x) + Val(y))
If x + y = 7 Then
Image2.Visible = True
lblm1.Visible = True
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 SubEnd SubEnd SubEnd SubEnd Sub
Private Sub Form_Load()Private Sub Form_Load()Private Sub Form_Load()Private Sub Form_Load()Private Sub Form_Load()
Image1.Visible = False
Image2.Visible = False
Image3.Visible = False
lblm1.Visible = False
lblm2.Visible = False
End SubEnd SubEnd SubEnd SubEnd Sub
Private Sub CMDSALIR_CLICK()Private Sub CMDSALIR_CLICK()Private Sub CMDSALIR_CLICK()Private Sub CMDSALIR_CLICK()Private Sub CMDSALIR_CLICK()
RPTA = MsgBox(¿Desea Salir del Juego?,
4 + 32, DESEA SALIR)
If RPTA = vbYes Then
End
End If
End SubEnd SubEnd SubEnd SubEnd Sub
Private Sub LBLD1_Click()Private Sub LBLD1_Click()Private Sub LBLD1_Click()Private Sub LBLD1_Click()Private Sub LBLD1_Click()
Do While 1
x = Int(Rnd * 10)
If (x = 1 And x = 6) Then
lbld1.Caption = Str(x)
Exit Do
End If
Loop
End SubEnd SubEnd SubEnd SubEnd Sub
Private Sub LBLD2_Click()Private Sub LBLD2_Click()Private Sub LBLD2_Click()Private Sub LBLD2_Click()Private Sub LBLD2_Click()
Do While 1
y = Int(Rnd * 10)
If (y = 1 And y = 6) Then
lbld2.Caption = Str(y)
Exit Do
End If
End SubEnd SubEnd SubEnd SubEnd Sub
Guía Práctica - Cómo Automatizar Tareas con Excel Macros !
EJEMPLO Nº3
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
un módulo y escribir lo siguiente:
'''''
'sombreado'sombreado'sombreado'sombreado'sombreado
'''''
Sub sombra()Sub sombra()Sub sombra()Sub sombra()Sub sombra()
Range(B4:G9).SelectRange(B4:G9).SelectRange(B4:G9).SelectRange(B4:G9).SelectRange(B4:G9).Select
With Selection.InteriorWith Selection.InteriorWith Selection.InteriorWith Selection.InteriorWith Selection.Interior
.ColorIndex = 15.ColorIndex = 15.ColorIndex = 15.ColorIndex = 15.ColorIndex = 15
.Pattern = xlSolid.Pattern = xlSolid.Pattern = xlSolid.Pattern = xlSolid.Pattern = xlSolid
End WithEnd WithEnd WithEnd WithEnd With
Range(C5:F8).SelectRange(C5:F8).SelectRange(C5:F8).SelectRange(C5:F8).SelectRange(C5:F8).Select
Selection.Interior.ColorIndex = xlNoneSelection.Interior.ColorIndex = xlNoneSelection.Interior.ColorIndex = xlNoneSelection.Interior.ColorIndex = xlNoneSelection.Interior.ColorIndex = xlNone
Range(D12).SelectRange(D12).SelectRange(D12).SelectRange(D12).SelectRange(D12).Select
End SubEnd SubEnd SubEnd SubEnd Sub
Si desea agregar el evento click con el botón
de comando creado, seleccionar la hoja del
libro donde se encuentra el boton creado
lluego hacer doble click sobre el botón y digitar
el siguiente código:
Private Sub CommandButton1_Click()Private Sub CommandButton1_Click()Private Sub CommandButton1_Click()Private Sub CommandButton1_Click()Private Sub CommandButton1_Click()
Range(B4:G9).SelectRange(B4:G9).SelectRange(B4:G9).SelectRange(B4:G9).SelectRange(B4:G9).Select
With Selection.InteriorWith Selection.InteriorWith Selection.InteriorWith Selection.InteriorWith Selection.Interior
.ColorIndex = 15.ColorIndex = 15.ColorIndex = 15.ColorIndex = 15.ColorIndex = 15
.Pattern = xlSolid.Pattern = xlSolid.Pattern = xlSolid.Pattern = xlSolid.Pattern = xlSolid
End WithEnd WithEnd WithEnd WithEnd With
Range(C5:F8).SelectRange(C5:F8).SelectRange(C5:F8).SelectRange(C5:F8).SelectRange(C5:F8).Select
Selection.Interior.ColorIndex = xlNoneSelection.Interior.ColorIndex = xlNoneSelection.Interior.ColorIndex = xlNoneSelection.Interior.ColorIndex = xlNoneSelection.Interior.ColorIndex = xlNone
Range(D12).SelectRange(D12).SelectRange(D12).SelectRange(D12).SelectRange(D12).Select
End SubEnd SubEnd SubEnd SubEnd Sub
Insertar un
Guía Práctica - Cómo Automatizar Tareas con Excel Macros
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
1234567890123456789012345678901212345678901234567890123
Cómo Copiar código de ejemplo de la AyudaCómo Copiar código de ejemplo de la AyudaCómo Copiar código de ejemplo de la AyudaCómo Copiar código de ejemplo de la AyudaCómo Copiar código de ejemplo de la Ayuda
A veces puede desear copiar un ejemplo útil
de la Ayuda de Visual Basic. Mientras que
muchos ejemplos necesitan mucho código para
funcionar correctamente, algunos ejemplos son
útiles para ver cómo se comporta un procedimiento
particular en una técnica de flujo de control.
Procedimiento. Es una secuencia con
nombre de instrucciones que se ejecutan
como una unidad. Por ejemplo, Function,
Property y Sub son todos tipos de
procedimientos. Un nombre de
procedimiento siempre se define a nivel
de módulo. Todo el código ejecutable debe
estar contenido en un procedimiento. Los
procedimientos no se pueden anidar dentro
de otros procedimientos.
ParaParaParaParaPara Copiar código de ejemplo de la AyudaCopiar código de ejemplo de la AyudaCopiar código de ejemplo de la AyudaCopiar código de ejemplo de la AyudaCopiar código de ejemplo de la Ayuda
a la aplicación, hacer lo siguiente:a la aplicación, hacer lo siguiente:a la aplicación, hacer lo siguiente:a la aplicación, hacer lo siguiente: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.
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 CopiarCopiarCopiarCopiarCopiar 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 PegarPegarPegarPegarPegar
para insertar el ejemplo de código en la
ventana Código.
Recuerde.-Recuerde.-Recuerde.-Recuerde.-Recuerde.- También puede presionar las teclas
al mismo tiempo CTRL+CCTRL+CCTRL+CCTRL+CCTRL+C para copiar un ejemplo
seleccionado en la ventana Ayuda.
Presionar CTRL+VCTRL+VCTRL+VCTRL+VCTRL+V para pegar el ejemplo en la
ventana Código.
Finalmente al ejecutar la macro entonces
automáticamente se mostrará como en la figura:
Para ejecutar en otro libro esta macro (por
ejemplo en el libro 2), presionar el botón de
ejecución, luego se muestra una ventana de
Macro.
Seleccione la macro “sombra”, para ello, seleccionar
el libro donde desea que se ejecute la macro.
Finalmente hacer un click en el botón Ejecutar.Ejecutar.Ejecutar.Ejecutar.Ejecutar.
Cómo automatizar tareas rutinarias con excel macros
Cómo automatizar tareas rutinarias con excel macros
Cómo automatizar tareas rutinarias con excel macros
Cómo automatizar tareas rutinarias con excel macros
Cómo automatizar tareas rutinarias con excel macros
Cómo automatizar tareas rutinarias con excel macros
Cómo automatizar tareas rutinarias con excel macros
Cómo automatizar tareas rutinarias con excel macros
Cómo automatizar tareas rutinarias con excel macros
Cómo automatizar tareas rutinarias con excel macros
Cómo automatizar tareas rutinarias con excel macros
Cómo automatizar tareas rutinarias con excel macros
Cómo automatizar tareas rutinarias con excel macros
Cómo automatizar tareas rutinarias con excel macros
Cómo automatizar tareas rutinarias con excel macros
Cómo automatizar tareas rutinarias con excel macros
Cómo automatizar tareas rutinarias con excel macros

Más contenido relacionado

La actualidad más candente

Simulación: Teoría y aplicaciones con Promodel
Simulación: Teoría y aplicaciones con PromodelSimulación: Teoría y aplicaciones con Promodel
Simulación: Teoría y aplicaciones con PromodelAlvaro Gil
 
Estructura de almacenamiento
Estructura de almacenamientoEstructura de almacenamiento
Estructura de almacenamientoAndrea Mendez
 
Fase de implementación de sistemas de información
Fase de implementación de sistemas de informaciónFase de implementación de sistemas de información
Fase de implementación de sistemas de informaciónNAHAMA19
 
calidad de los sistemas de informacion
calidad de los sistemas de informacioncalidad de los sistemas de informacion
calidad de los sistemas de informacionErika Vazquez
 
Modelación de Sistemas vs Simulación de Sistemas
Modelación de Sistemas vs Simulación de SistemasModelación de Sistemas vs Simulación de Sistemas
Modelación de Sistemas vs Simulación de SistemasVeronica Salazar
 
Respaldos de informacion
Respaldos de informacionRespaldos de informacion
Respaldos de informacionPablo Guadamuz
 
Tecnicas de ingenieria de software
Tecnicas de ingenieria de softwareTecnicas de ingenieria de software
Tecnicas de ingenieria de software'Jorge Martinez
 
Taxonomía de Jordan
Taxonomía de Jordan Taxonomía de Jordan
Taxonomía de Jordan Bryan Salas
 
Metodologías para la gestión de riesgos en proyectos de software
Metodologías para la gestión de riesgos en proyectos de softwareMetodologías para la gestión de riesgos en proyectos de software
Metodologías para la gestión de riesgos en proyectos de softwarefredleyton
 
herramientas case
herramientas caseherramientas case
herramientas casetomaspetto
 
Manejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativosManejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativosCarolina Cols
 
Glosario de terminos de base de datos
Glosario de terminos de base de datosGlosario de terminos de base de datos
Glosario de terminos de base de datosJorguell Perez
 

La actualidad más candente (20)

Data mart
Data martData mart
Data mart
 
Sistema de informacion empresarial
Sistema de informacion empresarialSistema de informacion empresarial
Sistema de informacion empresarial
 
Simulación: Teoría y aplicaciones con Promodel
Simulación: Teoría y aplicaciones con PromodelSimulación: Teoría y aplicaciones con Promodel
Simulación: Teoría y aplicaciones con Promodel
 
Ingenieria de sistemas temas
Ingenieria de sistemas temasIngenieria de sistemas temas
Ingenieria de sistemas temas
 
Introd flexsim 1
Introd flexsim 1Introd flexsim 1
Introd flexsim 1
 
Estructura de almacenamiento
Estructura de almacenamientoEstructura de almacenamiento
Estructura de almacenamiento
 
Kanban
KanbanKanban
Kanban
 
Ensayo sobre la calidad de software
Ensayo sobre la calidad de softwareEnsayo sobre la calidad de software
Ensayo sobre la calidad de software
 
Fase de implementación de sistemas de información
Fase de implementación de sistemas de informaciónFase de implementación de sistemas de información
Fase de implementación de sistemas de información
 
calidad de los sistemas de informacion
calidad de los sistemas de informacioncalidad de los sistemas de informacion
calidad de los sistemas de informacion
 
Manual de instalacion
Manual de instalacionManual de instalacion
Manual de instalacion
 
Modelación de Sistemas vs Simulación de Sistemas
Modelación de Sistemas vs Simulación de SistemasModelación de Sistemas vs Simulación de Sistemas
Modelación de Sistemas vs Simulación de Sistemas
 
Simuladores
SimuladoresSimuladores
Simuladores
 
Respaldos de informacion
Respaldos de informacionRespaldos de informacion
Respaldos de informacion
 
Tecnicas de ingenieria de software
Tecnicas de ingenieria de softwareTecnicas de ingenieria de software
Tecnicas de ingenieria de software
 
Taxonomía de Jordan
Taxonomía de Jordan Taxonomía de Jordan
Taxonomía de Jordan
 
Metodologías para la gestión de riesgos en proyectos de software
Metodologías para la gestión de riesgos en proyectos de softwareMetodologías para la gestión de riesgos en proyectos de software
Metodologías para la gestión de riesgos en proyectos de software
 
herramientas case
herramientas caseherramientas case
herramientas case
 
Manejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativosManejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativos
 
Glosario de terminos de base de datos
Glosario de terminos de base de datosGlosario de terminos de base de datos
Glosario de terminos de base de datos
 

Similar a Cómo automatizar tareas rutinarias con excel macros

Similar a Cómo automatizar tareas rutinarias con excel macros (20)

Word 97. guía práctica de autoaprendizaje
Word 97. guía práctica de autoaprendizajeWord 97. guía práctica de autoaprendizaje
Word 97. guía práctica de autoaprendizaje
 
Word 97. guía práctica de autoaprendizaje
Word 97. guía práctica de autoaprendizajeWord 97. guía práctica de autoaprendizaje
Word 97. guía práctica de autoaprendizaje
 
Deber de tablas de diagrama mayra
Deber de tablas de diagrama mayraDeber de tablas de diagrama mayra
Deber de tablas de diagrama mayra
 
Ejercicios plc
Ejercicios plcEjercicios plc
Ejercicios plc
 
14 formas de acelerar y optimizar tus macros excel
14 formas de acelerar y optimizar tus macros excel14 formas de acelerar y optimizar tus macros excel
14 formas de acelerar y optimizar tus macros excel
 
Visual c# ok
Visual c# okVisual c# ok
Visual c# ok
 
Macros
MacrosMacros
Macros
 
Como crear un macro
Como crear un macroComo crear un macro
Como crear un macro
 
Webquest: ¿Quieres ser ingeniero de Fernando Alonso?
Webquest: ¿Quieres ser ingeniero de Fernando Alonso?Webquest: ¿Quieres ser ingeniero de Fernando Alonso?
Webquest: ¿Quieres ser ingeniero de Fernando Alonso?
 
Webquest
WebquestWebquest
Webquest
 
Taller1
Taller1Taller1
Taller1
 
Macros en excel
Macros en excelMacros en excel
Macros en excel
 
Tecno
TecnoTecno
Tecno
 
Macros
MacrosMacros
Macros
 
Soft recono matriculas
Soft recono matriculasSoft recono matriculas
Soft recono matriculas
 
Macros en excel
Macros en excel Macros en excel
Macros en excel
 
Base de datos de excel (antologia)
Base de datos de excel (antologia)Base de datos de excel (antologia)
Base de datos de excel (antologia)
 
Antología
AntologíaAntología
Antología
 
3automatizacion
3automatizacion3automatizacion
3automatizacion
 
3automatizacion
3automatizacion3automatizacion
3automatizacion
 

Último

Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Francisco Javier Mora Serrano
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfMirthaFernandez12
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPJosLuisFrancoCaldern
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.ALEJANDROLEONGALICIA
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxLuisvila35
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasSegundo Silva Maguiña
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IILauraFernandaValdovi
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdfEdwinAlexanderSnchez2
 
Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa  tipos y funcionamientoCaldera Recuperadora de químicos en celulosa  tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa tipos y funcionamientoRobertoAlejandroCast6
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdfFlorenciopeaortiz
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.pptVitobailon
 
Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEANDECE
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.ariannytrading
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaANDECE
 
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfPresentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfMIGUELANGELCONDORIMA4
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdfAnthonyTiclia
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 

Último (20)

Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la Ingenierías
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo II
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf
 
Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa  tipos y funcionamientoCaldera Recuperadora de químicos en celulosa  tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
 
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdfVALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdf
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.ppt
 
Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSE
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes Granada
 
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfPresentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 

Cómo automatizar tareas rutinarias con excel macros

  • 2. GGGGGUIAUIAUIAUIAUIA PPPPPRACTICARACTICARACTICARACTICARACTICA - C- C- C- C- COMOOMOOMOOMOOMO AAAAAUTOMATIZARUTOMATIZARUTOMATIZARUTOMATIZARUTOMATIZAR LASLASLASLASLAS TTTTTAREASAREASAREASAREASAREAS RRRRRUTINARIASUTINARIASUTINARIASUTINARIASUTINARIAS CONCONCONCONCON EEEEEXCELXCELXCELXCELXCEL MMMMMACROSACROSACROSACROSACROS - P- P- P- P- PUBLICACIONUBLICACIONUBLICACIONUBLICACIONUBLICACION Nº36 - ENº36 - ENº36 - ENº36 - ENº36 - EDICIONDICIONDICIONDICIONDICION ‘99‘99‘99‘99‘99 Elaborado por: SUB-JEFATURA DE INFORMATICA - Dirección Técnica de Desarrollo Informático -Elaborado por: SUB-JEFATURA DE INFORMATICA - Dirección Técnica de Desarrollo Informático -Elaborado por: SUB-JEFATURA DE INFORMATICA - Dirección Técnica de Desarrollo Informático -Elaborado por: SUB-JEFATURA DE INFORMATICA - Dirección Técnica de Desarrollo Informático -Elaborado por: SUB-JEFATURA DE INFORMATICA - Dirección Técnica de Desarrollo Informático - Colección Informática Fácil.Colección Informática Fácil.Colección Informática Fácil.Colección Informática Fácil.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 ë 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 PUBLICACIONES Instituto Nacional de Estadística e Informática
  • 3. 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ácilColección Informática FácilColección Informática FácilColección Informática FácilColección Informática Fácil, titulado «Guía Práctica - Cómo Automatizar Tareas Rutinarias«Guía Práctica - Cómo Automatizar Tareas Rutinarias«Guía Práctica - Cómo Automatizar Tareas Rutinarias«Guía Práctica - Cómo Automatizar Tareas Rutinarias«Guía Práctica - Cómo Automatizar Tareas Rutinarias con Excel Macros».con Excel Macros».con Excel Macros».con Excel Macros».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 2r e s e n t a c i ó n
  • 4. +o n t e n i d o 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
  • 5. 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
  • 6. 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. 1n t r o d u c c i ó n
  • 7. “¡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!”. 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ónPara crear una macro no necesita saber programaciónPara crear una macro no necesita saber programaciónPara crear una macro no necesita saber programaciónPara crear una macro no necesita saber programación, yayayayaya que es muy sencillo.que es muy sencillo.que es muy sencillo.que es muy sencillo.que es muy sencillo. De hecho, la mayoría de las macros pueden crearse siguiendo unos simples pasos, similares a los que realiza para imprimir los reportes semanales. Microsoft Excel descifra los detalles (como el nombre del filtro a usarse) y crea el código Visual Basic necesario. Incluso es posible vincular la macro a un botón de la barra de herramientas, de forma que los complicados reportes semanales se conviertan en una actividad tan sencilla como imprimir o hacer click en un botón. “Lo que estoy haciendo ahora puede no ser muy eficien- te, pero no deseo usar mucho tiempo aprendiendo cómo escribir Visual Basic. Sólo deseo ver mi trabajo termina- do”. CONCEPTOS GENERALES ¿QUE ES AUTOMATIZAR UNA TAREA RUTINARIA? 1 Si ejecuta fre- cuentemente una ta- rea en Microsoft Excel, puede automatizarla mediante una macro. Una macro consiste en una serie de coman- dos y funciones que se almacenan en un módulo de Visual Basic y que puede eje- cutarse siempre que sea necesario ejecutar la tarea. Una macro se graba igual que se graba música en un cassette. A continua- ción, se ejecuta la macro para que repi- ta los comandos. Una macro, según la definición encontrada en los manuales de Excel, es una secuencia de instrucciones que le indican a Excel qué debe hacer, y éste las ejecuta automáticamente. Por medio de las macros podemos automatizar tareas repetitivas y aquellas en las que se requiere 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 '
  • 8. 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ú HerramientasHerramientasHerramientasHerramientasHerramientas seleccionar en la opción MacroMacroMacroMacroMacro, luego hacer un click en la sub-opción GrabarGrabarGrabarGrabarGrabar Nuevo MacroNuevo MacroNuevo MacroNuevo MacroNuevo 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 macro estará disponible siempre que use Microsoft Excel, y no sólo cuando use la hoja de cálculo específica donde la creó. 4.Hacer un click en el botón Acep-Acep-Acep-Acep-Acep- tartartartartar y entonces escribir las accio- nes que desea grabar. Recuerde que todo lo que usted escribe se guarda, incluyendo errores y cualquier cosa hecha para corregirlos. 5.Cuando haya finalizado sus ta- reas, seleccione la opción MacroMacroMacroMacroMacro en el menú de herramientasherramientasherramientasherramientasherramientas y hacer un click en la opción de-de-de-de-de- tener grabacióntener grabacióntener grabacióntener grabacióntener grabación. ¿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. Recuerde que para desarrollar una macro es sencillo y no necesita de saber programación; por supuesto hay otras operaciones más complejas que pue- den realizarse con macros y Visual Basic, pero en esta guía se explicará la de forma básica para crear, eliminar. Lo que se necesita saber para ahorrar mucho tiempo.
  • 9. Guía Práctica - Cómo Automatizar Tareas con Excel Macros El emplear un poco de tiempo para aprender COMO CREAR UNACOMO CREAR UNACOMO CREAR UNACOMO CREAR UNACOMO CREAR UNA MACRO,MACRO,MACRO,MACRO,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. ¿COMO CREAR UNA MACRO? Macros Introducir una escri- tura y editar una macro: La grabadora de macros crea obser- vando lo que usted realiza, convirtiendo estas acciones en un código en Visual Basic, y almacenando el có- digo en un módulo de Visual Basic en un li- bro de trabajo. Sin embargo, a menudo es necesario persona- lizar una macro gra- bada o crear una nue- va, debido a que la Grabadora no siempre graba exactamente lo que usted desea. Para crear una macro desde el principio, hacer los pasos siguientes: 1.En el menú HerramientasHerramientasHerramientasHerramientasHerramientas, seleccionar la opción Macro.Macro.Macro.Macro.Macro. 2.A continuación se muestra una caja de diálogo, en el cuadro NombreNombreNombreNombreNombre de la macrode la macrode la macrode la macrode la macro, escriba el nombre correspondiente. 3.En la lista descendente Macros enMacros enMacros enMacros enMacros en seleccionar una de las opciones plantilla o el documento donde desea guardar la macro. 4.Hacer un click en Crear para abrir el Editor de Visual Basic. En el editor codificar en lenguaje Visual Basic. Nota.-Nota.-Nota.-Nota.-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 adjunta denominada ArchivoCerrar. Si graba una nueva macro y le asigna el nombre ArchivoCerrar, se adjuntará al comando Cerrar. Al seleccionar el comando Cerrar, Word realizará las nuevas acciones que haya grabado. Macro Visual Basic Español Inglés Secuencia de órdenes
  • 10. Guía Práctica - Cómo Automatizar Tareas con Excel Macros 123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789 123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789 123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789 123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789 123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789 123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789 123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789 123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789 123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789 123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789 123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789 123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789 123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789 123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789 123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789 123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789 123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789 123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789 123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789 123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789 123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789 123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789 +ada código de- vuelve el número de código del primer caracter del texto. El código devuelto co- rresponde al conjunto de caracteres utilizado por su equipo. Ejemplo: CODIGO(A) es igual a 65 CODIGO(Alfabeto) es igual a 65 CARACTER(65) es igual a A CARACTER(33) es igual a ! Para ejecutar una macro, hacer los pasos siguientes: 1.Del menú HerramientasHerramientasHerramientasHerramientasHerramientas, selec- cionar la opción MacroMacroMacroMacroMacro y hacer un click en la subopción MacrosMacrosMacrosMacrosMacros. ¿COMO EJECUTAR UNA MACRO? 12345 12345 12345 12345 12345 12345 12345 12345 12345 12345 12345 12345 12345 12345 2.En el cuadro Nombre de la macro, hacer un click en el nombre de la macro que desee ejecutar. 3.Hacer un click en el botón EjecutarEjecutarEjecutarEjecutarEjecutar. Por ejemplo, se desea ejeuctar la macro para añadir bordes a un determinado número de celdas. En la ventana de Macros se seleccionó de la lista Nombre de la macro «Bordes», Luego se hizo un click en el botón Ejecutar. 12345 12345 12345 12345 123451234 1234 1234 1234 PORQUE ES IMPORTANTE HACER UNA MACRO Imaginemos que diariamente tenemos que arreglar una ta- bla de datos poniéndole colorines, formato, bordes, etc., para posteriormente imprimirla, el tiempo que se demoraría en hacer este trabajo. Al hacer una macro que es una com- binación de instrucciones que pueden ser ejecutadas automáticamente con una simple pulsación de teclas.
  • 11. MACROS 2 Imagina una ta- rea rutinaria de 200 pasos. Para ello, po- demos crear una macro que realice el t r a b a j o automáticamente. Evidentemente, los pasos de la macro deben ser los co- rrectos, evitando abrir y cerrar menúes y opciones innecesariamente, por lo que la macro tardaría más en eje- cutarse. Guía Práctica - Cómo Automatizar Tareas con Excel Macros ! Excel Grabadora Programación linealPosee Macro Visual Basic Español Inglés Secuencia de órdenes FORTRAN BASIC VISUAL BASIC Antes Hoy Visual Basic 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: •Secuencias de órdenes bajo una orden determinada •Otro nombre Seudo-Programación •Desarrollo lineal. •Programa toma de decisiones. NivelesNivelesNivelesNivelesNiveles 1.GrabadoraGrabadoraGrabadoraGrabadoraGrabadora. Indicar a Excel hacer el programa. •Rutina (Objeto, Botón). •Módulo. 2.Programación Visual Basic.Programación Visual Basic.Programación Visual Basic.Programación Visual Basic.Programación Visual Basic. Maneja herramientas para el entorno operativo de Windows. 3.Desarrollo de FuncionesDesarrollo de FuncionesDesarrollo de FuncionesDesarrollo de FuncionesDesarrollo 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. Una macromacromacromacromacro 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 BasicVisual BasicVisual BasicVisual BasicVisual Basic que se graba con un nombre y que podemos invocar en cualquier momento.
  • 12. Guía Práctica - Cómo Automatizar Tareas con Excel Macros •Enfocar el problema en modo Lógico (Módulo) •Aplicar el lenguaje Escribir línea * línea el programa Algoritmo Listado (Lenguaje) Modo de Programar 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 resultado predecible. En Visual Basic presentan tres aspectos que considerar: las propiedades, 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 vida diaria: una televisión conectada a una videograbadora. Las propiedades representan los ajustes bajo los cuales opera el equipo: el volumen, el brillo de la imagen, la saturación de color, el tamaño vertical y horizontal de la imagen. Los eventos son las acciones o comandos que puedo ejecutar sobre el aparato: presionar el botón de encendido, presionar el botón de avance de cinta, presionar el control para el cambio 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 en forma tradicional. La principal dificultad consiste en seleccionar el evento correcto para la acción deseada (en ocasiones inadvertidamente 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. PROGRAMA- CION: Definida por el diccionario como la información necesaria para que un sistema de información lleve a cabo una tarea, las órdenes se traducen a un lenguaje sim- bólico o código que es capaz de ser en- tendido por un compilador y éste a su vez lo traduce las instrucciones a len- guaje de máquina.
  • 13. 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.1.1.1.1. Estructura linealEstructura linealEstructura linealEstructura linealEstructura 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. Por ejemplo: Entrar a la bodega Pedir 1 Kg. Azúcar blanca Pagar el importe Salir de la Bodega. 2.2.2.2.2. Estructura repetitivaEstructura repetitivaEstructura repetitivaEstructura repetitivaEstructura repetitiva Cuando se plantea la repetición de un conjunto de órdenes, hasta que deje de cumplirse cierta condición o afirmación. Por ejemplo: Entrar a la bodega Hasta completar lista hacer pedido Bucle (repetir) Pagar el importe de todo lo solicitado Salir de la Bodega. ESTRUCTURAS DE LOS PROGRAMAS Tipos de estructurad de los programas: •Lineal•Lineal•Lineal•Lineal•Lineal.- Una tras otra línea en forma secuencial. •Bifurcación•Bifurcación•Bifurcación•Bifurcación•Bifurcación.- Un camino se abre en dos, Función SI •Simple•Simple•Simple•Simple•Simple.- Un camino se abre en “dos” posibilidades •Múltiple•Múltiple•Múltiple•Múltiple•Múltiple.- Un camino se abre en “N” posibilidades •Repetitivas•Repetitivas•Repetitivas•Repetitivas•Repetitivas.- Controla que determinados procesos se efectúen adecuadamente. ESTILOS DE PROGRAMACION Cada programador tie- ne su propio estilo para escribir. Un buen esti- lo para programar de- berá tener una estruc- tura de código fácil de entender, no sólo para otra gente sino tam- bién para si mismo. Aquí hay varios crite- rios para un buen es- tilo: 1. Nombres significa- tivos para variables, controles, y procedi- mientos. 2.Identación (sangrías) y espacios apropiados en el código. 3.documentar el códi- go (poner comentarios para aclarar). 4.Módulos adaptables. 5.Minimizar el acopla- miento. 6.Minimizar alcance de los datos hasta donde sea posible.
  • 14. Guía Práctica - Cómo Automatizar Tareas con Excel Macros$ Al escribir las líneas del programa, tener en cuenta lo siguiente: •Azul (palabra clave). •Verde (comentario). •Rojo (error). Definición de Algunos Comandos Visual Basic.Visual Basic. Gira alrededor en lo que es objeto con elementos cambiantes •Libro •Hoja •Celda (rango) Visual Basic. Se basa en categorías •Enunciados (objeto) •Propiedades •Métodos (acciones) •Valor Ejemplo: Secuencia o Esquema Objeto •Método. Seleccionar la celda con gramática de Excel. •Propiedad=Valor (ancho de celda) •No tiene el mismo valor. •Asigna •XL Medium •XL Thick Visual Basic Bifurcación IF.............THEN ............. ............. ............. ............. ENDIF Rutinas FOR.....TO..... ......... ......... ......... ......... NEXT N Rutinas DO WHILE..... ......... ......... ......... ......... LOOP N Rutinas SIMPLE MULTIPLE MULTIPLE REPETITIVA DO CASE......... CASO 1..... CASO 2 ..... CASO 3 ..... CASO N ..... END CASE N Rutinas N Rutinas N Rutinas N Rutinas Palabras Claves (Enunciados) Declaración o Definición * No es INICIALIZACION Ejemplo: Public. Sueldo (de uso global) Utilizar bucles para repetir códigoUtilizar bucles para repetir códigoUtilizar bucles para repetir códigoUtilizar bucles para repetir códigoUtilizar bucles para repetir código.- Es posible ejecutar un grupo de instrucciones de forma repetida. Algunos bucles repiten las instrucciones hasta que una condición es False, otros las repiten hasta que la condición es True. Hay también bucles que repiten un conjunto de instrucciones un número determinado de veces o una vez para cada objeto de una colección. 9Do...Loop:Do...Loop:Do...Loop:Do...Loop:Do...Loop: Seguir en el bucle mientras o hasta una condición sea True 9For...Next:For...Next:For...Next:For...Next:For...Next: Utilizar un contador para ejecutar las instrucciones un Las instrucciones condicionales.-Las instrucciones condicionales.-Las instrucciones condicionales.-Las instrucciones condicionales.-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 o variable con otro. 9If...Then...Else:If...Then...Else:If...Then...Else:If...Then...Else:If...Then...Else: Salto a una instrucción cuando una condición es True o False 9Select Case:Select Case:Select Case:Select Case:Select Case: Selección de la instrucción a ejecutar en función de un conjunto de condiciones. Una variable o constante definida desde dentro de un procedimiento no es visible fuera de ese procedimiento. Sólo el procedimiento que contiene la declara- ción de la variable puede usarlos. En el siguiente ejemplo, el primer procedimien- to presenta un cuadro de mensaje que con- tiene una cadena de texto. El segundo procedimiento pre- senta un cuadro de mensaje en blanco ya que la variable strMensaje es local para el primer proce- dimiento. Sub VariableLocal() Dim strMensaje As String strMensaje = Esta variable no se pue- de usar fuera de este procedimiento. MsgBox strMensaje End Sub Sub FueraAlcance() MsgBox strMensaje End Sub
  • 15. 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.-El primer punto de diferenciación.-El primer punto de diferenciación.-El primer punto de diferenciación.-El primer punto de diferenciación.- Es la existencia de categorías de comandos (niveles). Así tenemos: ¨Funciones, ¨Enunciados, ¨Objetos, ¨Métodos, ¨Propiedades, Se agrupan todas las palabras clave u órdenes que reconoce el lenguaje. Ver listado de comandos usuales. El segundo punto.-El segundo punto.-El segundo punto.-El segundo punto.-El segundo punto.- La sintaxis del Visual Basic exige respetar un cierto orden en la escritura de cada comando. 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: CeldaActiva.SeleccionarCeldaActiva.SeleccionarCeldaActiva.SeleccionarCeldaActiva.SeleccionarCeldaActiva.Seleccionar .AlineaciónHorizontal=xlCentrar.AlineaciónHorizontal=xlCentrar.AlineaciónHorizontal=xlCentrar.AlineaciónHorizontal=xlCentrar.AlineaciónHorizontal=xlCentrar COMANDOS VISUAL BASIC MAS USADOS Funciones:Funciones:Funciones:Funciones:Funciones: Abs, Ahora, Choole, Dir, Error, Esnulo, Espacio, Fecha, Val Métodos:Métodos:Métodos:Métodos:Métodos: Abrir, Activar, Agregar, AjustarAutomáticamente, AnularSelección, Autoformato, Autorellenar, Bordes, Copiar, CuadrosEdición, CuadroDiálogo, CuadrosTexto, Desviar, Hojas, HojasSeleccionadas, Lenarhaciaabajo, Mostrar, Pegar, Rango, Ventanas Objetos:Objetos:Objetos:Objetos:Objetos: Aplicación, Borde, Bordes, Botón, Botones, CuadroEdición, CuadrosEdición, CuadrosTexto, Diálogo, Diálogos, Fuente, HojaCálculo, Rango, Ventana Propiedades:Propiedades:Propiedades:Propiedades:Propiedades: AlineaciónHorizontal, AnchoColumna, Selección, VentanaActiva Enunciados:Enunciados:Enunciados:Enunciados:Enunciados: Con, Dim, Fin, Proced L a automatización (an- tes llamada automatización OLE) es una de las carac- terísticas del Component Object Model (COM), una tecnología estándar en la industria usada por las aplicaciones para revelar sus ob- jetos a las herramien- tas de desarrollo, len- guajes de macros y otras aplicaciones que sean compatibles con la automatización. Por ejemplo, una aplica- ción de hojas de cál- culo puede revelar una hoja de cálculo, un diagrama, celda o rango de celdas, cada una como un tipo di- ferente de objeto. Un procesador de textos puede revelar objetos como una aplicación, un documento, un párrafo, una frase, un marcador o una se- lección.
  • 16. Guía Práctica - Cómo Automatizar Tareas con Excel Macros 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”Botón “Insertar Módulo”Botón “Insertar Módulo”Botón “Insertar Módulo”Botón “Insertar Módulo” Inserta un módulo de Visual Basic nuevo en el libro de trabajo activo. Botón “Ejecutar Macro”Botón “Ejecutar Macro”Botón “Ejecutar Macro”Botón “Ejecutar Macro”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 procedimiento o ejecuta el formulario si éste está activo actualmente. Este comando se convierte en el comando Continuar cuando está en modo de interrupción. El modo de interrupción.- Suspensión temporal de la ejecución de un programa mientras está en la etapa de desarrollo. En el modo interrumpir, se puede examinar, depurar, volver a configurar, incrementar o continuar una ejecución. Se entra en modo interrumpir: ·Al encontrar un punto de interrupción durante la ejecución del programa. ·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”Botón “Reanudar Macro”Botón “Reanudar Macro”Botón “Reanudar Macro”Botón “Reanudar Macro” Reanuda la operación de una macro después que se haya hecho una pausa en la misma. BARRA DE HERRAMIENTAS DE VISUAL BASIC PARA EXCEL La barra de he- rramientas del editor de Visual Basic en excel se encuentra en la parte superior. Para accesar a ella se- leccionar la sub op- ción Editor de Visual Basic de la opción Macros del menú Herramientas.
  • 17. Guía Práctica - Cómo Automatizar Tareas con Excel Macros ' Botón “Finalizar grabación”Botón “Finalizar grabación”Botón “Finalizar grabación”Botón “Finalizar grabación”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”Botón “Modo de diseño”Botón “Modo de diseño”Botón “Modo de diseño”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”Botón “Explorador de proyectos”Botón “Explorador de proyectos”Botón “Explorador de proyectos”Botón “Explorador de proyectos” Muestra una lista jerárquica de los proyectos y todos los elementos contenidos y referenciados por cada uno de los proyectos. Botón “ventana de propiedades”Botón “ventana de propiedades”Botón “ventana de propiedades”Botón “ventana de propiedades”Botón “ventana de propiedades” Enumera las propiedades de tiempo de diseño correspondientes a los objetos seleccionados y su configuración actual. Puede cambiar estas propiedades en tiempo de diseño. Cuando seleccione múltiples controles, la ventana de Propiedades contiene una lista de las propiedades comunes a todos los controles seleccionados. Botón “Examinador de objetos”Botón “Examinador de objetos”Botón “Examinador de objetos”Botón “Examinador de objetos”Botón “Examinador de objetos” Permite examinar todos los objetos disponibles en el proyecto y ver sus propiedades, métodos y eventos. Además, puede ver los procedimientos y constantes que están disponibles en las bibliotecas de objetos en el proyecto. Puede mostrar fácilmente Ayuda en pantalla cuando examina. Puede utilizar el Examinador de objetos para encontrar y utilizar objetos que ha creado y también objetos de otras aplicaciones. Para crear una macro: digitar el programa en esta ventana. La barra de he- rramientas que están incorporadas en Vi- sual Basic y el coman- do Personalizar, puede: ·Activar y desactivar las barras de herra- mientas ·Arrastrar las barras de herramientas a di- ferentes posiciones en el escritorio. Depuración.- Mues- tra la barra de herra- mientas Depuración que contiene botones para las tareas de de- puración más fre- cuentes. 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.
  • 18. Guía Práctica - Cómo Automatizar Tareas con Excel Macros 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: Al grabar una macro cada acción se realiza en un módulo que es automáticamente creado, y éstos se encuentran después de la últi- ma hoja de cálculo. ¿QUE SON MODULOS? Al 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 de módulo de un módulo 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 Visual Basic. Módulo de clase.- Módulo que contiene la definición de una clase (sus definiciones de propiedad y méto- do). Este Módulo es una macro para poner en negrita Hacer un click en la lista descendente y observará todas las macros que ha grabado.
  • 19. Guía Práctica - Cómo Automatizar Tareas con Excel Macros Ejemplo Nº2 Sub M1( ) .................. ................... ................... ................... End Sub Sub M2( ) .................. ................... ................... ................... End Sub Ejemplo Nº3 Sub letras( ) (*)Range (“a1:d6”).select Whith selection.font •name=“Times New Roman” •size=10 •color index=3 End With End Sub Hacer módulos Recuerde: Al ejecutar ’ (apóstrofe) automáticamente esa línea se convierte en comentario y de color verde. Sub y End SubSub y End SubSub y End SubSub y End SubSub 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. N o olvidar de digitar de color A ZUL en caso de ser P O S IT IVO (+) , en E xcel. Sub XXX( ) 10............... ................... ................... ................... End Sub XXX (Ejemplo, Mensaje: Error)* - * S e pued e co locar núm er os a de ter mina das lín eas. Ejemplo Nº1 Crear un pro- cedimiento escri- biendo código 1.Abra el módulo para el que desea es- cribir el procedimien- to. Puede crear un pro- cedimiento Sub, Function o Property. 2.Escriba Sub, Function o Property. Presione F1 para ob- tener Ayuda con sin- taxis, si lo necesita. 3.Escriba el código para el procedimien- to. Visual Basic finaliza el procedimiento con la instrucción End Sub, End Function o End Property apropiada.
  • 20. Guía Práctica - Cómo Automatizar Tareas con Excel Macros Para entrar o ingresar a un módulo, hacer losPara entrar o ingresar a un módulo, hacer losPara entrar o ingresar a un módulo, hacer losPara entrar o ingresar a un módulo, hacer losPara entrar o ingresar a un módulo, hacer los pasos siguientes:pasos siguientes:pasos siguientes:pasos siguientes:pasos siguientes: 1. Seleccionar la opción MacrosMacrosMacrosMacrosMacros del menú HerramientasHerramientasHerramientasHerramientasHerramientas. 2. A continuación, Seleccionar la sub-opción Editor de Visual BasicEditor de Visual BasicEditor de Visual BasicEditor de Visual BasicEditor de Visual Basic. MODULO DE VISUAL BASIC Un módulo de Visual Basic se usa para escribir, mostrar y editar código. Los módulos almacenan códigos a nivel de módulo y de procedimiento. Pueden haber varios procedimientos en un módulo y varios módulos en un libro de trabajo. Crear 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 palabra clave Static a la definición del pro- cedimiento. 7.Hacer un click en el botón Aceptar.
  • 21. Guía Práctica - Cómo Automatizar Tareas con Excel Macros ! UN MODULO INCLUYE:UN MODULO INCLUYE:UN MODULO INCLUYE:UN MODULO INCLUYE:UN MODULO INCLUYE: Barra de divisiónBarra de divisiónBarra de divisiónBarra de divisiónBarra 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 desplazamientoBarra de desplazamientoBarra de desplazamientoBarra de desplazamientoBarra 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:O bien:O bien:O bien:O bien: Para crear un módulo ubicarse en el editor de Visual Basic, luego en el menú InsertarInsertarInsertarInsertarInsertar seleccionar la opción MóduloMóduloMóduloMóduloMódulo. 2.En el módulo, escriba Proced, Función o PropiedadProced, Función o PropiedadProced, Función o PropiedadProced, Función o PropiedadProced, Función o Propiedad seguido por el nombre de la macro. 3.Si hay argumentos, escríbalos entre paréntesis y separados por un punto y coma. 4.Presionar la tecla Enter.Enter.Enter.Enter.Enter. 5.Digitar el código. 6.Escriba Fin ProcedFin ProcedFin ProcedFin ProcedFin Proced, Fin Función o Fin PropiedadFin Función o Fin PropiedadFin Función o Fin PropiedadFin Función o Fin PropiedadFin Función o Fin Propiedad y después presionar EnterEnterEnterEnterEnter. ACTIVAR Y DESACTIVAR LA VERIFICACION DE SINTAXIS PARA LOS MODULOS 1.Del menú Herramientas,Herramientas,Herramientas,Herramientas,Herramientas, seleccionar la opción Opciones.Opciones.Opciones.Opciones.Opciones. 2.Seleccionar la ficha General-Módulo.General-Módulo.General-Módulo.General-Módulo.General-Módulo. 3.Seleccionar el cuadro de verificación “Interrumpir en todos los erro-“Interrumpir en todos los erro-“Interrumpir en todos los erro-“Interrumpir en todos los erro-“Interrumpir en todos los erro- res”res”res”res”res”, o eliminar la se- lección. 4.Hacer un click en el botón Aceptar.Aceptar.Aceptar.Aceptar.Aceptar. Los procedi- mientos tienen un es- pacio limitado para almacenar variables. Cada vez que un pro- cedimiento se llama a si mismo, consume más de ese espacio. Un procedimiento que se llama a si mismo es lo que se conoce como un procedi- miento recursivo. Un p r o c e d i m i e n t o recursivo que se lla- ma continuamente a si mismo producirá fi- nalmente un error. Por ejemplo: F u n c t i o n Agotar(Máximo) Agotar = Agotar(Máximo) End Function
  • 22. 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 de Visual Basic, mientras se realiza la macro. Para interrumpir la macro antes de que finalice las acciones que se han grabado, presione ESC. Ejecutar una macro desde un módulo de Visual BasicEjecutar una macro desde un módulo de Visual BasicEjecutar una macro desde un módulo de Visual BasicEjecutar una macro desde un módulo de Visual BasicEjecutar una macro desde un módulo de Visual Basic 1.Abra el libro que contiene la macro. 2.Seleccionar la opción MacroMacroMacroMacroMacro en el menú HerramientasHerramientasHerramientasHerramientasHerramientas y, a continuación, hacer un click en la sub opción MacrosMacrosMacrosMacrosMacros. 3.En el cuadro Nombre de la macro, escriba el nombre de la macro que desea ejecutar. 4.Hacer un click en el botón ModificarModificarModificarModificarModificar. 5.Hacer un click en el botón EjecutarEjecutarEjecutarEjecutarEjecutar subsubsubsubsub. Sugerencia.-Sugerencia.-Sugerencia.-Sugerencia.-Sugerencia.- Si desea ejecutar otra macro diferente mientras está utilizando el Editor de Visual Basic, hacer un click en la opción Macros en el menú Herramientas. En el cuadro Nombre de la macro, escriba el nombre de la macro que desea ejecutar y, a continuación, hacer un click en Ejecutar. GRABAR UNA MACRO Para grabar una macro hacer los pasos siguientes: 1.Seleccionar la opción MacroMacroMacroMacroMacro del menú HerramientasHerramientasHerramientasHerramientasHerramientas y, a continuación, hacer un click en la opción Grabar nueva macroGrabar nueva macroGrabar nueva macroGrabar nueva macroGrabar nueva macro. 2.En el cuadro Nombre de la macroNombre de la macroNombre de la macroNombre de la macroNombre de la macro, digitar un nombre para la macro. El primer caracter del nombre de la 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+ lCTRL+ lCTRL+ lCTRL+ lCTRL+ l Letra(para letras minúsculas) o CTRL+ MAYUS + letraCTRL+ MAYUS + letraCTRL+ MAYUS + letraCTRL+ MAYUS + letraCTRL+ MAYUS + letra (para letras mayúsculas), donde letra es cualquier tecla del teclado. La Antes de grabar o escribir una macro, planifique los pasos y los comandos que desea que ejecute. Si se comete algún error mientras se gra- ba la macro, también se grabarán las co- rrecciones que se realicen. Cada vez que se grabe una macro, ésta se alma- cenará en un nuevo módulo adjunto a un libro. Detener la ejecu- ción de una macro ·Nota Para dete- ner una macro an- tes de que finali- ce las acciones, presionar la tecla ESC.
  • 23. 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 macroGuardar macroGuardar macroGuardar macroGuardar 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 de macros personales en la carpeta INICIAR. Para incluir una descripción de la macro, escriba la descripción en el cuadro Descripción. 5.Hacer un click en el botón AceptarAceptarAceptarAceptarAceptar. Si se seleccionan celdas mientras se está ejecutando una macro, ésta seleccionará las mismas celdas independientemente de la celda que se haya seleccionado en primer lugar, ya que graba referencias absolutas de celda. Si desea tener una macro para seleccionar celdas independientemente de la posición que tenga la celda activa cuando se ejecute la macro, configure el grabador de macros para que grabe referencias relativas de celda. En la barra de herramientas Detener grabación, hacer un click en Referencia. Microsoft Excel continuará grabando macros con referencias relativas hasta que termine la sesión con Microsoft Excel o hasta hacer un click otra vez en Referencias relativas. 6.Ejecute las acciones que desee grabar. 7.En la barra de herramientas Detener grabación, hacer un click en Detener grabación. Sugerencia.-Sugerencia.-Sugerencia.-Sugerencia.-Sugerencia.- Si desea tener una macro para seleccionar una celda determinada, ejecute una acción y seleccionar otra celda relativa a la celda activa; cuando se grabe una macro, pueden mezclarse referencias relativas y absolutas. Para grabar una macro utilizando referencias, compruebe que está activada la opción Referencias relativas. Para grabar una macro utilizando referencias absolutas, compruebe que la opción Referencias relativas no está habilitada. Un procedi- miento Function es una serie de instruc- ciones de Visual Basic encerradas entre dos i n s t r u c c i o n e s Function y End Function. Un procedi- miento Function es similar a un procedi- miento Sub, aunque una función puede devolver además un valor. Un procedi- miento Function acepta argumentos, como pueden ser constantes, variables o expresiones que le pasa el procedimien- to que efectúa la lla- mada. Si un procedi- miento Function no tiene argumentos, la instrucción Function debe incluir un par de paréntesis vacíos. Una función devuelve un valor asignándolo a su nombre en una o más instrucciones del procedimiento. Las macros eliminan tareas repetitivas y crean informes automatizados. Visual Basic es el lenguaje usado para hacer estas macros.
  • 24. 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. G Copiar parte de una macro para crear otraCopiar parte de una macro para crear otraCopiar parte de una macro para crear otraCopiar parte de una macro para crear otraCopiar parte de una macro para crear otra 1.Abra el libro que contenga la macro que desee copiar .2.Seleccionar la opción MacroMacroMacroMacroMacro del menú HerramientasHerramientasHerramientasHerramientasHerramientas y, a continuación, hacer un click en MacrosMacrosMacrosMacrosMacros. 3.En el cuadro Nombre de la macro, escriba el nombre de la macro que desea copiar. 4.Hacer un click en la opción ModificarModificarModificarModificarModificar. 5.Seleccionar las líneas de la macro que desee copiar. 6.Para copiar toda la macro, asegúrese de que incluye las líneas Sub y End Sub en la selección. 7.Hacer un click en CopiarCopiarCopiarCopiarCopiar. 8.Cambie al módulo en el que desee situar el código. 9.Hacer un click en PegarPegarPegarPegarPegar. Sugerencia.-Sugerencia.-Sugerencia.-Sugerencia.-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. G Copiar un módulo de una macro a otro libroCopiar un módulo de una macro a otro libroCopiar un módulo de una macro a otro libroCopiar un módulo de una macro a otro libroCopiar un módulo de una macro a otro libro 1.Abra el libro que contiene el módulo y el libro en que desea copiar el módulo. 2.Seleccionar MacroMacroMacroMacroMacro del menú HerramientasHerramientasHerramientasHerramientasHerramientas y, a continuación, hacer un click en el Editor de Visual BasicEditor de Visual BasicEditor de Visual BasicEditor de Visual BasicEditor 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. C U A N D O USAR MACROS Y CUANDO NO: ·Cuando se necesita una tarea que se realiza a diario más rápido y no impor- ta ser repetitivo (ta- rea grande). ·Cuando se van a ge- nerar diversas va- riantes del docu- mento similar. ·No, cuando se quie- re el documento compacto, evitando repetir el mismo (en este caso, usar pro- cedimientos). 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.
  • 25. 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: CREACION DE UNA CAJA DE DIALOGOCREACION DE UNA CAJA DE DIALOGOCREACION DE UNA CAJA DE DIALOGOCREACION DE UNA CAJA DE DIALOGOCREACION DE UNA CAJA DE DIALOGO 1. Hacer un click en el botón Modo Diseño, en la ventana de Excel. Si no tiene activo seleccionar Ver Barra de herramientas activar la subopción Visual Basic. 2. Hacer un click en el botón cuadro de controles, Al activar el cuadro de controles se activa una ventana que contiene botones para Diseño la caja de Diálogo usted creará la caja de diálogo deseada, que posteriormente cada objeto insertado tendrá un procedimiento la que llamará desde un módulo para poder ingresar o mostrar los datos deseados. El formato de la hoja de diálogo aparecerá de la siguiente forma: Es un recuadro en el cual se crea elementos para poder interactuar Usuario Diálogo Interactuar crea Programa Ejemplo: Caja de diálogo de Excel filtro Interfase TITULO A ceptar Salir A yu da C A NA D A P ER U IT AL IA F RA N C IA B R AS IL JA PO N R OMA S U IZA A LE MA NI A H U N GR IA U S A C A RI BE C U BA E SP A Ñ AR Q Barra de título (+-Ventana) Elementos de la caja: •Combinados (cuadros). •Edición (cuadros). •Casilla de Verificación •Botones de Acción •Listas •Botones de Comando (aceptar, cancelar, ayuda, salir, etc.). Una caja de diálogo es una ven- tana que se utiliza para ejecutar cual- quier operación. Esta ventana, según sea el caso, mues- tra una serie de ele- mentos visuales que hacen más sencilla la operación. Una caja de diálogo puede contener: ·BOTONES.- Son ele- mentos utilizados para poder iniciar la ejecución de una ta- rea a partir de la caja de diálogo. En la caja de diálogo anterior se tiene que, al utilizar el botón de grabar, se registrará toda la in- formación propor- cionada por el usuario. Dos puntas hacia adentro del botón permiten al usuario diferenciar entre varios boto- nes, cual de ellos va a ser utilizado.
  • 26. Guía Práctica - Cómo Automatizar Tareas con Excel Macros Utilización de botones en la creación de la caja de diálogo. VENTANA CUADRO DE CONTROLES 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. Modo DiseñoModo DiseñoModo DiseñoModo DiseñoModo Diseño 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 se encuentra en el modo Diseño de formularios, este botón cambiará a Salir del modo Diseño. Propiedades del controlPropiedades del controlPropiedades del controlPropiedades del controlPropiedades del control Cambia en el archivo las propiedades de los controles ActiveX o las opciones del campo de formulario seleccionado. Ver códigoVer códigoVer códigoVer códigoVer código Abre el Editor de Visual Basic, donde pueden escribirse comandos de Visual Basic. Casilla de verificación (Cuadro de controles)Casilla de verificación (Cuadro de controles)Casilla de verificación (Cuadro de controles)Casilla de verificación (Cuadro de controles)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 documento o formulario. Cuadro de texto (Cuadro de controles)Cuadro de texto (Cuadro de controles)Cuadro de texto (Cuadro de controles)Cuadro de texto (Cuadro de controles)Cuadro de texto (Cuadro de controles) 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 un documento o formulario. Botón de comando (Cuadro de controles)Botón de comando (Cuadro de controles)Botón de comando (Cuadro de controles)Botón de comando (Cuadro de controles)Botón de comando (Cuadro de controles) Crea un botón, al que puede asignar un procedimiento de Visual Basic, en una hoja de cálculo, en una hoja de diálogo, en un Confección de Cajas de Diálogo Propias DiálogoInsertar Macro Una caja de diálogo puede conte- ner ·OPCIONES SIMPLES. Este elemento visual está conformado por todos aquellos com- ponentes de un menú que tienen la forma de texto y que nos indican una opera- ción a realizarse o un objeto a utilizar. Como ejemplo de este elemento, tene- mos en la ventana superior la palabra siguiente: Descripción Una opción de este tipo siempre presen- ta una de sus letras con más brillo en la pantalla, lo que sig- nifica que se puede acceder a ésta. sim- plemente presionan- do dicha letra. Como objetivo principal tie- ne el de personalizar la información de una caja de diálogo. ·CUADROS DE CHE- QUEO. Este elemento define para una op- ción la selección en- tre dos posibilidades, «SI» o «NO». Está re- presentada por un cuadrado pequeño donde se marca con una EQUIS para indi- car SI; o dejar en blanco lo que indica- ría NO.
  • 27. 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)Botón de opción (Cuadro de controles)Botón de opción (Cuadro de controles)Botón de opción (Cuadro de controles)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 documento o formulario. Cuadro de lista (Cuadro de controles)Cuadro de lista (Cuadro de controles)Cuadro de lista (Cuadro de controles)Cuadro de lista (Cuadro de controles)Cuadro de lista (Cuadro de controles) Crea un cuadro de lista en una hoja de cálculo, en una hoja de diálogo, en un gráfico o en un documento o formulario. Cuadro combinado (Cuadro de controles)Cuadro combinado (Cuadro de controles)Cuadro combinado (Cuadro de controles)Cuadro combinado (Cuadro de controles)Cuadro combinado (Cuadro de controles) 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. Etiqueta (Cuadro de controles)Etiqueta (Cuadro de controles)Etiqueta (Cuadro de controles)Etiqueta (Cuadro de controles)Etiqueta (Cuadro de controles) 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. INGRESO DEL LOGOTIPO A ceptar T exto : T ít ulo Fig ur a Lim piar Salir l C uadr o d e Ed ic ión (Ed it Bo x) B otó n (B o tto n) B otó n d e Opción (O ptio n b ut ton s) Títu lo (T itle ) Macro Funciones Funtion Areas (largo, ancho) if largo=ancho msgbox “Es un cuadrado” Area=“ERROR” else AREA1=largo*ancho End If End Funtion Función Areas (largo, ancho) Si largo=ancho entonces Cuadro Msj “Es un cuadrado” Areas=“ERROR” si otro AREA1=largo*ancho Fin Si Fin Función En inglés En español Una caja de diálogo puede conte- ner: MCAJA DE SELECCIO- NES. Este cuadro dentro de la caja de diálogo, nos permi- te seleccionar una posibilidad, de va- rias, para una deter- minada opción. Este elemento también es de tipo exclusi- vo y tiene como fi- nalidad personalizar la información. Dentro de este cua- dro se muestran las posibilidades, orde- nadas de arriba ha- cia abajo o de iz- quierda a derecha y a la izquierda de cada una de ellas, un pequeño círculo. Para elegir una po- sibilidad de la op- ción, ésta debe marcarse con la ba- rra espaciadora y el círculo contendrá un punto en su in- terior. ·ASPAS DE SELEC- CION. Esta opción se utiliza para mar- car una referencia, indicándonos si- tuaciones de reali- zación, Por ejemplo, si encontramos esta aspa, no indicará que el elemento al que pertenece ha sido considerado. Cada uno de los elementos que puede integrar la caja de diálogo, pueden tener dos estados de comportamiento dentro de la caja de diálogo a la que pertenece. ·Disponible .- Que indica que la opción está activa, pudiéndose acceder a ella en cualquier momento presionando siempre la letra resaltada que lo identifica. ·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.
  • 28. Guía Práctica - Cómo Automatizar Tareas con Excel Macros! Cómo evitar problemas con las teclas de método abreviado. Si existen dos hojas de macros que con- tiene macros con las mismas teclas de método abreviado, Excel ejecutará el macrocomando de la hoja de macros cuyo nombre aparece pri- mero en orden alfabético. Cuando asigne teclas de mé- todo abreviado, ase- gúrese de evitar con- flictos con las demás hojas de macros que utilice. Escritura de un macrocomando. También se pueden introducir las fórmu- las de un macrocomando direc- tamente en una hoja de macros sin necesi- dad de grabar. Ejecutar una macro desde un método abreviadoEjecutar una macro desde un método abreviadoEjecutar una macro desde un método abreviadoEjecutar una macro desde un método abreviadoEjecutar una macro desde un método abreviado 1. Seleccionar MacroMacroMacroMacroMacro en el menú HerramientasHerramientasHerramientasHerramientasHerramientas y, a continuación, hacer un click en la opción Macros.Macros.Macros.Macros.Macros. 2. En el cuadro Nombre de la macroNombre de la macroNombre de la macroNombre de la macroNombre de la macro, escriba el nombre de la macro a la que desea 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 Tecla de método abreviado. Puede utilizarse CONTROL+ letra o CONTROL+ MAYÚS + letra, donde letra es cualquier tecla del teclado. 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. Para incluir una descripción de la macro, escriba la descripción enPara incluir una descripción de la macro, escriba la descripción enPara incluir una descripción de la macro, escriba la descripción enPara incluir una descripción de la macro, escriba la descripción enPara incluir una descripción de la macro, escriba la descripción en el cuadro Descripción.el cuadro Descripción.el cuadro Descripción.el cuadro Descripción.el cuadro Descripción. 5. Hacer un click en el botón Aceptar.Aceptar.Aceptar.Aceptar.Aceptar. 6. Hacer un click en el botón CancelarCancelarCancelarCancelarCancelar. Ejecutar una macro desde un botón o un control gráficoEjecutar una macro desde un botón o un control gráficoEjecutar una macro desde un botón o un control gráficoEjecutar una macro desde un botón o un control gráficoEjecutar una macro desde un botón o un control gráfico Puede asignar una macro a un botón, a un objeto de dibujo o a un 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, por ejemplo, haciendo click en una casilla de verificación o un elemento de una lista, la macro se ejecutará de forma automática. También puede ejecutar una macro de un control ActiveX. Para obtener más información acerca de cómo crear un control ActiveX, haga clic en . 1. Hacer un click en el botón o el control gráfico para que aparezcan los controladores de selección. 2. 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. 3. Para asignar una macro ya existente al botón o al control gráfico seleccionado, escriba el nombre de la macro en el cuadro Nombre de la macro y luego hacer un click en el botón Aceptar.Aceptar.Aceptar.Aceptar.Aceptar. Para grabar una nueva macro y asignarle el botón u objeto gráfico, hacer un click en Grabar.Grabar.Grabar.Grabar.Grabar.
  • 29. Guía Práctica - Cómo Automatizar Tareas con Excel Macros ! Ejecutar una macro desde un botón de la barra de herramientasEjecutar una macro desde un botón de la barra de herramientasEjecutar una macro desde un botón de la barra de herramientasEjecutar una macro desde un botón de la barra de herramientasEjecutar 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ú HerramientasHerramientasHerramientasHerramientasHerramientas, hacer un click en Personalizar.Personalizar.Personalizar.Personalizar.Personalizar. 2. Si la barra de herramientas que contiene el botón no es visible, hacer un click en la ficha Barra de herramientasBarra de herramientasBarra de herramientasBarra de herramientasBarra 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 MacrosMacrosMacrosMacrosMacros 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 MacroAsignar MacroAsignar MacroAsignar MacroAsignar Macro en el menú contextual. 5. En el cuadro Nombre de la macroNombre de la macroNombre de la macroNombre de la macroNombre de la macro, escriba un nombre para la macro. Ejecutar una macro desde un área, zona interactiva o un objeto gráficoEjecutar una macro desde un área, zona interactiva o un objeto gráficoEjecutar una macro desde un área, zona interactiva o un objeto gráficoEjecutar una macro desde un área, zona interactiva o un objeto gráficoEjecutar 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 macroAsignar macroAsignar macroAsignar macroAsignar 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.Aceptar.Aceptar.Aceptar.Aceptar. Para grabar una nueva macro y asignarla al objeto gráfico seleccionado, hacer un click en GrabarGrabarGrabarGrabarGrabar. Cuando finalice de grabar la macro, hacer un click en Detener grabaciónDetener grabaciónDetener grabaciónDetener grabaciónDetener grabación que se ubica en la barra de herramientas Grabar macroGrabar macroGrabar macroGrabar macroGrabar macro. 6. En el menú Formato, hacer un click en AutoformaAutoformaAutoformaAutoformaAutoforma y, a continuación, hacer un click en la ficha Colores y líneas.Colores y líneas.Colores y líneas.Colores y líneas.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.
  • 30. Guía Práctica - Cómo Automatizar Tareas con Excel Macros! En seguida se muestran algunas funciones interconstruidas de Visual Basic. Una función es un procedimiento que devuelve un valor. ARCHIVO ·FileAttrFileAttrFileAttrFileAttrFileAttr - Devuelve información del sistema operativo acerca dl archivo que esta abierto. ·FileDateTimeFileDateTimeFileDateTimeFileDateTimeFileDateTime - Devuelve una cadena de caracteres que indican la fecha y la hora de la última modificación del archivo. ·FileLenFileLenFileLenFileLenFileLen - Devuelve un entero largo que indica la longuitud en bytes de un archivo . ·FreeFileFreeFileFreeFileFreeFileFreeFile - Devuelve el siguiente numero de archivo valido que no esta en uso. ·GetAttrGetAttrGetAttrGetAttrGetAttr - Devuelve un entero qu indica los atributos de un archivo, directorio, o etiqueta de volumen. ·LocLocLocLocLoc - Devuelve la posición actual en un archivo abierto. ·LOFLOFLOFLOFLOF - Devuelve el tamaño en bytes de un archivo abierto. ·SeekSeekSeekSeekSeek - Devuelve la posición del archivo actual. NÚMERO ·AbsAbsAbsAbsAbs - Devuelve el valor absoluto de un número. ·AtnAtnAtnAtnAtn - Devuelve el arcotangente de un número. ·CosCosCosCosCos - Devuleve el coseno de un ángulo (ángulo en radianes). ·SinSinSinSinSin - Devuelve el seno de un ángulo (ángulo en radianes). CADENA ·InStrInStrInStrInStrInStr - Devuelve la posición de la primera ocurrencia de una cadena dentro de otra cadena de caracteres ·LCase, LCase$LCase, LCase$LCase, LCase$LCase, LCase$LCase, LCase$ - Devuelve una cadena de caracteres en la cuál todas las letras han sido convertidas a minúsculas. ·Left, Left$Left, Left$Left, Left$Left, Left$Left, Left$ - Devuelve los n cacarteres a la izquierda de un cierto argumento. (cadena). ·LenLenLenLenLen - 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$LTrim, LTrim$LTrim, LTrim$LTrim, LTrim$LTrim, LTrim$ - Devuelve una copia de una cadena eliminando todos los espacios en blanco. ·Mid, Mid$Mid, Mid$Mid, Mid$Mid, Mid$Mid, Mid$ - Devuelve una cadena qu es parte de una cadena. ·Right, Right$Right, Right$Right, Right$Right, Right$Right, Right$ - Devuelve los n caracteres más a la derecha ALGUNAS FUNCIONES DE VISUAL BASIC Un procedi- miento Function es una serie de instruc- ciones de Visual Basic encerradas entre dos i n s t r u c c i o n e s Function y End Function. Instrucción.-Una u n i d a d s i n t á c t i c a m e n t e completa que expre- sa un tipo de acción, declaración o defini- ción. Normalmente una instrucción tiene una sola línea aunque es posible utilizar dos puntos (:) para poner más de una instruc- ción en una línea. También se puede utilizar un carácter de continuación de línea (_) para continuar una sola línea lógica en una segunda línea fí- sica.
  • 31. Guía Práctica - Cómo Automatizar Tareas con Excel Macros !! de un argumento determinado. ·RTrim, RTrim$RTrim, RTrim$RTrim, RTrim$RTrim, RTrim$RTrim, RTrim$ - Devuelve una copia de la cadena de caracteres con los espacios de la derecha eliminados. ·Space, Space$Space, Space$Space, Space$Space, Space$Space, Space$ - Devuelve una cadena que consiste de un número especifico de espacios. ·Trim, Trim$Trim, Trim$Trim, Trim$Trim, Trim$Trim, Trim$ - Devuelve una copia de una cadena con los espacios de ambos lados eliminados. ·UCase, UCase$UCase, UCase$UCase, UCase$UCase, UCase$UCase, UCase$ - Devuelve una cadena con todas las letras convertidas a mayúsculas. HORA/FECHA ·Date, Date$Date, Date$Date, Date$Date, Date$Date, Date$ - Devuelve la fecha actual.. ·IsDateIsDateIsDateIsDateIsDate - Returns a value indicating whether of not a Variant argument can be converted to a date. ·MinuteMinuteMinuteMinuteMinute - Returns an integer between 0 and 59, inclusive, that represents the minute of the hour corresponding to the time provided as an argument. ·MonthMonthMonthMonthMonth - Returns an integer between 1 and 12, inclusive, that represents the month of the year for a date argument. ·NowNowNowNowNow - Returns a date that represents the current date and time according to the setting of the computer’s system date and time. ·Time, Time$Time, Time$Time, Time$Time, Time$Time, Time$ - Returns the current system time. ·TimerTimerTimerTimerTimer - Returns the number of seconds that have elapsed since 12:00 a.m. (midnight). ·WeekdayWeekdayWeekdayWeekdayWeekday - Returns an integer between 1 (Sunday) and 7 (Saturday) that represents the day of the week for a date argument. ·YearYearYearYearYear - Returns an integer between 100 and 9999, inclusive, that represents the year of a date argument. VARIABLE CONVERSION ·CCurCCurCCurCCurCCur - Explicitly converts expressions to the Currency data type. ·CDblCDblCDblCDblCDbl - Explicitly converts expressions to the Double data type. ·CIntCIntCIntCIntCInt - Explicitly converts expressions to the Integer data type. ·CLngCLngCLngCLngCLng - Explicitly converts expressions to the Long data type. ·CSndCSndCSndCSndCSnd - Explicitly converts expressions to the Single data type. ·CStrCStrCStrCStrCStr - Explicitly converts expressions to the String data type. ·CVarCVarCVarCVarCVar - Explicitly converts expressions to the Variant data type. ·CVDateCVDateCVDateCVDateCVDate - Converts an expression to a Variant of VarType 7 (Date). En el siguiente ejemplo, la función Celsius calcula grados centígrados a partir de grados Fahrenheit. Cuando se llama a la función desde el pro- cedimiento Principal, se le pasa una varia- ble que contiene el valor del argumento. El resultado de los cál- culos se devuelve al procedimiento que efectúo la llamada y se presenta en un cuadro de mensaje. Sub Principal() temp = Application.InputBox(Texto:= _ Por favor, introduzca la tem- peratura en grados F., Tipo:=1) MsgBox La temperatura es Celsius(temp) grados C. End Sub Function Celsius(GradosF) Celsius = (GradosF - 32) * 5 / 9 End Function
  • 32. Guía Práctica - Cómo Automatizar Tareas con Excel Macros! AÑADIR BORDES GRUESOS Para añadir bordes gruesos al contenido, hacer lo siguiente: Por ejemplo si se desea colocar el borde grueso de las celdas A8 a B14, entonces: ‘bordes Macro ‘Coloca un borde grueso de A8 a B14 ‘ Sub bordes ()Sub bordes ()Sub bordes ()Sub bordes ()Sub bordes () Range(“A8.B14”). Select Selection.Borders(xlLeft).LineStyle=xkNone Selection.Borders(xlRight).LineStyle=xkNone Selection.Borders(xlTop).LineStyle=xkNone Selection.Borders(xlBottom).LineStyle=xkNone Selection.BordersAroundWeight:=xlMedium, ColorIndex:=xlAutomatic End SubEnd SubEnd SubEnd SubEnd Sub PROGRAMANDO 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.XLASCENARIO.XLASCENARIO.XLASCENARIO.XLASCENARIO.XLA Solver.- SOLVER.XLASOLVER.XLASOLVER.XLASOLVER.XLASOLVER.XLA Administrador de vistas.- VISTAS.XLAVISTAS.XLAVISTAS.XLAVISTAS.XLAVISTAS.XLA Las instruccio- nes de declaración se usan para dar nom- bre y definir procedi- mientos, variables, matrices y constantes El siguiente ejemplo contiene tres decla- raciones. Sub DarFormato() Const limite As Integer = 33 Dim miCelda As Range ' Mas instrucciones End Sub La instrucción Sub (con la correspon- diente instrucción End Sub) declara un procedimiento llama- do DarFormato. To- 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.
  • 33. 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 ()Sub cen ()Sub cen ()Sub cen ()Sub cen () Range(“B1:D1”). Select With Selection .HorizontalAlignement =xlCenter .VerticalAlignement =xlBottom .WrapText = False .Orientation = xlHorizontal End With End SubEnd SubEnd SubEnd SubEnd Sub CAMBIAR A NEGRITAS Para Poner en negritas el contenido del rango de celdas B1:D1, hacer lo siguiente: ‘neg Macro ‘Pone en negritas el rango B1:D1 ‘ Sub neg ()Sub neg ()Sub neg ()Sub neg ()Sub neg () Range(“B1:D1”). Select Selection(“B1:D1”).Select End SubEnd SubEnd SubEnd SubEnd Sub Para dar nombre a p r o c e d i m i e n t o s , constantes, variables y 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 (!), ni @, , $, #. ·El nombre no puede tener más de 255 ca- racteres de longitud. ·No se deben usar nombres iguales a los de los procedimien- tos Function, instruc- ciones y métodos de Visual Basic. ·Los nombres no se pueden repetir den- 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.
  • 34. 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 ()Sub días ()Sub días ()Sub días ()Sub días () Range(“A8”). Select ActiveCell.FormulaRCC2 =”Lunes” Selection.Autofill Destination: Range (“A8:A14), Type:)=xlFillDefault Range(“A8:A14”).Select End SubEnd SubEnd SubEnd SubEnd Sub ESTABLECER LA FUNCION SUMA Para establecer la función SUMA en la celda B15, hacer el programa siguiente: ‘sumatoria Macro ‘Establece función SUMA en celda B15 ‘ Sub sumatoria ()Sub sumatoria ()Sub sumatoria ()Sub sumatoria ()Sub sumatoria () Range(“B15”). Select ActiveCell.FormulaR1C1 =”TOT.SEMA=” Range(“B15”).Select ActiveCell.FormulaR1C1 =”=SUM(R [-7]C:R[-1]C)” End SubEnd SubEnd SubEnd SubEnd Sub Una instrucción 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 i o n e s ejecutables incluyen a menudo operadores condicionales o ma- temáticos. El siguiente ejemplo utiliza la instrucción For Each...Next para pasar por cada una de las celdas de un ran- go llamado Milntervalo en la Hoja1 de un libro Microsoft Excel ac- tivo. La variable c es una celda en la colección de celdas que componen el Milntervalo. Sub DarFormato()Sub DarFormato()Sub DarFormato()Sub DarFormato()Sub DarFormato() Const limite AsAsAsAsAs Integer = 33 F o rF o rF o rF o rF o r E a c h I nI nI nI nI n W o r k s h e e t s (“Hoja1”).Ranger(“Milntervalo”).Cells IfIfIfIfIf c.Valuelimite ThenThenThenThenThen WithWithWithWithWith c.Font .Bold=true .Italic=true End WithEnd WithEnd WithEnd WithEnd With End IfEnd IfEnd IfEnd IfEnd If NextNextNextNextNext c MsgBox “¡Find!” End SubEnd SubEnd SubEnd SubEnd Sub
  • 35. Guía Práctica - Cómo Automatizar Tareas con Excel Macros !% CAMBIAR FORMULAS A VALORES 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 es la siguiente: ‘valores Macro ‘cambiar fórmulas a valores ‘ Sub Form2Val ()Sub Form2Val ()Sub Form2Val ()Sub Form2Val ()Sub Form2Val () For Each c In Selection.Cells c.Formula= c.Value Next c End SubEnd SubEnd SubEnd SubEnd Sub 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. CONTROLAR MAYUSCULAS/MINUSCULAS EN LAS CELDAS Aquí se encuentra un par de macros para cambiar las entradas de celdas entre mayúsculas y minúsculas. Para convertir el texto en mayúsculas, para ello use la siguiente macro: Sub MakeUpperCase()Sub MakeUpperCase()Sub MakeUpperCase()Sub MakeUpperCase()Sub MakeUpperCase() For Each c In Selection.Cells c.Value= UCase$(c.Value) Next c End SubEnd SubEnd SubEnd SubEnd Sub Para cambiar el texto a minúsculas utilizar esta macro similar: Sub MakeLowerCase()Sub MakeLowerCase()Sub MakeLowerCase()Sub MakeLowerCase()Sub MakeLowerCase() For Each c In Selection.Cells c.Value=LCase$(c.Value) Next c End SubEnd SubEnd SubEnd SubEnd Sub Para utilizar cualquiera de estas macros, simplemente colóquese en la celda o seleccione las celdas que quiera cambiar, y ejecute la macro. El editor de vi- sual Basic proporcio- na muchas herra- mientas que se pue- den usar para dise- ñar aplicaciones grá- ficas. Proyectos Lenguaje Visual Basic Formularios y con- troles Barras de menú Módulos Un formulario inclu- ye los controles y el código asociado a dicho formulario. Podemos compartir código en todo el proyecto colocando el código en un mó- dulo de formulario o en un módulo estándar y declaran- do el procedimiento como Public. Los formularios se crean como interfaz de la aplicación. Cada for- mulario es una ven- tana que presenta controles, gráficos u otros formularios. Los formularios se pueden usar de dife- rentes maneras: Como una pantalla ilustrada como in- troducción a una aplicación. Como un libro den- tro de una aplicación. Como un cuadro de diálogo.
  • 36. 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 ‘ Sub TrimIt()Sub TrimIt()Sub TrimIt()Sub TrimIt()Sub TrimIt() For Each c In Selection.Cells c.Value=Application.Trim(c.Value) Next c End SubEnd SubEnd SubEnd SubEnd Sub 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()Sub CloseAllInactive()Sub CloseAllInactive()Sub CloseAllInactive()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 SubEnd SubEnd SubEnd SubEnd Sub El lenguaje que se usa también se encuen- tra en muchas apli- caciones de Microsoft Office como VisualBasic o Project, . Las carac- terísticas del lengua- je incluyen:
  • 37. 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 Diseñar el formulario con las siguientes características : 1. Ingresar el nombre del usuario 2. Digitar la contraseña 3. Hacer un click en el botón Aceptar para Ingresar al sistema, si es correcta debe salir un aviso “Bienvenido al sistema”. si no digita la clave correcta debe salir un aviso “No tiene autorización” 4. Hacer un click en el botón Salir si no tiene autorización. Los controles son 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- mularios. Para dibu- jar controles en un formulario se usa el Cuadro de herra- mientas. 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 propiedades y los valores del control o módulo selecciona- do actualmente. Propiedad Valor A c o n t i n u a c i ó nA c o n t i n u a c i ó nA c o n t i n u a c i ó nA c o n t i n u a c i ó nA c o n t i n u a c i ó n se muestra lasse muestra lasse muestra lasse muestra lasse muestra las f a s e s e n l af a s e s e n l af a s e s e n l af a s e s e n l af a s e s e n l a c o n s t r u c c i ó n d ec o n s t r u c c i ó n d ec o n s t r u c c i ó n d ec o n s t r u c c i ó n d ec o n s t r u c c i ó n d e u n a a p l i c a c i ó nu n a a p l i c a c i ó nu n a a p l i c a c i ó nu n a a p l i c a c i ó nu n a a p l i c a c i ó n
  • 38. Guía Práctica - Cómo Automatizar Tareas con Excel Macros 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. 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. Algunas consideraciones: 1.Para insertar en el fondo del formulario una imagen, en la ventana de propiedades, la propiedad PicturePicturePicturePicturePicture 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 propiedad Font.Font.Font.Font.Font. Luego para cambiar el fondo de la etiqueta con la propiedad BackColor.BackColor.BackColor.BackColor.BackColor. 3. La caja de texto o Texbox en la propiedad PasswordCharPasswordCharPasswordCharPasswordCharPasswordChar digitar* para enmascarar la clave. FASE DE DISEÑO FASE DE CODIFICACION FASE DE EJECUCION
  • 39. Guía Práctica - Cómo Automatizar Tareas con Excel Macros EJEMPLO Nº2 Cada formulario o control responde a un juego predefinido de eventos. Por ejemplo: un botón de comando reconoce los siguientes eventos. Evento Acción Click Seleccionar un botón con el mouse o con el teclado. DragDrop Colocar un control en el botón. DragOver Arrastrar un control sobre el botón. GotFocus El botón obtiene el foco. KeyDown Presionar una tecla mientras el botón tiene el foco. KeyPress Presionar una tecla y devolver su valor ASCII. 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. 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.para ganar.para ganar.para ganar.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: Form = Formulario cmdjugar = botón Jugar cmdsalir = botón Salir lblm1 = G a n é lblm2 = Perdí lblm3 = Jugando lbld1 = dado 1 lbld2 = dado 2 lblsuma = suma
  • 40. 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, la propiedad PicturePicturePicturePicturePicture insertar un valor es decir, seleccionar la imagen que desea que vaya en el formulario. Luego en la propiedad VisibleVisibleVisibleVisibleVisible seleccionar el valor False.False.False.False.False. 2.Las etiquetas Jugando, Gané, Perdí, dado1, dado 2 y suma se debe cambiar el tipo de fuente con la propiedad Font.Font.Font.Font.Font. Luego para cambiar el fondo de la etiqueta con la ropiedad BackColor.BackColor.BackColor.BackColor.BackColor. Luego en la propiedad VisibleVisibleVisibleVisibleVisible seleccionar el valor False.False.False.False.False. EL CODIGO SERIA ASI:EL CODIGO SERIA ASI:EL CODIGO SERIA ASI:EL CODIGO SERIA ASI:EL CODIGO SERIA ASI: Private Sub cmdjugar_Click()Private Sub cmdjugar_Click()Private Sub cmdjugar_Click()Private Sub cmdjugar_Click()Private Sub cmdjugar_Click() Do While 1 x = Int(Rnd * 10) If x = 1 And x = 6 Then lbld1.Caption = Str(x) Exit Do End If Loop Do While 1 y = Int(Rnd * 10) If y = 1 And y = 6 Then lbld2.Caption = Str(y) Exit Do End If Loop lblsuma.Caption = Str(Val(x) + Val(y)) If x + y = 7 Then Image2.Visible = True lblm1.Visible = True 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 SubEnd SubEnd SubEnd SubEnd Sub Private Sub Form_Load()Private Sub Form_Load()Private Sub Form_Load()Private Sub Form_Load()Private Sub Form_Load() Image1.Visible = False Image2.Visible = False Image3.Visible = False lblm1.Visible = False lblm2.Visible = False End SubEnd SubEnd SubEnd SubEnd Sub Private Sub CMDSALIR_CLICK()Private Sub CMDSALIR_CLICK()Private Sub CMDSALIR_CLICK()Private Sub CMDSALIR_CLICK()Private Sub CMDSALIR_CLICK() RPTA = MsgBox(¿Desea Salir del Juego?, 4 + 32, DESEA SALIR) If RPTA = vbYes Then End End If End SubEnd SubEnd SubEnd SubEnd Sub Private Sub LBLD1_Click()Private Sub LBLD1_Click()Private Sub LBLD1_Click()Private Sub LBLD1_Click()Private Sub LBLD1_Click() Do While 1 x = Int(Rnd * 10) If (x = 1 And x = 6) Then lbld1.Caption = Str(x) Exit Do End If Loop End SubEnd SubEnd SubEnd SubEnd Sub Private Sub LBLD2_Click()Private Sub LBLD2_Click()Private Sub LBLD2_Click()Private Sub LBLD2_Click()Private Sub LBLD2_Click() Do While 1 y = Int(Rnd * 10) If (y = 1 And y = 6) Then lbld2.Caption = Str(y) Exit Do End If End SubEnd SubEnd SubEnd SubEnd Sub
  • 41. Guía Práctica - Cómo Automatizar Tareas con Excel Macros ! EJEMPLO Nº3 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 un módulo y escribir lo siguiente: ''''' 'sombreado'sombreado'sombreado'sombreado'sombreado ''''' Sub sombra()Sub sombra()Sub sombra()Sub sombra()Sub sombra() Range(B4:G9).SelectRange(B4:G9).SelectRange(B4:G9).SelectRange(B4:G9).SelectRange(B4:G9).Select With Selection.InteriorWith Selection.InteriorWith Selection.InteriorWith Selection.InteriorWith Selection.Interior .ColorIndex = 15.ColorIndex = 15.ColorIndex = 15.ColorIndex = 15.ColorIndex = 15 .Pattern = xlSolid.Pattern = xlSolid.Pattern = xlSolid.Pattern = xlSolid.Pattern = xlSolid End WithEnd WithEnd WithEnd WithEnd With Range(C5:F8).SelectRange(C5:F8).SelectRange(C5:F8).SelectRange(C5:F8).SelectRange(C5:F8).Select Selection.Interior.ColorIndex = xlNoneSelection.Interior.ColorIndex = xlNoneSelection.Interior.ColorIndex = xlNoneSelection.Interior.ColorIndex = xlNoneSelection.Interior.ColorIndex = xlNone Range(D12).SelectRange(D12).SelectRange(D12).SelectRange(D12).SelectRange(D12).Select End SubEnd SubEnd SubEnd SubEnd Sub Si desea agregar el evento click con el botón de comando creado, seleccionar la hoja del libro donde se encuentra el boton creado lluego hacer doble click sobre el botón y digitar el siguiente código: Private Sub CommandButton1_Click()Private Sub CommandButton1_Click()Private Sub CommandButton1_Click()Private Sub CommandButton1_Click()Private Sub CommandButton1_Click() Range(B4:G9).SelectRange(B4:G9).SelectRange(B4:G9).SelectRange(B4:G9).SelectRange(B4:G9).Select With Selection.InteriorWith Selection.InteriorWith Selection.InteriorWith Selection.InteriorWith Selection.Interior .ColorIndex = 15.ColorIndex = 15.ColorIndex = 15.ColorIndex = 15.ColorIndex = 15 .Pattern = xlSolid.Pattern = xlSolid.Pattern = xlSolid.Pattern = xlSolid.Pattern = xlSolid End WithEnd WithEnd WithEnd WithEnd With Range(C5:F8).SelectRange(C5:F8).SelectRange(C5:F8).SelectRange(C5:F8).SelectRange(C5:F8).Select Selection.Interior.ColorIndex = xlNoneSelection.Interior.ColorIndex = xlNoneSelection.Interior.ColorIndex = xlNoneSelection.Interior.ColorIndex = xlNoneSelection.Interior.ColorIndex = xlNone Range(D12).SelectRange(D12).SelectRange(D12).SelectRange(D12).SelectRange(D12).Select End SubEnd SubEnd SubEnd SubEnd Sub Insertar un
  • 42. Guía Práctica - Cómo Automatizar Tareas con Excel Macros 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 1234567890123456789012345678901212345678901234567890123 Cómo Copiar código de ejemplo de la AyudaCómo Copiar código de ejemplo de la AyudaCómo Copiar código de ejemplo de la AyudaCómo Copiar código de ejemplo de la AyudaCómo Copiar código de ejemplo de la Ayuda A veces puede desear copiar un ejemplo útil de la Ayuda de Visual Basic. Mientras que muchos ejemplos necesitan mucho código para funcionar correctamente, algunos ejemplos son útiles para ver cómo se comporta un procedimiento particular en una técnica de flujo de control. Procedimiento. Es una secuencia con nombre de instrucciones que se ejecutan como una unidad. Por ejemplo, Function, Property y Sub son todos tipos de procedimientos. Un nombre de procedimiento siempre se define a nivel de módulo. Todo el código ejecutable debe estar contenido en un procedimiento. Los procedimientos no se pueden anidar dentro de otros procedimientos. ParaParaParaParaPara Copiar código de ejemplo de la AyudaCopiar código de ejemplo de la AyudaCopiar código de ejemplo de la AyudaCopiar código de ejemplo de la AyudaCopiar código de ejemplo de la Ayuda a la aplicación, hacer lo siguiente:a la aplicación, hacer lo siguiente:a la aplicación, hacer lo siguiente:a la aplicación, hacer lo siguiente: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. 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 CopiarCopiarCopiarCopiarCopiar 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 PegarPegarPegarPegarPegar para insertar el ejemplo de código en la ventana Código. Recuerde.-Recuerde.-Recuerde.-Recuerde.-Recuerde.- También puede presionar las teclas al mismo tiempo CTRL+CCTRL+CCTRL+CCTRL+CCTRL+C para copiar un ejemplo seleccionado en la ventana Ayuda. Presionar CTRL+VCTRL+VCTRL+VCTRL+VCTRL+V para pegar el ejemplo en la ventana Código. Finalmente al ejecutar la macro entonces automáticamente se mostrará como en la figura: Para ejecutar en otro libro esta macro (por ejemplo en el libro 2), presionar el botón de ejecución, luego se muestra una ventana de Macro. Seleccione la macro “sombra”, para ello, seleccionar el libro donde desea que se ejecute la macro. Finalmente hacer un click en el botón Ejecutar.Ejecutar.Ejecutar.Ejecutar.Ejecutar.