Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Cómo Automatizar Tareas Rutinarias Con Excel Macros PDF
Cómo Automatizar Tareas Rutinarias Con Excel Macros PDF
ua rctica
VERSION 98
Instituto Nacional de
Estadstica e Informtica
PUBLICACIONES
Gua Prctica de Autoaprendizaje de Word Perfect
Computadoras, Comodidad y Seguridad
Gua Prctica de Autoaprendizaje de Microsoft Word
Las Computadoras en la Sociedad
Mis Primeros Pasos en Informtica
Gua Prctica de Autoaprendizaje de Astound
Gua Prctica de Autoaprendizaje de Microsoft Excel
Navegando en Internet
El Mundo del Software
Gua Prctica de Autoaprendizaje de Qpro
Gua Prctica de PowerPoint
Gua Prctica de Autoaprendizaje - Microsoft Exchange
Gua Prctica de Microsoft Netscape
Gua Prctica de Visual Fox Pro
Gua Prctica de Autoaprendizaje - Diseo de Pginas Web
Gua Prctica de Autoaprendizaje de FrontPage
Gua Prctica de Power Builder
Gua Prctica de Windows 95
Gua Prctica de Autoaprendizaje - PageMaker
Gua Prctica de Autoaprendizaje - Photoshop
Gua Prctica de Autoaprendizaje - CorelDraw
Gua Prctica de Autoaprendizaje - Word (Versin 97)
Gua Prctica - Visual Basic
Gua Prctica - Project 98
Gua Prctica - Cmo Automatizar las Tareas Rutinarias con
Excel Macros
G UIA P RACTICA - C OMO A UTOMATIZAR LAS T AREAS R UTINARIAS CON E XCEL M ACROS
- PUBLICACION N36 - EDICION 99
Excel Macros es una gua que est diseado para ayudar a los
usuarios a mejorar su eficacia en el trabajo rutinario, automa-
tizando las tareas, constituyendo asi una herramienta de uso
importante. Una macro es una serie de comandos que realizan
las tareas rutinarias automticamente. Registrando sus propias
macros, puede resolver sus propias necesidades y trabajar ms
eficientemente. Por ejemplo, si utiliz la misma disposicin de
paginacin para cada informe generado, a fin de evitar hacer
los mismos pasos de progresin en cada documento, se crea
una macro modificada para requisitos particulares, ordenar e
instalar la paginacin con slo presionar unas teclas y ejecu-
tarlas.
Captulo 2 - Macros
Glosario Visual
1 ntroduccin
S
Visual Basic. Para crear una macro no necesita saber programacin
programacin, ya
que es muy sencillo. De hecho, la mayora de las macros pueden
i ejecuta fre- crearse siguiendo unos simples pasos, similares a los que realiza para
cuentemente una ta- imprimir los reportes semanales. Microsoft Excel descifra los detalles
rea en Microsoft Excel, (como el nombre del filtro a usarse) y crea el cdigo Visual Basic
puede automatizarla necesario. Incluso es posible vincular la macro a un botn de la barra
mediante una macro. de herramientas, de forma que los complicados reportes semanales se
conviertan en una actividad tan sencilla como imprimir o hacer click
Una macro consiste en
en un botn.
una serie de coman-
dos y funciones que
se almacenan en un
Lo que estoy haciendo ahora puede no ser muy eficien-
mdulo de Visual
te, pero no deseo usar mucho tiempo aprendiendo cmo
Basic y que puede eje-
escribir Visual Basic. Slo deseo ver mi trabajo termina-
cutarse siempre que
do.
sea necesario ejecutar
la tarea. Una macro se Una macro, segn la definicin encontrada en los manuales de Excel,
graba igual que se es una secuencia de instrucciones que le indican a Excel qu debe
graba msica en un hacer, y ste las ejecuta automticamente. Por medio de las macros
cassette. A continua-
podemos automatizar tareas repetitivas y aquellas en las que se requiere
cin, se ejecuta la
una cantidad considerable de pasos complejos. Y, aunque se requiere
macro para que repi-
de un poco de conocimientos de programacin, se puede realizar una
ta los comandos.
gran cantidad de tareas usando instrucciones sencillas, y todo sin saber
programar. As que, por qu no aprender un poco acerca de ellas?
R
macro estar disponible siempre
que use Microsoft Excel, y no slo
M
muy sencilla. Veamos el cdigo de Visual Basic que hace de la macro
algo tan simple.
acros
Para crear una macro desde el principio, hacer los pasos siguientes:
12345
12345
12345
12345
12345
12345
12345 12345
12345 12345
12345 12345
12345 12345
Espaol
Macro Visual Basic
Ingls
Secuencia de rdenes
I
Macro es una secuencia de rdenes que se realizan con el Visual
Basic, que puede ser en Espaol o Ingls.
pasos. Para ello, po- Secuencias de rdenes bajo una orden determinada
demos crear una Otro nombre Seudo-Programacin
macro que realice el Desarrollo lineal.
t r a b a j o Programa toma de decisiones.
automticamente.
Evidentemente, los Grabadora Programacin
Excel lineal
pasos de la macro Posee
Visual Basic
P
con cada tipo de dato y generar un resultado predecible.
Modo de Programar
Enfocar el problema en modo Lgico (Mdulo)
Algoritmo Listado
(Lenguaje)
E
1. Estructura lineal
Cuando la ejecucin del programa sigue una secuencia simple de
arriba hacia abajo, de la primera a la ltima lnea de rdenes, sin STILOS DE
ninguna desviacin.
PROGRAMACION
U
9If...Then...Else:
If...Then...Else: Salto a una instruccin cuando una condicin es
True o False
na variable o 9Select
Select Case: Seleccin de la instruccin a ejecutar en funcin de
constante definida
un conjunto de condiciones.
desde dentro de un
procedimiento no es Bifurcacin
visible fuera de ese IF.............THEN FOR.....TO.....
.............
procedimiento. Slo
.........
............. .........
......... N Rutinas
............. Rutinas
el procedimiento que .............
.........
END CASE
Sub VariableLocal() LOOP
Dim strMensaje As MULTIPLE REPETITIVA
String
Visual Basic
strMensaje = "Esta
variable no se pue- Visual Basic. Gira alrededor
en lo que es objeto con
Libro
Hoja
elementos cambiantes Celda (rango)
de usar fuera de este
Enunciados (objeto)
procedimiento." Visual Basic. Se basa en
categoras
Propiedades
Mtodos (acciones)
MsgBox strMensaje
Valor
Sub FueraAlcance()
Secuencia
o Objeto Propiedad=Valor (ancho de
Esquema celda)
MsgBox strMensaje No tiene el mismo valor.
Asigna
End Sub
XL Medium
XL Thick
L
Funciones,
Enunciados,
Objetos, a
Mtodos, automatizacin (an-
Propiedades, tes llamada
Se agrupan todas las palabras clave u rdenes que reconoce el automatizacin OLE)
lenguaje. Ver listado de comandos usuales. es una de las carac-
tersticas del
Component Object
El segundo punto.- La sintaxis del Visual Basic exige respetar un cierto
Model (COM), una
orden en la escritura de cada comando. As por ejemplo, primero se
tecnologa estndar
debe mencionar el objeto, el mtodo y luego la propiedad que
en la industria usada
queremos cambiar de l, separndolos con puntos. Por ejemplo:
por las aplicaciones
para revelar sus ob-
CeldaActiva.Seleccionar
jetos a las herramien-
.AlineacinHorizontal=xlCentrar
tas de desarrollo, len-
guajes de macros y
COMANDOS VISUAL BASIC MAS USADOS otras aplicaciones
que sean compatibles
Funciones: Abs, Ahora, Choole, Dir, Error, Esnulo, Espacio, Fecha, Val
con la
automatizacin. Por
ejemplo, una aplica-
Mtodos:
cin de hojas de cl-
Abrir, Activar, Agregar, AjustarAutomticamente, AnularSeleccin,
culo puede revelar
Autoformato, Autorellenar, Bordes, Copiar, CuadrosEdicin,
una hoja de clculo,
CuadroDilogo, CuadrosTexto, Desviar, Hojas, HojasSeleccionadas,
un diagrama, celda o
Lenarhaciaabajo, Mostrar, Pegar, Rango, Ventanas
rango de celdas, cada
una como un tipo di-
Objetos: ferente de objeto. Un
Aplicacin, Borde, Bordes, Botn, Botones, CuadroEdicin, procesador de textos
CuadrosEdicin, CuadrosTexto, Dilogo, Dilogos, Fuente, HojaClculo, puede revelar objetos
Rango, Ventana como una aplicacin,
un documento, un
Propiedades: prrafo, una frase, un
AlineacinHorizontal, AnchoColumna, Seleccin, VentanaActiva marcador o una se-
leccin.
Enunciados:
Con, Dim, Fin, Proced
L
formulario si ste est activo actualmente. Este comando se
convierte en el comando Continuar cuando est en modo
A l crear mdu-
los se est creando
de una jerarqua de
mdulos de progra-
mas e interfaces en-
tre ellos.
Mdulo estndar.-
Un mdulo que con-
tiene solamente de-
claraciones y defini-
ciones de procedi-
miento, tipo y datos.
Las declaraciones y
definiciones a nivel Al grabar una macro cada accin se realiza en un mdulo que es
de mdulo de un automticamente creado, y stos se encuentran despus de la lti-
mdulo estndar ma hoja de clculo.
son Public de mane-
ra predeterminada.
Un mdulo estndar
se denomina mdu-
lo de cdigo en ver-
siones anteriores de Este Mdulo es
Ejemplo N1
Sub XXX( )
N o o lv id ar d e d ig it ar 10............... * S e p u ed e
d e c o lor A Z U L e n co lo c ar n m er o s
caso de ser - ...................
(Ejem p lo, M e nsa je: Erro r)*
a d e ter mina d as
ln eas .
P O S IT I V O ( + ) , e n ...................
E x c e l.
...................
End Sub XXX
Ejemplo N2
Sub M1( )
..................
C rear un pro-
cedimiento escri-
................... biendo cdigo
................... 1.Abra el mdulo
...................
End Sub para el que desea es-
cribir el procedimien-
Sub M2( )
.................. to.
................... Puede crear un pro-
...................
................... cedimiento Sub,
End Sub Function o Property.
2.Escriba Sub,
Function o Property.
Presione F1 para ob-
tener Ayuda con sin-
Ejemplo N3 Hacer mdulos taxis, si lo necesita.
3.Escriba el cdigo
Sub letras( ) para el procedimien-
(*)Range (a1:d6).select to.
Visual Basic finaliza el
Whith selection.font
procedimiento con la
name=Times New Roman instruccin End Sub,
size=10 End Function o End
color index=3 Property apropiada.
End With
End Sub
Recuerde:
Al ejecutar (apstrofe) automticamente esa lnea se convierte
en comentario y de color verde.
C rear un proce-
dimiento utilizando el
cuadro de dilogo In-
sertar procedimiento
1.Abra el mdulo
para el que desea es-
cribir el procedimien-
to.
2.En el men Insertar,
haga clic en Procedi-
miento.
3.Digitar el nombre
del procedimiento en
el cuadro Nombre del
cuadro de dilogo In-
sertar procedimiento.
4.Seleccione el tipo
de procedimiento que
desea crear: Sub,
Function o Property.
5.Establezca el alcan-
ce del procedimiento
a Public o Private.
6.Puede seleccionar
Todas las variables
locales como estti-
cas para agregar la
palabra clave Static a MODULO DE VISUAL BASIC
la definicin del pro-
cedimiento. Un mdulo de Visual Basic se usa para escribir, mostrar y editar cdigo.
7.Hacer un click en el Los mdulos almacenan cdigos a nivel de mdulo y de procedimiento.
botn Aceptar. Pueden haber varios procedimientos en un mdulo y varios mdulos en
un libro de trabajo.
Barra de divisin
La barra de divisin divide un mdulo en dos secciones. Es visible
si selecciona la opcin Dividir del men Ventana.
Barra de desplazamiento
Barras de desplazamiento horizontales y verticales le permiten
desplazarse dentro del cdigo.
L
activo, seleccionar la ficha correspondiente.
O bien:
Para crear un mdulo ubicarse en el editor de Visual Basic, luego os procedi-
en el men Insertar seleccionar la opcin Mdulo
Mdulo.
mientos tienen un es-
pacio limitado para
2.En el mdulo, escriba Proced, Funcin o Propiedad seguido por
almacenar variables.
el nombre de la macro.
Cada vez que un pro-
3.Si hay argumentos, escrbalos entre parntesis y separados por
cedimiento se llama a
un punto y coma.
si mismo, consume
4.Presionar la tecla Enter.
ms de ese espacio.
5.Digitar el cdigo.
Un procedimiento que
6.Escriba Fin Proced
Proced, Fin Funcin o Fin Propiedad y despus presionar
se llama a si mismo es
Enter
Enter.
lo que se conoce
como un procedi-
ACTIVAR Y DESACTIVAR LA VERIFICACION DE miento recursivo. Un
procedimiento
SINTAXIS PARA LOS MODULOS recursivo que se lla-
ma continuamente a
1.Del men Herramientas, seleccionar la opcin Opciones. si mismo producir fi-
2.Seleccionar la ficha General-Mdulo. nalmente un error.
3.Seleccionar el cuadro de verificacin Interrumpir en todos los erro- Por ejemplo:
res
res, o eliminar la se-
leccin. F u n c t i o n
4.Hacer un click en el Agotar(Mximo)
botn Aceptar. Agotar =
Agotar(Mximo)
End Function
A
presione ESC.
ntes de grabar
Ejecutar una macro desde un mdulo de Visual Basic
o escribir una macro,
planifique los pasos y
1.Abra el libro que contiene la macro.
los comandos que
2.Seleccionar la opcin Macro en el men Herramientas y, a continuacin,
desea que ejecute.
hacer un click en la sub opcin Macros
Macros.
3.En el cuadro Nombre de la macro,
Si se comete algn
error mientras se gra- escriba el nombre de la macro que
Nota Para dete- Para grabar una macro hacer los pasos siguientes:
ner una macro an-
tes de que finali- 1.Seleccionar la opcin Macro del men Herramientas y, a continuacin,
ce las acciones, hacer un click en la opcin Grabar nueva macro
macro.
presionar la tecla 2.En el cuadro Nombre de la macro
macro, digitar un nombre para la macro.
ESC. El primer caracter del nombre de la macro debe ser una letra. Los
dems caracteres pueden ser letras, nmeros o caracteres de
subrayado. No se permiten espacios en un nombre de macro; puede
utilizarse un caracter de subrayado como separador de palabras.
U
en la carpeta INICIAR.
Para incluir una descripcin de la macro, escriba la descripcin en
el cuadro Descripcin.
n procedi-
miento Function es
5.Hacer un click en el botn Aceptar
Aceptar.
una serie de instruc-
ciones de Visual Basic
Si se seleccionan celdas mientras se est ejecutando una macro, encerradas entre dos
sta seleccionar las mismas celdas independientemente de la instrucciones
celda que se haya seleccionado en primer lugar, ya que graba Function y End
referencias absolutas de celda. Si desea tener una macro para Function. Un procedi-
seleccionar celdas independientemente de la posicin que tenga miento Function es
la celda activa cuando se ejecute la macro, configure el grabador similar a un procedi-
de macros para que grabe referencias relativas de celda. En la miento Sub, aunque
barra de herramientas Detener grabacin, hacer un click en Referencia. una funcin puede
Microsoft Excel continuar grabando macros con referencias relativas devolver adems un
hasta que termine la sesin con Microsoft Excel o hasta hacer un valor. Un procedi-
click otra vez en Referencias relativas. miento Function
acepta argumentos,
6.Ejecute las acciones que desee grabar. como pueden ser
7.En la barra de herramientas Detener grabacin, hacer un click en constantes, variables
o expresiones que le
Detener grabacin.
pasa el procedimien-
to que efecta la lla-
Sugerencia.- Si desea tener una macro para seleccionar una celda
mada. Si un procedi-
determinada, ejecute una accin y seleccionar otra celda relativa
miento Function no
a la celda activa; cuando se grabe una macro, pueden mezclarse
tiene argumentos, la
referencias relativas y absolutas. Para grabar una macro utilizando
instruccin Function
referencias, compruebe que est activada la opcin Referencias
debe incluir un par de
relativas. Para grabar una macro utilizando referencias absolutas,
parntesis vacos. Una
compruebe que la opcin Referencias relativas no est habilitada. funcin devuelve un
valor asignndolo a
su nombre en una o
Las macros eliminan tareas repetitivas y
ms instrucciones del
crean informes automatizados. Visual Basic
procedimiento.
es el lenguaje usado para hacer estas
macros.
Si hay una macro que contenga comandos que desea utilizar en otra
macro, puede copiar toda la macro o parte de ella en otro mdulo.
Tambin puede hacerse una copia del mdulo de la macro para
duplicar todas las macros que contenga.
C
G Copiar parte de una macro para crear otra
Recuerde al crear una macro los pasos de grabar una macro de la pgina 24,
luego ubquese en la hoja que desea que vaya la macro.
Coloque o seleccione caractersticas de como van a ir las celdas filas. Por ejemplo
si desea que la fila 1 contenga un texto en negrita slo tiene que seleccionar la fila
y hacer un click en el botn negrita, observe que en la parte inferior hay un
mensaje grabando todo lo que haga en esa hoja al presionar las teclas
correspondiente se ejecutar la macro.
Para dejar de grabar la macro hacer un click en el boton del editor de VB.
filtr o
U na caja de
dilogo es una ven-
Usuario
cr ea
Dilogo
Inte rfa se
Programa tana que se utiliza
Interactuar
para ejecutar cual-
quier operacin.
Ejemplo: Caja de
dilogo de Excel Esta ventana, segn
sea el caso, mues-
tra una serie de ele-
CREACION DE UNA CAJA DE DIALOGO mentos visuales que
hacen ms sencilla
1. Hacer un click en el botn Modo Diseo, en la ventana de Excel. la operacin.
Si no tiene activo seleccionar Ver >Barra de herramientas > activar
la subopcin Visual Basic. Una caja de dilogo
2. Hacer un click en el botn cuadro de controles, puede contener:
BOTONES.- Son ele-
Al activar el cuadro de controles se activa una ventana que mentos utilizados
contiene botones para Diseo la caja de Dilogo usted para poder iniciar la
crear la caja de dilogo deseada, que posteriormente cada ejecucin de una ta-
objeto insertado tendr un procedimiento la que llamar rea a partir de la caja
desde un mdulo para poder ingresar o mostrar los datos
de dilogo. En la caja
de dilogo anterior se
deseados. El formato de la hoja de dilogo aparecer de
tiene que, al utilizar el
la siguiente forma:
botn de grabar, se
registrar toda la in-
formacin propor-
cionada por el
TITULO Barra de ttulo
(+-Ventana)
usuario. Dos puntas
C A NA D A
P ER U Q hacia adentro del
IT AL IA
F RA N C IA Elem entos de la caja:
botn permiten al
B R AS IL
JA PO N
R O MA
S U IZA
A ceptar
A LE MA NI A
Com binados (cuadros).
usuario diferenciar
H U N G R IA
USA
C A RI BE
R Edicin (cuadros).
C U BA
E SP A A
na caja de
dilogo puede conte-
ner
OPCIONES SIMPLES. Confeccin de Cajas de Dilogo Propias
Este elemento visual
est conformado por
todos aquellos com- Insertar Macro Dilogo
ponentes de un men
que tienen la forma
de texto y que nos VENTANA CUADRO DE
indican una opera-
cin a realizarse o un CONTROLES
objeto a utilizar.
Como ejemplo de Ventana cuadro de controles contiene botones que se
este elemento, tene- usan para crear formularios personalizados en hojas de
mos en la ventana clculo, grficos y hojas de dilogo.
superior la palabra
siguiente: Modo Diseo
Descripcin
Cambia al modo Diseo de formulario, en el que se
Una opcin de este
puede modificar o crear un formulario utilizando las
tipo siempre presen-
herramientas ActiveX del Cuadro de controles. Mien-
ta una de sus letras
tras se encuentra en el modo Diseo de formularios,
con ms brillo en la
este botn cambiar a Salir del modo Diseo.
pantalla, lo que sig-
nifica que se puede
Propiedades del control
acceder a sta. sim-
Cambia en el archivo las propiedades de los controles ActiveX
plemente presionan-
do dicha letra. Como o las opciones del campo de formulario seleccionado.
objetivo principal tie-
ne el de personalizar Ver cdigo
la informacin de una Abre el Editor de Visual Basic, donde pueden escribirse comandos
caja de dilogo. de Visual Basic.
CUADROS DE CHE-
QUEO. Este elemento Casilla de verificacin (Cuadro de controles)
define para una op- Crea una casilla de verificacin en una hoja de clculo, en una
cin la seleccin en- hoja de dilogo, en un grfico o en un documento o formulario.
tre dos posibilidades,
SI o NO. Est re- Cuadro de texto (Cuadro de controles)
presentada por un Crea un cuadro de edicin, en el que puede escribir texto, en
cuadrado pequeo una hoja de clculo, en una hoja de dilogo, en un grfico o en
donde se marca con un documento o formulario.
una EQUIS para indi-
car SI; o dejar en Botn de comando (Cuadro de controles)
blanco lo que indica-
Crea un botn, al que puede asignar un procedimiento de Visual
ra NO.
Basic, en una hoja de clculo, en una hoja de dilogo, en un
C
+ letra, donde letra es cualquier tecla del teclado. La tecla
de mtodo abreviado suplantar a cualquier tecla de mtodo
mo evitar
abreviado predeterminada en Microsoft Excel mientras est
problemas con las
abierto el libro que contiene la macro.
teclas de mtodo
abreviado.
Para incluir una descripcin de la macro, escriba la descripcin en
el cuadro Descripcin.
Si existen dos hojas
de macros que con-
tiene macros con las 5. Hacer un click en el botn Aceptar.
Puede ejecutarse una macro desde un botn, desde una barra de herramientas integrada
o desde una barra de herramientas personalizada.
Para grabar una nueva macro y asignarla al objeto grfico seleccionado, hacer un click
en Grabar
Grabar. Cuando finalice de grabar la macro, hacer un click en Detener grabacin que
se ubica en la barra de herramientas Grabar macro
macro.
ARCHIVO
U
FileAttr
FileAttr - Devuelve informacin del sistema operativo acerca
dl archivo que esta abierto.
n procedi- FileDateTime
FileDateTime - Devuelve una cadena de caracteres que
miento Function es indican la fecha y la hora de la ltima modificacin del archivo.
una serie de instruc-
FileLen
FileLen - Devuelve un entero largo que indica la longuitud en
ciones de Visual Basic
bytes de un archivo .
encerradas entre dos
FreeFile
FreeFile - Devuelve el siguiente numero de archivo valido que
instrucciones
no esta en uso.
Function y End
GetAttr
GetAttr - Devuelve un entero qu indica los atributos de un
Function.
archivo, directorio, o etiqueta de volumen.
Loc - Devuelve la posicin actual en un archivo abierto.
Loc
Instruccin.-Una
LOF
LOF - Devuelve el tamao en bytes de un archivo abierto.
u n i d a d
sintcticamente Seek
Seek - Devuelve la posicin del archivo actual.
completa que expre- NMERO
sa un tipo de accin,
declaracin o defini- Abs
Abs - Devuelve el valor absoluto de un nmero.
cin. Normalmente Atn
Atn - Devuelve el arcotangente de un nmero.
una instruccin tiene Cos
Cos - Devuleve el coseno de un ngulo (ngulo en radianes).
una sola lnea aunque Sin
Sin - Devuelve el seno de un ngulo (ngulo en radianes).
es posible utilizar dos
puntos (:) para poner
ms de una instruc- CADENA
cin en una lnea.
Tambin se puede InStr
InStr - Devuelve la posicin de la primera ocurrencia de una
utilizar un carcter de cadena dentro de otra cadena de caracteres
continuacin de lnea LCase, LCase$ - Devuelve una cadena de caracteres en la
LCase,
(_) para continuar una cul todas las letras han sido convertidas a minsculas.
sola lnea lgica en Left, Left$ - Devuelve los n cacarteres a la izquierda de un
Left,
una segunda lnea f-
cierto argumento. (cadena).
sica.
Len
Len - Devuelve el nmero de caracteres en una expresin de
cadena o el nmero de bytes necesarios para almacenar una
variable.
LTrim, LTrim$ - Devuelve una copia de una cadena eliminando
LTrim,
todos los espacios en blanco.
Mid, Mid$ - Devuelve una cadena qu es parte de una cadena.
Mid,
Right, Right$ - Devuelve los n caracteres ms a la derecha
Right,
HORA/FECHA
L as instruccio-
nes de declaracin se PROGRAMANDO MACROS
usan para dar nom-
bre y definir procedi-
mientos, variables,
AADIR BORDES GRUESOS
matrices y constantes
El siguiente ejemplo
contiene tres decla- Para aadir bordes gruesos al contenido, hacer lo siguiente:
raciones.
Por ejemplo si se desea colocar el borde grueso de las celdas A8
a B14, entonces:
Sub DarFormato()
Const limite As Integer = 33 bordes Macro
Dim miCelda As Range Coloca un borde grueso de A8 a B14
' Mas instrucciones
Sub bordes ()
End Sub
Range(A8.B14). Select
La instruccin Sub Selection.Borders(xlLeft).LineStyle=xkNone
(con la correspon- Selection.Borders(xlRight).LineStyle=xkNone
diente instruccin Selection.Borders(xlTop).LineStyle=xkNone
Selection.Borders(xlBottom).LineStyle=xkNone
End Sub) declara un
Selection.BordersAroundWeight:=xlMedium, ColorIndex:=xlAutomatic
procedimiento llama-
do DarFormato. To- End Sub
das las instrucciones
que aparecen entre
las instrucciones Sub
y End Sub se ejecu-
tan cuando el proce-
dimiento DarFormato
se ejecuta o se llama.
cen Macro
Centra el contenido de las celdas B1 a D1
Sub cen ()
Range(B1:D1). Select
With Selection
.HorizontalAlignement =xlCenter
.VerticalAlignement =xlBottom
.WrapText = False
.Orientation = xlHorizontal
Para dar nombre a
End With procedimientos,
constantes, variables
End Sub y argumentos en un
mdulo de Visual
Basic han de seguir-
se las siguientes re-
glas:
El primer carcter
debe ser una letra.
En el nombre no se
pueden utilizar espa-
cios, puntos (.), sig-
nos de interjeccin
(!), ni @, &, $, #.
CAMBIAR A NEGRITAS El nombre no puede
tener ms de 255 ca-
racteres de longitud.
Para Poner en negritas el contenido del rango de celdas B1:D1,
hacer lo siguiente: No se deben usar
nombres iguales a los
neg Macro de los procedimien-
Pone en negritas el rango B1:D1
tos Function, instruc-
Sub neg () ciones y mtodos de
Visual Basic.
Range(B1:D1). Select
Los nombres no se
Selection(B1:D1).Select
pueden repetir den-
End Sub tro del mismo nivel
de alcance.
Nota.- Visual Basic
no diferencia entre
maysculas y mins-
culas, pero respeta la
forma en que se es-
criben las instruccio-
nes de declaracin de
nombres.
Range(A8). Select
ActiveCell.FormulaRCC2 =Lunes
U
Selection.Autofill Destination: Range (A8:A14), Type:)=xlFillDefault
Range(A8:A14).Select
End Sub
na instruccin
ejecutable inicia una
accin. Puede ejecu-
tar un mtodo o fun-
cin y saltar a blo-
ques de cdigo o no
ejecutar otros. Las
instrucciones
ejecutables incluyen a
menudo operadores
condicionales o ma-
ESTABLECER LA FUNCION SUMA
temticos.
El siguiente ejemplo
utiliza la instruccin Para establecer la funcin SUMA en la celda B15, hacer el
For Each...Next para programa siguiente:
pasar por cada una de
las celdas de un ran- sumatoria Macro
go llamado Establece funcin SUMA en celda B15
Milntervalo en la
Sub sumatoria ()
Hoja1 de un libro
Microsoft Excel ac- Range(B15). Select
tivo. La variable c ActiveCell.FormulaR1C1 =TOT.SEMA=
Range(B15).Select
es una celda en la
ActiveCell.FormulaR1C1 ==SUM(R [-7]C:R[-1]C)
coleccin de celdas
que componen el End Sub
Milntervalo.
Sub DarFormato()
Const limite As Integer = 33
For Each In Worksheets
(Hoja1).Ranger(Milntervalo).Cells
If c.Value>limite Then
With c.Font
.Bold=true
.Italic=true
End With
End If
Next c
MsgBox Find!
End Sub
End Sub
Un formulario inclu-
Para usar esta macro, colquese en la celda o seleccione las ye los controles y el
cdigo asociado a
celdas que quiere cambiar y ejectela. Lo dems es automtico.
dicho formulario.
Podemos compartir
CONTROLAR MAYUSCULAS/MINUSCULAS cdigo en todo el
proyecto colocando
EN LAS CELDAS
el cdigo en un m-
dulo de formulario o
Aqu se encuentra un par de macros para cambiar las entradas en un mdulo
de celdas entre maysculas y minsculas. Para convertir el texto estndar y declaran-
en maysculas, para ello use la siguiente macro: do el procedimiento
como Public. Los
Sub MakeUpperCase() formularios se crean
For Each c In Selection.Cells como interfaz de la
c.Value= UCase$(c.Value) aplicacin. Cada for-
Next c mulario es una ven-
End Sub tana que presenta
controles, grficos u
otros formularios.
Para cambiar el texto a minsculas utilizar esta macro similar: Los formularios se
pueden usar de dife-
Sub MakeLowerCase() rentes maneras:
For Each c In Selection.Cells
c.Value=LCase$(c.Value) Como una pantalla
Next c ilustrada como in-
End Sub troduccin a una
aplicacin.
Para utilizar cualquiera de estas macros, simplemente colquese
Como un libro den-
tro de una aplicacin.
en la celda o seleccione las celdas que quiera cambiar, y ejecute
Como un cuadro de
la macro.
dilogo.
Los epacios extra que estn antes de alguna entrada de una celda
pueden crear problemas cuando intentan ordenar y filtrar tablas.
Para eliminar estos espacios, seleccione las celdas y ejecute esta
macro:
Sub CloseAllInactive()
Dim Wb As Workbook
Dim AWb As String
AWb = ActiveWorkbook.Name
SaveAll
For Each Wb In Workbooks
If Wb.Name <> AWb Then
Wb.Close savechanges:=True
End If
Next Wb
Application.StatusBar = All Workbooks Closed.
End Sub
EJEMPLO N1
L
son
os controles
herramientas
como cuadros, bo-
tones y etiquetas
que se disponen en
un formulario para
permitir la entrada
de datos o para pre-
sentar resultados.
Tambin hacen ms
Disear el formulario con las siguientes caractersticas : atractivos los for-
1. Ingresar el nombre del usuario mularios. Para dibu-
2. Digitar la contrasea jar controles en un
3. Hacer un click en el botn Aceptar para Ingresar al sistema, si es formulario se usa el
correcta debe salir un aviso Bienvenido al sistema. si no digita
Cuadro de herra-
mientas.
la clave correcta debe salir un aviso No tiene autorizacin
4. Hacer un click en el botn Salir si no tiene autorizacin.
Usando la ventana
Propiedades se de-
finen las propieda-
des de formularios y
controles. Las pro-
piedades especifi-
can los valores ini-
ciales de las carac-
tersticas, tales
como tamao, nom-
bre y posicin. La
ventana Propiedades
enumera todas las
A continuacin propiedades y los
Propiedad
se muestra las valores del control o
Valor
fases en la mdulo selecciona-
construccin de do actualmente.
una aplicacin
FASE DE
CODIFICACION
FASE DE
EJECUCION
Insertar un
Algunas consideraciones:
1.Para colorear en el fondo, seleccionar las
celdas que desea que vaya sombreado.
2.Insertar un botn de comando, cuyo nombre
sea Sombreado.
El cdigo en el Editor de Visual Basic, insertar Si desea agregar el evento click con el botn
'
libro donde se encuentra el boton creado
'sombreado
lluego hacer doble click sobre el botn y digitar
'
el siguiente cdigo:
Private Sub CommandButton1_Click()
Sub sombra()
Range("B4:G9").Select
Range("B4:G9").Select
With Selection.Interior
With Selection.Interior
.ColorIndex = 15
.ColorIndex = 15
.Pattern = xlSolid
.Pattern = xlSolid
End With
End With
Range("C5:F8").Select
Range("C5:F8").Select
Selection.Interior.ColorIndex = xlNone
Selection.Interior.ColorIndex = xlNone
Range("D12").Select
Range("D12").Select
End Sub
End Sub
Esta aplicacin permite mostrar los resultados del tipo de cambio en dlares o soles.
Por ejemplo el tipo de cambio es 3.45 con un monto de 100 soles equivale a 345 soles, del
mismo tipo de cambio con un monto de 100 dlares equivaldra a 28,9855072463768 centavos
de dlar. Si se desea saber otros montos entonces hacer un click en el botn Otro y si deseo
terminar la sesin hacer un click en el botn Salir.
End Sub
Private Sub resul_Click()
If (Option1.Value = True) Then Finalmente, slo queda ejecutarlo; generalmente,
txtresul = Val(txtmonto) / Val(txttipo) Se pueden cometer tres tipos de errores:
Errores de compilacin: Fallos provocados por la
Else incorrecta construccin del cdigo.
txtresul = Val(txtmonto) * Val(txttipo) Errores en tiempo de ejecucin: Fallos que Visual
End If puede detectar cuando nuestro programa se ejecuta.
Errores de lgica: Fallos que producen resultados
End Sub incorrectos o que provocan que el programa no
se ejecute de la manera esperada.
C
para buscar y quitar los virus de macro. Si desea este tipo de proteccin
deber adquirir e instalar software antivirus. No obstante, Microsoft Excel
el libro afectado o se libro que contenga macros. A continuacin, puede elegir entre abrir el
ejecuta una accin libro con las macros habilitadas o inhabilitar las macros, de modo que
que desencadena un pueda ser el nico usuario que las vea y las modifique. Un virus de macro
virus de macro, ste nicamente puede ser perjudicial si se le permite ejecutarse; por tanto,
puede activarse, si se inhabilitan las macros, puede abrirse el libro con seguridad.
transmitirse al equipo
y almacenarse en un G Si se espera que el libro contenga macros tiles (por ejemplo, un
libro oculto u otra formulario de pedidos para la organizacin), puede hacerse click en
ubicacin que no Habilitar macros para abrir el libro con las macros habilitadas.
pueda detectarse.
G Si no espera que el libro contenga macros o no est seguro acerca
de la fiabilidad de su origen, puede hacer click en Inhabilitar macros
para abrir el libro con las macros inhabilitadas. Por ejemplo, puede
obtener un libro a travs de un mensaje del correo electrnico
procedente de un origen desconocido o de un sitio en la red local,
o en Internet, que no sea fiable. En estos casos, es aconsejable ponerse
en contacto con el usuario que haya creado el libro para comprobar
que no contiene virus.
Notas
L o ms conve-
niente trate de usar
Los macrovirus irremovibles, son una razn por la cual surgen macros
que no son exactamente virus, es la accin deficiente de ciertos
productos antivirus, o la concurrencia de macrovirus que se sobreescriben
siempre un programa
unos a otros. Pero no es ste el nico caso.
antivirus, cuya sin-
taxis se documenta
Por ms de un motivo, pueden llegar a nuestros documentos macros
en la seccin de
no deseadas o no conocidas. Las causas pueden ir desde un macro
m a c r o v i r u s
malicioso, lo que se conoce como un caballo de Troya escrito por
irremovibles y podr
librarse de todo un empleado travieso, o avieso, hasta una macro bien intencionada
macro, viral o no que simplemente no fu reportada por su autor, pero que hace cosas
viral, malicioso o ino- inesperadas como mostrar ventanas, abrir archivos, etc. Esas macros no
cuo. son virus, no contienen cdigo infeccioso y, por mucho dao que
hagan, no pueden considerarse virus y ninguna compaa de antivirus
que se respete a s misma, debe convertir su tarea en una cacera de
brujas.
Recuerde, sin embargo, que al remover todas las macros puede estar
eliminando no solo cdigo til, sino aplicaciones completas que puedan
inutilizar el manejo que se pretenda dar al documento. En trminos
generales, como usuario usted podr decir en la mayora de los casos
si las macros en su documento sirven a algn propsito o no. Slo en
el caso de documentos generados por terceros podra darse el caso
de cdigo inaceptable. Pero de cualquier forma el usuario debe
conocer la procedencia del documento e indagar acerca de las
posibles macros.
MACROVIRUS IRREMOVIBLES
ESPAOL INGLES
A To
Abajo Down
Abrir Texto OpenText
Abrir Vnculos OpenLinks
Accin Action
Activar Activate
Activar Anterior ActivatePrevius
Activar Siguiente ActivateNext
Actualizar Update
Actualizar Pantalla ScreenUpDating
Actualizar Vnculos UpdateLinks
Agregar Add
Agregar A Tabla AddToTable
Agregar Campos AddFields
Agregar Elemento AddItem
Agregar Men AddMen
Agrupar Group
Ajustar Alto A Pginas FitToPagesTall
Ajustar Ancho A Pginas FitToPagesWide
Ajustar Automticamente AutoFit
Al Activar Hoja OnSheetActivate
Al Deshacer OnUndo
Alineacin Alignment
Alineacin Horizontal HorizontalAlignment
Alineacin Vertical VerticalAlignment
Al Introducir OnEntry
Al Introducir Datos OnData
Al Repetir OnRepeat
Alto Height
Alto Fila RowHeight
Ancho Width
Ancho Columna ColumnWidth
Anterior Previus
Antes Before
Anular Seleccin Deselect
Apariencia Appearance
Archivo File
Area Grfico ChartArea
Area Impresin PrintArea
Arrastrar Colocar Celdas CellDragAndDrop
Autoformato AutoFormat
Autollenar AutoFill
Barra Desplazamiento ScrollBar
Barra Estado StatusBar
Barra Herramientas TollBar
Barras Mens MenuBar
Bloqueado Locked
Borde Border
Borrar Clear
Borrar Contenido ClearContents
Borrar Formatos ClearFormats
Botn Button
Botn Opcin OptionButton
Buscar Find
Buscar Como LookAt
Cadena String
Calcular Calculate
Cambiar Forma Reshape
Cambiar Tamao Resize
Campo Field
Campos tabla Dinmica PivotFields
Canal Channels
Categora Category
Celda Activa ActiveCell
Centrar Horizontalmente CenterHorizontally
Cerrar Close
Colocar Placement
Combinar Merge
Compilar Build
Contenido Contents
Contrasea Password
Convertir Convert
Copiar Copy
Cruza Crosses
Cuadro Dilogo DialogBox
Cuenta Count
Datos Data
Desplazar Shift
Destino Destination
Desviar Offset
Dibujo Drawing
Direccin Address
Diseo Pattern
Dividir Split
Doble Clic DoubleClick
Duplicado Duplicate
Edicin Edition
Eje Axis
Elemento Item
Elevacin Elevation
Eliminar Delete
Elipse Oval
Encabezado Header
Entradas Listas ListCount
Escala Automtica AutoScaling
Espacio Space
Espera Wait
Esquema Outline
Esquinas Corners
Estado Status
Estilo Lnea LineStyle
Estructura Structure
Evaluar Evaluate
Fecha Date
Fila Row
Fin End
Fondo Background
Formato Format
Frmula Formula
Fuente Font
Funcin Funtion
Galera Gallery
Giro Rotation
Grabar Record
Grabar Macro RecordMacro
Grfico Chart
Grosor Weitgth
Grupos Groups
Guardar Save
Habilitado Enabled
Hoja Sheet
Hoja Activa ActiveSheet
Hoja Clculo WorkSheet
Hora Time
Identificador Id
Imagen Picture
Importar Import
Importar Datos ImportData
Imprimir Print
Incluir Include
Incremento Step
Indice Index
Reproducir Play
Restablecer Reset
Restaurar Restore
Resumen Summary
Rtulo Caption
Ruta Acceso Path
Salir Quit
Seccin Pane
Seleccin Selection
Separacin IsGap
Separador Delimiter
Serie Series
Siguiente Next
Sombra Shadow
Subtotal Subtotal
Superior Top
Tabla Table
Tabla Dinmica PivotTable
Tabulacin Tab
Tamao Size
Tecla Key
Tema Topic
Texto Text
Tiene Frmula HasFormula
Tipo Type
Ttulo Title
Ttulo Eje AxisTitle
Ttulo Grfico ChartTitle
Total Fila RowGrand
Transponer Transpose
Unicos Unique
Unin Union
Valor Value
Ventana Window
Ventana Activa ActiveWidow
Verbo Verb
Verificado Checked
Versin Version
Vrtice Vertex
Vnculos Link
Visible Visible
Voltil Volatile
Windows Para PenComputing WindowsForPens
7
elemento de la pantalla y, a continuacin, se hace click con el botn
del mouse para efectuar una accin sobre el elemento.
n mouse, u
otro dispositivo Nota
Nota.- La documentacin de Excel es parte del supuesto de que el
sealador, funciona usuario dispone de un mouse y de que es diestro.
siguiendo el principio Al desplazar el mouse sobre una superficie plana, el puntero del mismo
por el que primero se se mover en la pantalla. Si le falta espacio, levante el mouse y sitelo
sita el puntero del en un lugar en que le sea ms cmodo desplazarlo.
mouse (se seala) en
Para sealar, mover el mouse hasta que la punta del puntero se
algn elemento de la
encuentre sobre el elemento o rea que se desea sealar. A conti-
pantalla.
nuacin, se podr realizar lo siguiente:
Sealar
Colocar el puntero sobre un elemento.
Reducir (minimizar
minimizar) la ventana al tamao de un botn de la barra
minimizar
de tareas.
Ampliar (maximizar
maximizar) la ventana para que ocupe todo el escritorio.
maximizar
Pc World
Pc Magazine
Manuales de Microsoft
Internet
BIUFORM