Está en la página 1de 12

MACROS EN EXCEL

Parte I
Excel es un programa que tiene un gran potencial, pero la mayora de la gente lo maneja de
una forma muy simple, utilizando solo opciones bsicas, pero hay algo muy importante que
tengo que decirles. Excel cuenta con un lenguaje muy poderoso llamado Visual Basic, este
es solo una parte del lenguaje, pero permite hacer o resolver los problemas mas fcilmente,
solo debemos aprender a programarlo y para eso es este curso, podra la gente decir que
este curso es un nivel muy alto de Excel y quizs si lo sea, pero es fcil de aprender ya que
se manejaran trminos sencillos, a mi me gusta hablar con palabras que todo el mundo
entienda y eso lo hace mas fcil. La programacin que emplea en este curso o las
estructuras que aparecen son creadas por su servidor, ya que para manejar la programacin
de Visual Basic con Excel es necesario tener mucha creatividad, cada persona puede crear
estructuras diferentes pero que trabajen igual. s que manos a la obra.
Fase 1
!rimeramente debemos de saber que es una "acro y a continuacin se e#plica el termino$
%na "acro son una serie de pasos que se almacenan y se pueden activar con alguna tecla
de control y una letra. !or ejemplo, todos los das empleo frecuentemente en mis celdas los
mismos pasos$ &ama'o de (uente)&ama'o de la letra*, +egrita, (uente)&ipo de letra* y
,olor de (uente),olor de Letra*, para no estar repitiendo estos pasos los puedo almacenar
en una macro y cuando ejecute la macro los pasos antes mencionados se ejecutaran las
veces que yo lo desee. continuacin te muestro como grabar una macro y ejecutarla$
-. &rasldate a la celda A1 y escribe tu +ombre. !or ejemplo, Ramn y presiona .nter
/. 0egrsate a la celda A1, porque cuando diste .nter bajo de celda o cambio el
rumbo.
1. 2a clic en el Men Ver, seguido por la 3pcin Barra e !erramientas y elija
Visual Basic. 4e activara la barra de herramientas 5isual 6asic.
"# 2a clic en el botn $uarar Macr%, el que tiene la ruedita zul. 7indo8s activa el
cuadro de dialogo $ra&ar Macr%, el cual permitir darle el nombre a la macro y
cual ser el mtodo abreviado para ejecutarla. .l mtodo breviado se refiere con
que letra se va activar la macro, obviamente se activara con la tecla ,ontrol y la
letra que usted quiera, de preferencia en min9scula, porque si activa las may9sculas
la macro se activara presionando la tecla 4hift : ,ontrol : la letra que usted indico.
'# 2onde dice N%m&re e la macr% ya aparece el nombre que llevara la macro en este
caso Macr%1. si desea cambiar el nombre escriba uno nuevo, pero yo le recomiendo
que as lo deje.
(# .n la opcin M)t%% A&re*ia% aparece que se activara con la tecla
C%ntr%l+C,RL- : la letra que usted indica, de clic en el cuadrito y ponga una letra,
por ejemplo ponga la letra a)en min9sculas*. La macro se activara cuando este lista
con la tecla C%ntr%l . a
/# 2e clic en el B%tn Ace0tar. 7indo8s empezara a grabar todos los pasos en la
Macr%1.y el botn de la ruedita azul cambiara de forma ahora ser un cuadrito
zul, se llamara 1etener 2ra&acin. Lo utilizaremos cuando terminemos de
indicarle los pasos para detener la grabacin.
3# ,ambie el &ipo de Letra en el B%tn Fuente de la barra de herramientas (ormato
4# ,ambie el tama'o de la letra en el B%tn ,ama5% e Fuente de la barra de
herramientas (ormato
16# !resione el B%tn Ne2rita de la barra de herramientas (ormato
11# ,ambie el color de la letra en el B%tn C%l%r e Fuente de la barra de herramientas
(ormato. 0ecuerde que todos estos pasos estn siendo almacenados en la macro que
estamos grabando y tambin recuerde que estos pasos se estn efectuando en la
celda A1.
17# !resione el 6otn 1etener $ra&acin de la barra de ;erramientas de Visual Basic#
.l que tiene el cuadrito azul presionado.
Listo .#cel guardo los pasos en la "acro- que se activara presionado la tecla C%ntr%l . a
-1. .scribe otro nombre en la celda C1 y presiona Enter, despus regresa a la celda C1.
-<. !resiona la tecla C%ntr%l . a. 7indo8s efectuara todos los pasos grabados sobre la
celda C1, esto quiere decir que el nombre que esta en C1 tendr las caractersticas
del que esta en A1. &ipo de letra, tama'o, negrita y el color que indicaste al grabar
la macro.
N%ta. ,ada vez que presiones C%ntr%l . a .#cel ejecutara la macro y efectuara los pasos
en la celda que te encuentres. !uedes grabar todas las macros que desees.
hora te recomiendo que domines estos pasos antes de pasar a la siguiente fase. &rata de
crear macros que almacenen pasos como estos, recuerda los pasos los vas a indicar tu, que
no se te olvide detener la grabacin despus de que indicaste los pasos, repite este ejercicio
las veces que sea necesario para aprendrtelo bien.
!ractica =
>enera las siguientes "acros$
>raba una Macr% que se active con C%ntr%l . & y que esta macro permita abrir un archivo
>raba una Macr% que se active con C%ntr%l . c y que esta macro permita insertar un 7ordrt
"uchos pensaran que esto no es nada pero ya veremos mas adelante cuando mezclemos los
cdigos que genera Excel con los de Visual Basic. .sto ser pura 1inamita.
Fase 7
6ien, ahora despus de practicar la Fase 1 con diferentes ejemplos o Macr%s pasaremos a
la siguiente Fase que nos permitir observar los cdigos que hemos generados con nuestra
macros. &e recomiendo que salgas de Excel y vuelvas a entrar, para que trabajes limpio sin
ninguna macro y empezando de la macro- de nuevo.
OBSERVAN1O LOS CO1I$OS 1E 8NA MACRO 1E EXCEL
,rearemos una macro y veremos sus cdigos$
.
!ara observar los cdigos de una macro debemos de seguir los siguientes pasos$
1# !rimeramente trasldese a la celda A' antes de empezar la grabacin de la "acro
7# !resione el 6otn $ra&ar Macr% de la barra de ;erramientas Visual Basic# Excel
muestra el cuadro de 2ialogo >rabar "acro
9# en la opcin M)t%% A&re*ia% escriba la letra r, por lo tanto la macro se llamara
con C%ntr%l . r
"# !resione el botn Ace0tar# Excel inicia la grabacin del la Macr%1
'# &rasldese a la celda A1 y escriba Ramn, despus presione Enter para aceptar el
valor en la celda
(# !are la grabacin de la macro presionando el botn 1etener $ra&acin de la barra
de herramientas Visual Basic# .#cel a grabado los pasos y a generado un cdigo,
3bservmoslos$
/# !resione la tecla lt : la tecla de funcin (--)Alt . F11*. .#cel nos traslada al
.ditor de 5isual 6asic. 4i este editor no se activa es que .#cel no esta bien
instalado o se a borrado. &ambin puede acceder desde el Men !erramientas:
Macr% ; Eit%r e Visual Basic.
3# ctive los siguientes cuadros o ventanas$
2e clic en el Men Ver y elija la opcin Ex0l%ra%r e Pr%;ect%s
2e clic en el Men *er y elija la opcin Ventana Pr%0ieaes
.stas dos opciones deben de estar siempre activadas ya que de ah depende todo lo que
vallamos a hacer.

4# 2el cuadro Pr%;ect% de doble clic en Mul%s o simplemente presione el signo de
. que aparece en la opcin Mul%s. 4e activara debajo de Mul%s la 3pcin
M%ul%1
16# 2e doble clic en M%ul%1. 4e mostrara en el .ditor de 5isual 6asic el cdigo de la
macro que grabamos de la siguiente forma$
4ub "acro-)*
?
? "acro- "acro
? "acro grabada el @AB@<B/@@- por 0"3+ ".+23C 3,;3
?
? cceso directo$ ,&0L:r
?
0ange)D-D*.4elect
ctive,ell.(ormula0-,- E D0amnD
0ange)D/D*.4elect
.nd 4ub
Fue es lo que significa esto nos preguntaremos asombrados, a continuacin se da una
e#plicacin de lo que ha hecho Excel$
Su& y En Su& indican el inicio y el final del procedimiento de la Macr%1
&odo lo que aparece con un apostrofe < indica que no se tomara en cuenta que es
solo te#to o comentarios y ese te#to debe de aparecer en un color, ya sea el color
verde.
Ran2e+=A1=-#Select =ndica que lo primero que hicimos al grabar la macro fue
trasladarnos a la celda A1. La orden Ran2e nos permite trasladarnos a una celda
Acti*eCell#F%rmulaR1C1 > =Ramn= .sto indica que se escribir en la celda en
que se encuentra el valor de te#to Ramn. &odo lo que aparece entre comillas
siempre ser un valor de te#to. La orden Acti*eCell#F%rmulaR1C1 nos permite
escribir un valor en la celda activa.
Ran2e+=A7=-#Select 3tra vez indicamos que se traslade a la celda /. .sto se debe
a que cuando escribimos el nombre de Ramn en A1 presionamos Enter y al dar
Enter bajo a la celda A7.
!ara comprender mejor alteraremos el cdigo dentro del editor de 5isual 6asic.
Fue crees que pasara aqu con nuestra "acro$
4ub "acro-)*
?
? "acro- "acro
? "acro grabada el @AB@<B/@@- por 0"3+ ".+23C 3,;3
?
? cceso directo$ ,&0L:r
?
0ange)D-D*.4elect
ctive,ell.(ormula0-,- E D0amnD
0ange)D6-D*.4elect
ctive,ell.(ormula0-,- E D,alle /- de "arzo G/A@D
0ange)D,-D*.4elect
ctive,ell.(ormula0-,- E D1-H/H<IH-1D
0ange)D2-D*.4elect
ctive,ell.(ormula0-,- E D+ogales 4onoraD
0ange)D.-D*.4elect
ctive,ell.(ormula0-,- E D,3+L.! +3>L.4D
.nd 4ub
s es acabo de alterar el cdigo y cuando regrese a Excel y ejecute la macro con C%ntr%l
. r har lo siguiente$
En A1 escri&ir? Ramn
En B1 escri&ir? Calle 71 e Mar@% A736
En C1 escri&ir? 91B7B"/B19
En 11 escri&ir? N%2ales S%n%ra
En E1 escri&ir? CONALEP NO$ALES
s que salgamos del editor dando clic en el Men ArcCi*% y eligiendo la opcin Cerrar
; *%l*er a Micr%s%Dt Excel. 4i no desea salir por completo de clic en el &%tn Micr%s%Dt
Excel que se encuentra activado en la barra de tareas y cuando dese volver al editor de clic
en el &%tn Micr%s%Dt Visual Basic que se encuentra en la barra de &areas.
hora ya que salimos de Visual Basic y estamos en Excel de +uevo ejecutemos la macro
presionando C%ntr%l . r y veamos los resultados de nuestra modificacin.
Fue te parece es sencillo o +oJ, ,laro necesitamos practicar bastante para dominar esto, as
que repasa la Fase 7 cuantas veces sea necesario, otra cosa no trates de generar cdigos
muy complejos en tus macros porque te vas a enredar, poco a poco se va lejos.
!ractica ==
>enera una Macr% que escriba un nombre en una celda y lo ponga negrita y observa el Ci2%.
>enera una Macr% que escriba un nombre en una celda y lo ,entre y observa el Ci2%.
>enera una Macr% que escriba un nombre en una celda y cambie el tama'o de la letra a /@ puntos y
observa el Ci2%.
,digos "s comunes$
,raslaarse a una Cela
0ange)D-D*.4elect
Escri&ir en una Cela
ctivecell.(ormula0-,-ED0amonD
Letra Ne2rita
4election.(ont.6old E &rue
Letra Cursi*a
4election.(ont.=talic E &rue
Letra Su&ra;aa
4election.(ont.%nderline E #l%nderline4tyle4ingle
Centrar ,ext%
7ith 4election
.;orizontallignment E #l,enter
.nd 7ith
Alinear a la i@Euiera
7ith 4election
.;orizontallignment E #lLeft
.nd 7ith
Alinear a la 1erecCa
7ith 4election
.;orizontallignment E #l0ight
.nd 7ith
,i0% e Letra+Fuente-
7ith 4election.(ont
.+ame E D>aramondD
.nd 7ith
,ama5% e Letra+,ama5% e Fuente-
7ith 4election.(ont
.4ize E -K
.nd 7ith
C%0iar
4election.,opy
Pe2ar
ctive4heet.!aste
C%rtar
4election.,ut
Orenar Ascenente
4election.4ort Ley-$E0ange)D-D*, 3rder-$E#lscending, ;eader$E#l>uess, M
3rder,ustom$E-, "atch,ase$E(alse, 3rientation$E#l&op&o6ottom
Oren 1escenente
4election.4ort Ley-$E0ange)D-D*, 3rder-$E#l2escending, ;eader$E#l>uess, M
3rder,ustom$E-, "atch,ase$E(alse, 3rientation$E#l&op&o6ottom
Buscar
,ells.(ind)7hat$EDRam%nD, fter$Ective,ell, LooN=n$E#l(ormulas, LooNt M
$E#l!art, 4earch3rder$E#l6y0o8s, 4earch2irection$E#l+e#t, "atch,ase$E M
(alse*.ctivate
Insertar Fila
4election..ntire0o8.=nsert
Eliminar Fila
4election..ntire0o8.2elete
Insertar C%lumna
4election..ntire,olumn.=nsert
Eliminar C%lumna
4election..ntire,olumn.2elete
A&rir un Li&r%
7orNbooNs.3pen (ilename$ED,$O"is documentosO*ie% saDe 9#xlsD
$ra&ar un Li&r%
ctive7orNbooN.4aves (ilename$ED,$O"is documentosO0iscis#xlsD, (ile(ormat M
$E#l+ormal, !ass8ord$EDD, 7rite0es!ass8ord$EDD, 0ead3nly0ecommended$E M
(alse, ,reate6acNup$E(alse
.stos serian algunos cdigos muy comunes en Excel, pero si usted desea puede generar
mas cdigos de otras opciones, es cuestin de que los ocupe.
ntes de pasar a la Fase 9 es necesario que domines generar Macr%s y 3bservar sus
cdigos que se encuentran en la Fase 7# 0ecuerda esto es de mucha practica y para eso es
necesario aprender bien las fases nteriores.
.
Fase 9
CREAN1O FORM8LARIOS F PRO$RAMGN1OLOS
ntes de .mpezar esta nueva fase te recomiendo que salgas de Excel y vuelvas a entrar,
esto es por si estuviste practicando los cdigos, para que no quede una secuencia de
"acros.
hora te ense'are a dominar lo m#imo de .#cel que es crear formularios y programarlos,
bueno un formulario es una ventana que se programa por medio de controles y estos
controles responden a sucesos que nosotros programamos. &odo esto se encuentra dentro de
5isual 6asic.
continuacin "uestro como crear un formulario y como programarlo$
-. !resione La &eclas Alt . F11: para entrar al editor de Visual Basic.
/. ctiva las siguientes opciones$
2e clic en el Men Ver y elija la opcin Ex0l%ra%r e Pr%;ect%s
2e clic en el Men *er y elija la opcin Ventana Pr%0ieaes
1. 2el Men Insertar elija la 3pcin 8serF%rm# .sto inserta el (ormulario que
programaremos con controles. .n el Ex0l%ra%r e Pr%;ect% se observara que se
inserto el 8serF%rm.
&ambin cuando de clic en el (ormulario 8SERFORM1 se debe de activar el Cuar% e
!erramientas, si no se activa de clic en el Men Ver y elija la opcin Cuar% e
!erramientas.
"# .lija del Cuar% e !erramientas el ,ontrol EtiEueta el que tiene la A y rrastre
dibujando en el (ormulario 8SERFORM1 la etiqueta. Fuedara el nombre Label-,
despus de un clic en la etiqueta dibujada y podr modificar el nombre de adentro y
pondremos ah N%m&re# 4i por error da doble clic en la etiqueta y lo manda a la
pantalla de programacin de la etiqueta, solo de doble clic en 8serF%rm1 que se
encuentra en el Ex0l%ra%r e Pr%;ect%#
'# .lija del Cuar% e !erramientas el control Cuar% e ,ext% el que tiene a& y
arrastre dibujando en el formulario 8SERFORM1 el cuadro de te#to a un lado de
la etiqueta que dice N%m&re. .l cuadro de te#to debe de estar vaco y su nombre
ser ,ext&%x1, el nombre solo aparecer en el control.
(# ;aga los dos pasos anteriores igualmente poniendo 1ireccin en la La&el7 y
,el)D%n% en la La&el9 y tambin dib9jeles su &e#tbo#. .sto quedara as despus de
haberlo hecho
Si tiene algn problema al dibujar las etiquetas o los cuadros de te#to, solo cmbiele el
nombre a la etiqueta o el cuadro de te#to en la Ventana Pr%0ieaes la opcin se llama
+Name-# .l .rror que marque puede ser N%m&re Am&i2u%: pero si le cambias el +ombre
al control se quitara el error. !uedes ponerle cualquier nombre en lugar de Label-.
S%l% altera est% si te marca err%r: si NO )Hal% asI#
Los controles como las .tiquetas y ,uadros de &e#tos pueden modificrseles algunas
opciones en la 5entana !ropiedades !ara hacer esto es necesario tener conocimiento sobre
las propiedades de los controles. +o altere las propiedades si no las conoce.
/# .lija del Cuar% e !erramientas el control B%tn e C%man% y rrastre
dibujando en el (ormulario 8SERFORM1 el 6otn, despus de un clic en el
nombre del 6otn dibujado y podr modificar el nombre y pondremos ah Insertar#
4i por error da doble clic en la 6otn y lo manda a la pantalla de programacin de la
etiqueta, solo de doble clic en 8serF%rm1 que se encuentra en el Ex0l%ra%r e
Pr%;ect%#
s quedara el (ormulario formado por los controles$
3# hora de doble clic sobre el control ,ext&%x1 para programarlo y despus inserte el
siguiente cdigo$
!rivate 4ub &e#t6o#-M,hange)*
Ran2e+=A4=-#Select
Acti*eCell#F%rmulaR1C1 > ,extB%x1
.nd 4ub
.sto indica que se valla a A4 y escriba lo que hay en el ,ext&%x1
N%ta.HLo que esta en azul lo genera .#cel automticamente, usted solo escribir lo que
esta en +egrita.
!ara volver al F%rmulari% y programar el siguiente &e#tbo# de doble clic en
8serF%rm1 que se encuentra en el Ex0l%ra%r e Pr%;ect%: o simplemente de clic en
Ver O&Het% en el mismo Ex0l%ra%r e Pr%;ect%.
4# hora de doble clic sobre el control ,ext&%x7 para programarlo y despus inserte el
siguiente cdigo$
!rivate 4ub &e#t6o#/M,hange)*
Ran2e+=B4=-#Select
Acti*eCell#F%rmulaR1C1 > ,extB%x7
.nd 4ub
.sto indica que se valla a B4 y escriba lo que hay en el ,ext&%x7
!ara volver al F%rmulari% y programar el siguiente &e#tbo# de doble clic en
8serF%rm1 que se encuentra en el Ex0l%ra%r e Pr%;ect%: o simplemente de clic en
Ver O&Het% en el mismo Ex0l%ra%r e Pr%;ect%.
16# hora de doble clic sobre el control ,ext&%x9 para programarlo y despus inserte el
siguiente cdigo$
!rivate 4ub &e#t6o#1M,hange)*
Ran2e+=C4=-#Select
Acti*eCell#F%rmulaR1C1 > ,extB%x7
.nd 4ub
.sto indica que se valla a C4 y escriba lo que hay en el ,ext&%x9
!ara volver al F%rmulari% y programar el B%tn e C%man% Insertar de doble clic
en 8serF%rm1 que se encuentra en el Ex0l%ra%r e Pr%;ect%: o simplemente de clic
en Ver O&Het% en el mismo Ex0l%ra%r e Pr%;ect%.
11# hora de doble clic sobre el control B%tn e C%man% para programarlo y
despus inserte el siguiente cdigo$
!rivate 4ub ,ommand6utton-M,licN)*
Rem inserta un ren2ln
Selecti%n#EntireR%J#Insert
Rem Em0t; Lim0ia L%s ,ext&%x
,extB%x1 > Em0t;
,extB%x7 > Em0t;
,extB%x9 > Em0t;
Rem ,ext&%x1#SetF%cus En*Ia el curs%r al ,ext&%x1 0ara *%l*er a ca0turar l%s
at%s
,extB%x1#SetF%cus
.nd 4ub
N%ta#B.l comando Rem es empleado para poner comentarios dentro de la
programacin, el comando Em0t; es empleado para vaciar los &e#tbo#.
17# hora presione el botn EHecutar 8serKF%rm que se encuentra en la barra de
herramientas o simplemente la tecla de funcin F'
4e activara el 8serD%rm1 y todo lo que escriba en los &e#tbo# se escribir en .#cel y
cuando presione el botn =nsertar, se insertara un rengln y se vaciaran los &e#tbo# y
despus se mostrara el cursor en el ,ext&%x1.
.n este archivo que usted bajo se encuentra una hoja de .#cel Libre de 5irus o sea que
esta limpio, bralo sin ning9n problema, ya que ah viene un ejemplo de la "acro ya
realizada y solo la ejecutara y vera como trabajan las "acros. .spero y ests pendiente
porque vienen mas partes sobre este interesante curso de "acros.
.l rchivo 5iene con el +ombre de "acro-
&eora$ !rofesor 0amn "endoza 3choa
,3+L.! +3>L.4
http$BB888.geocities.comBconalepnogales
http$BBconalep.cjb.net

También podría gustarte