You are on page 1of 406

xce

( ,p, ., In ... ,."


D .. ,._ " ..... ,
----
... , ,,, ..
--_.-
....... - """'"
---,' .... _-
' ,p, ' , , '::::
-"'-, ,,, ........ _ ..
-"--"'-""-"
-""--..... -
;
': __ ___ ' D ..
... -
"" ...
___ ,n . ' __
. , ,_ ...
... --.".---_.
..... --,,
-_ ....... _.--"

, ..... . .,..,lI m
---' .. '--
Muu'., hu , .,
---
=.-
,
_.-
"-
" .'
< , ,
....... ,-_ ... __ .. -
-
,,,, ....... ,,, ,,, ...
---'.'--
o , .. ... , .
- ............ .

I_I
16esll"
III!
" 5
.... __ " D
O
, ,,--
._- t, _, __
-... - -', -
-.-
m."",,," . '" 0 , .....
c.._ .. _
---" ... _-
xce
Programar en Excel:
Macros y Lenguaje VBA
Toda.I ","rca. citadas han sklo "'8i.traclllS par su ""'P'!CIiw edilot.
CopyriShl . Edition. ENI . Diciembre Z007
ISSN:
ISaN: 978-Z7460-39155
Edid6n oris;nal, 97827460-371109
Ediciones ENI
P' F. rrocarriles Calal.""", 97117, 2"" pt of. 18
08940 Comell. de lIob<eaat (6a!ceIooa(
Tel: 934 246 401
Fu 934 231 576
... mail: i"lo@Iic_i.tom
edic""-'"".tom
AuIO" Micholle AMELOT
Edici6n ""!,,,iIoIa: Claudio SANCHEZ
con la col.bo,acicln lie Guil lermo SOM (' (I GUILLE")
CoIec<:i6n Recu,_ dlos;da par MUSSEl

A. Presentad60 dellenguaje VBA

.9
B.
I as macros de Excel

11
c. Asignaci6n de macros

21
D. Fl entomo de desarrollo VBe

2S
E. Configurad6n del Editor VBA

3.
E.
NovPdades de I!! YfOro;;jnn 200Z

33
EI lenguaje VBA Capitulo
2
A. M6dulos

38
B.
procedjmjentos

40
C.
variables



51
D. fstructuras de
dedsjOn

66
E.
Estructuras ffi 000

72
Tabla de oontef1ido
F. Operadofes .

78
G. Reglas de esaitura del c6dlgo
82
La programacion de objetos
capitulo 3
en Excel
A. presentacj6n . ....

o
o o o
86
B. EI modelo de objetos de Excel o 0 87
c. Prindpios de uso de los objetos y las colecdones . 91
D. Instrucciones usadas coo los objetos . o 0 99
E. El Examinador de objetos

102
Objetos de Excel
capitulo 4
Ao EI objeto Application . 0 0 109
Do Objeto Workbook o 0
130
Co EI objeto Worksheet .
146
Do EI objeto Range . . . 0 156
Eo Eiemplos de uso de los objetos 174
Tabla de conteniOo
Cuadros de dialogo
capfhllo 5
A. Presentaci60 . . . . . . . .


180
B. Cuadros de diakxlo integrados
180
C. Cuadros de dialoqo predefinidos
184
Formularios capitulo 6
& ,
presentaci6n

194
B.
Crear un
formulario



194
c.
Personalizar un formulado

204
D.
Ejemplo de formula rio personalizado

211
Mejoras en la interfaz de usuario capitulo 7
&. presentad6n
""" ""

219
8. Ejemplos de barras de comandos 220
C. Barras de mroaodos . . . .

22 1
D. Controles (opciooes 0 botones de comandos)
de las hams de mmandos ..... .

224
E. Ejemplos de menus personalizados . .

230
Tabla de oontenido
Administracion de eventos
A. prec;entaciOn
.

B. Esrritura de eventos .



C. Eventos del objeto Application
D. Eventos del objeto Workbook

E. Eventos del objeto Worksheet
F. Eventos del oOjeto Chart .

Depuracion y administracion
de errores
A. Diferentes tipos de error .
B. DeptJracion . . . . . . .
C. AdministradOn de errores en VBA

Vinculos entre aplicaciones
A. La tecnologia Automation . . . . .
8. Comunicacion con Word desde Excel
C. Comunicaclon con Access desde Excel





Capitulo 8

242

242
250

253

256

257
Capitulo 9
260
2.3

265
capitulo 10
273
27.
283
Tabla de contenldo
D.
Comuniraci6n ron Outlook. dec;de Excel


288
E. EI protocolo DOE

.



290
F. Objetos vinculados 0 incrustados

294
G. Metodos 'i relativos a los vinculos
con Excel

296
Internet Cal*ulo 11
A. Consultas [!Or Internet . 303
B. EI objeto QueryTable . 305
C. Publicaci6n de t$linas Web . 312
D. Los objetos WebO[!tions 'i OefaultwebOptions 315

F. EI obieto HyperUnk. . . 323
programaci6n Windows
Ca[!itulo 12
A. presentaci6n de las API . . . .

326
B. Uamar a una funci6n de la API Windows .

327
Programar
Tilbl;,t de oontenido
C. I ista de funcionec; API Windows . . . . . . 328
D. Ejemplos de uso de fundooes API Windows

329
E. EJ objeto FlleSystemObject . . . . . .

332
COdigo de una miniaplicacion capitulo 13
A. PresentadOn general. . . . . . . . .

336
B. Descripci6n de la aplicaci6n GestPresupuesto 337
C. M6dulo ThjsWodJook


338
D. Formulario NuevoPresupuesto
341
E. Formulario BuscarPresupuesto
346
F. M6dulos ProcActions y ProcGene

350
Anexos
A.
lista de
instrucdooes

357
B. I ista
de
fllnciones

365
C.
Coostantes VBA

383
Indice


387
4) capitulo 1: Presentaci6n
A.
Presentaci6n del lenguaje VBA




9
1.
Objetiyos delleoguaje VBA
9
2 .
Algunas definiciooes
. . 10
l.
Escritura de cOdigo VBA

10
B. I as macros de Excel . . . . . . . . . . . . . . J1
1. Mostrar 13 ficha Programador en 13 ,inla de oDCiones 11
2. Descripci6n de 13 lieha Pmgrllmador 11
Grupo "C6digo" . . II
b. Grow "Conlroles" . 12
3. Grabac;6n de macros J 2
I. Grabar 13 primera macro 12
b. Ejecutar una macro 13
t . Graba' una macro roo relerencjas relatiyas 14
d. Deli"i. el luga, de almaceoam>ento
de una Olleva ma cro
Elimina, uoa macm
f. Graba, li D Ijbra con macros . . .
15
16
16
4. Las macros la seguridad . 18
de 13 conliguraci6n de seguridad . 18
h. Descrioci6n de las d"fefl!fltes opciones de seguridad 18
t Annas elertrontcas de macros 19
Capituk> 1
5. Modilicar el c6d'go de una macro .
20
c. Asignacion de macros . . . . . . . . .

21
J. Asociar IIna macro a lin hoIOO de romando 21
2. Asignar una macro a una imagen .....
22
3. Asoo;iar una macro a una Z0fl3 de un obielo IIra/ieo 22
4. Asociar una macro a una imagen Control Al;1i1leX . 23
5. Asocjar una macro a uo k:ono de Ia barra de heuamieola
de acceso rapioo. . . . . . . . . . . . . . . 24
D. EI enlomo de desarrollo VBE . . . . . .

25
1. meso al enlomo V8E
25
2. Germ el enlomo YSE

26
3. Valver a Excel 26
4 . Descripci6n del enlomo VBE
27
E. Configuraci6n del Editor VBA . . .

30
1. Conflgu,aci6n <Ie la tipogra/la . . . .
JO
2. COO/igu,aci6n de la introducciOO de c6digo
30
3. C-estjOO de eumes 3J
4 . Acaple de una venlana ... 32
5. [Ieglr las ventanas que hay que most/a'
33
F. Noyedades de la version 2007

33
1. Nove!Iades de [xcel 2007 33
2. las nove!lades de VBA [ gel 2007 34
I
,
,
!
I

PresentadOn
A. Presentacion dellenguaje VBA
Visool Basic para ApHcaciorles (VElA) es el IerogltIje de prq;ramae;on cornU"
todas las apHcaciones del paoQlIE!te Microsoft Office 2007 !Word.
Outlool< y PowerPoint).
I . Objetivos del lenguaje VBA
T I!fl Excel. el lJS() del ""'BlJI!ie YSA Ie permite:
- _utomIIIiur .,ciooe1 YSA permite electuar I!fl uN imica operad6n
una canlidad imp:lrtante de comal\d05 de Excel .
S Intenctua. sobre los tlbros de el contenido y 110 prese11taciOO de troos los
COnienid05 en un libro (hojas. ceklas. 2r!fiCOS. etc.) pueden
modilitarse a travl!s de c6digo VBA.
S e.N. fonnullrios person.Ilirados: los mrmularios son 10:$ co>adros de dihlO8O
p:lr oontroies ActiYeX (cuadms de I""to, lioJas dl"plegables. etc.) "
105 Que se Ies puede asociM c6digo YEA. los foml.olarios permiten c .... r
Inteffaces amigables pa ra 110 I!fltrada II salida de IntormaociOO.
- peflollllliur I_ Interfu de Elt,*: usted pYeOe agregar a la interiaz de Excel
nuevos ITIeflUs y comal\dos. EI c6digo YSA puede asoclarse " metod05
abreviados de tedado, iconos. etc.
- maciificor 1.1. opciOMS de uce! : a cada op;i6n de Excel Ie corresponde una
propiedad de un objeto VBA. Pol' ejemplo, PlIede modijicar el bp:l de fuente par
defecto partir de "" propiedoldes Standard Font (luente) y StandatdFonIsize
(tamaoo de fuente) "'" objeto Ao>Plication.
Ei!mr>/<!
ApplicatiOfl.StandatdFOflt .. ' AliaI'
Applicalion.StandatdFontSize .. "10"
- _nicl. uce! con olus .plicaclollll'S Mic.osoft OffIce: YSA permite inter-
comoo. InIormaoci(1n enm. las aplitatiorles Office usando Objet05 especfficos
propios de cada uno. Pot ejemplo. puede inserta. una tabla 0 un gri/ito El<oel en
un arct>ow de Word. creat mensajes Outlook con un a..:hivo Excel adjunto, etI;.
,.
capitulo 1
2. AlgUllil$ definicione$
.""'"
libm abierto en UceI liene asociado un proyec!o que cootiene todos los
rOOdulos de (Mig<> VBA agrupados en ca!egorias.
MMulo
los rOOdulos contienen lis mac"," grabada. y "'" p"",ios pmcedimief1tos y
lunciooes """rilos en VeA. los rOOdulos poeden exportarse como ardwo. Inde-
pendien! ... para luego sef importados en otlOS tibros.
PtedIn'Mnto
los pmcedimief110s son .... ll!>mI!ramas elICrilos en VBA. Cadi macro llrabada
genera un Plocedimiento coo mismo oombot! de la macro. De la misma
manera. pue<le crear procedimientos usaodo 1I instn.ccl6n Sub.
Fund6n
las funciooes son poucedimieotos que <ievuelven un valor. P. r. cr .... r una lun-
ci6" se debe utiliza r fa illSlJuoci6n Function.
3. Escrituril de c6digo VBA
HillY cIos maoeras de crea, un pmcedimief1to VBA:
- genefar autoINticamente eI c6dig<> a partir de la l'abaci6n de macros ,
- escribir direct.lmente eI OOdig<> del pnxedimiento en 11'1 Editor de Vioual ani<: {o
entomo VBn
I.lI Plimera soluci6n es ITIM sencilla pero mucho mM II mitada qlle la segunda. Los
procedimientos generllllos automAticamente 5610 petmiten IIOtomatizar acciooes re-
petitivas reallzadas coo E>o;;ej (formato de orderw datos, etc.).
Si desea elettuar ope<acioroes algoritmos de cl:k:ulo, IntefCll:mbio de
mensajes y de informad6n con eI usuario, controIar fa cohereocla de dalos en un
libm 0 cualquiel' OIra opetaci6n que hap uSO de estn.o::turas repelililillS 0 condiclo-
nal ... , ... ted debe Cff!ar sus PlOflios Ploce::Iimienlos en eI editor de VBA.

B. Las macros de Excel
1. M05trar la ficha Proiramador en II cinta de opclones
Pano escribi. macros. ejecutar macros grabadilS 0 crea, aplicaciooes E>:<:el . debe
most .. , II PI'OI,arrllidor de II sigulente manera:
.) elie en eI bot6o Mic.osoft OffIce luego e!1 el bot6n! E} '" .... - I
(ubicado bajo eI euadro de .
) Seleccione la categoril Mas lrecuenies en el menu de la .
) Active II opci6n Most P"'I'.rrIlidor.., I. eint. de opcklnt$ ubicada en
Opclonn principal .. par. t.abaj .. eon EItel .
Hap elie e!1 el boiOO Aceptar: II P"'I'lrrIlIdor se a la clnta de
opc:iooes de ElIeel, I la deoecha de II fieha Vist .
2. Descripci6n de la '!cha Programador
.-, ...... _-
1.1 '" '"
................... -
._. "".. '-
-
2__ .dj
.... '8_ t.i_, ......
11_-.. - - ..,
a. Grupo "C6digo"
I Nombre del bot6n
, Visual Basic
...
Abre el ento,fIO de EI abrevlado de
teclado es (Alt] (FIll.
,
I
I
,

Grabl, macro
Muestra 18 liSIa de macros_ EI abrevim de Ie-
elado es (ARI (F81.
Comienza la sr"naci6n de una macro.
programar en Excel: Macros y lenguaje VBA
l1li
,
capitulo 1
Usa, referencias usa, referenci ... relaliva. a la primera cetda se
leccioni>da.
de macros II conligu,aciOO de segu'idi>d de las macros.
b. Grupo "ContrGles
Hombre del botbn
Inserta,
Modo Oir.ello
Propiedades
Ve, c6digo
Ejetula, cuadra
de
D.,,,_
Permile inserta, controtes (ioonularlos 0 ActiveX) en
'-".
Activa 0 desactiva modo !Mello. En el mOOo Oi5el\o
los controles AcINe)( pueden r.eieccionar.;e y modificarse
pero 00 pue<Ien ejetutarse.
Muesl'. las propiedi>des dei objeto Excel seleccionado
(Mja 0 control).
P..,.mile accede, directamente a l c6digo asociado al con
lrol seleccionado.
Ejecutl un cuadro de ,Mklgo personali zado.
o EI grupo XML permite administw XML
3. Grabaci6n de macl"O$
a. Graba, Ia p,lme,a mac:,o
Pa ra crear una macro con el grabador:
.) Haga clic en el bot6n de 18 fiche P,op'lTIIdor 0 en el bot6n E;ll de II
barra de estado .
) En cuadro de diiklgo que aparece, escriba nombre de la macro, 50 des-
Cripe",n Y. si 10 desea. el metodo abreviado de tecla. asoclado.
g-------------'VBA ..-"' <:7.' .;;-,;O!J\\ "' ,.
I

t

!
!
-

Ii,."., mo,,,.
-....
'.
... "" "
"" ",,, if]
"
.) Haga el ic en el boI6n Aceptar para iniciar I.a 8rabacicln,

Presentaci6n
0) Realice en Excel 1115 operao;iI.>nes que desee Po< ejemplo. selecclone el
rango de celdas ALBB', y aplique un ",lie,.., y un borde a 6BS eeldas.
0) die en el boI6n 1111 ""--.+ 11 de la fiella 0 en el boloo
de la Mf1'a de estado delener la grabaci6n de I.a macro,
b. Eje<:utar una macro
Para ejecuta' una macro desde Excel:
0) Hag<! die en el boloo ! de ta fiella PI'OI'IInlIdor 0 poise el abJeo
viaOo de leelas [Alt) [FB].
.) Hag<! deble elic en el oombre de 18 macro 0 primero seletti6nela y luego haga
elic en el boloo Ejecuta .
o Para ';""alila. la inmnnao;i6tl ",tat;"a a una macro abreviado de leela,
do y descripci6n) , seleecione 1& macro en la lista y hap d ie en el boI6n
Opclones.
"
capitulo 1
o Para detene. ta ejecuci6n de u,;a macro. pulse (Escape] 0 (Ctrl](Pausa).
c. Graba, una macro con relerencia$ reilltiva$
$1 graba uo;a macro en eI modo rbtncias absolut.a. (modo IX" delecto). los
rareas de eelda, "" las operacione!l de selecci6n, ...
seran fijos. Por ejemplo: Range(' A2") de$igna to oeId,;, A2.
Si yaba una macro"" eI modo , !fel1lncl.s telal/llas. los fangos de se,,'"
expresados en a la (XISici6n de la pnmefa activa.
Por ejemplo: desill'l!' cek.la ub4eada bajo I. eeldl activa,
ActiveCell . ange(' BI ') deslgo;a la ce kla ubOca<.la a Ia derecha de 1& eelda activa.
o Acb'ieCelI.'ange\' Al ') siempre hace referencla a Ia (lfimera cekla Al
puede consider......, Ia were..:ia "'olivo a Ia primeu celda acT ......
Par. gt'abar una macro ron referencias "'ativas:
.) Hag.< clie en el boIOn g de to ficha Ptolramador: el bot6n activo (se
""ra de 0010. ,;ar. nja) .
) Si vue/ve hace. die en eI boIOn n, este queda r<l desacbvado y las macros
se graba r<ln con referero::ias absoluTas.
Ejemelo
LA misma de operaciones se IIa IN> do$ ma<;ros.. la
(RefRelal iva) se graM con /a opciOti rellll'fn. la $(!fjunda (ReIAbsolu.
tal, con la opci6n referenci .. absolutu.

I



,
I

u secuencia de cpeiiK:ione5 /IS lit $iguienr/l:
- se/ecciOn de un flngo de uldas,
Presentaci6n
- despl, ZIf /II "'1lfIO do$ m<ls h<lcil aJJljo Y un.J coIummJ , II derecha.
Selection. Cut oe.t I""tlon, _Ra"'lO I"Co ,01 G" )
Ran90 I ' CO, Dl0 ' ) . Solo<:t

Sub Rol Rolotlv.l l
,""01'<.,,,,11 . Rango I ' A" .7"' . 1.
soac<,on . Cut De. t i""oion; _,""Of """"ll .0f fO .. !>. 'I . ... I' ''' ,.7 ' )
,",,<'vo""" _Ofh .. Il. II _ Ra"".I"'" ,.7 ' ) . $<010<:<

d. Definir el Iupr de almacenamiento de UN nueva macro
Para definir ellugar de almlCel1amienkl de una nueva
rQI
-) Haga clic en bot6n de la fichll PlOIrlllIlHIor 0 pulse m&ido abl\!-
viado (Alii (FS].
- ) Abra II listll Graba. en y selecciooe el libro en el que desee erea. la
macro.
o S; elige Ubro d. INCfOII pttSOI\IIl. la macro se erabar. el libro pet'SOMI.dsb;
II macro aoxps;ble desde todos los libros Excel.
capitulo 1
e. Eliminar una macro
Para ellmlnar una macro: 1 i: 41
Hasa eli<: <!11 el botOO _ .. de la fieha Procrarnador 0 pulse eI able-
';ado [AltlIF8].
.) Se!eocior!e la macro que dese<r eli minar y eli<: en el botOO Eliminar. Hasa
eli<: en el botOO Sf para confirmar la eli mil\llci6n.
I. GrillMr un libn! coo ITIiICfOIi
Par. grabar un libm con macros:
Haga die en eI boton 1 de II Ii<:ha Procrarnador 0 pulse eI
viado IAIII (FSI.
Haga dOO4e elie en eI nombfe de II macro 0 pulse la combinaci6n de II'!Clas
asoclada a Ii macro.
o Para vlsual izar II InformaciOn relat;"'a una macro (mttodo abl'eviado de
do Y descripci6n). seleocior!e II mIICI!:I de la lislll y hap cHe en el botOn
Opcionn ....
guarda per primer. vez un libm con macros. el mensaje siguiente:
.PI., ... 0. ....
... _ ..... _ "","".too ..... _ <1< ........
...... _ ....... . 5 ....... _ .. ....::
.... ___ .. __ ..... __ <I< .. '5t
I

I I

I
i
,

I
-

Presentaci6n
.) Haga clic en eI bolOn No pari la grabad6n deilibro sOn las macros .
) En el cuadro de Guard.llr como. abra la lista Tlpo de I rchlYO y seleccio-
ne Ubto 61 Excel habi litldo p.or. mac, O$
o Los lit>ros que conlienen macros tienen la exten$iOO x1sm (en vez de y su
icono se distingue por un sJgno de exclamadoo.
Para Rrabar un nuevo li bm con macros, tambiM puede realizar las sOguientes
opeI'lICjones:
.) Haga elie en eI bot6n Microsoft OHIce .
) Arrastre elllUntero del ratOn nosta la ope;';n Guardar como .
) Haga elie en Ubro de Excel habilltado p.o ra INICtoI.
,
,
r. U I _ .. to< ..
J """ .. .. ....... .. .....
. "."" ....... .
G',lJ I _ ... t"' .. a.',,,, ... -....
""" .... 00.. I....., ... " ........ ,. ...
.... -... ........... .
I __
""" .. .. 00. ... " .." ....... .. _ . ......
".. .. "' ..... ,"p'OUOO ..... .......
y
Capitulo 1
4. Las macros y la segurldad
La contigurBCiOO de seguridad de las macros permfte contoola, 10 q"" ocu"e II
abri, un lib", q"" conliene macros.
o Las de II corr!iguraci6n de seguridad de macros rillE!n soIamente
en )(Q!/ y 00 aiectan a las oI,as apticaciones de Microsoft Office.
a. Modifleacl6n de Ia Confil'J,ad6n de 5el'Jridad
.) H<IgI die en bot6n l<hl de la licl\il p .... .
) Sel eccione la opci6n deseada .
) H<IgI die en Aceplir pa,a va lida, su elecciOO.
o Si se cambja II! conliguraci6n de seguridad. las nlle'llS opciones se aptlca,'" a
IDdos los libr<lS. e>:<:eplo los librm ya abierto:s en Excel. P.,. apt!carl.s a
I!"SIos librm, debe c""arlas y aoorlas nuevamenle.
b. Dncripci6n de la$ diferentn opcione$ de sea;uridad
DHhIbll;u., todll tal macros lin notiflcxi6n
l""as la. macr<lS y iodas las od""rtenci.a. de segundad _in deshabililadas.
Iodas las macros con notifiCIci6n
Op:::iOO po< defi!clo. las macros se,in deshabililJldas pero apareceri la situienle
ad'Yer1:enei.a de seguridad (bajo II! cinla de op:::iooe$l pa,a los libros que contienen
macros,
es pmible habilitlr las macros, soIamenie para esle libro, de II! !.i8uienle
mlrlefl:
.) Hap die en eI boI6n I _ .... ,- I ubicado a I. derechl de la ad""rtenc:ia de
seguridad .nleno..
I!II 'ISA Excel 2007
I
________________________________________
.) Selecdooe I. opci6n Habililar este y haga elic en el bot6n Aceptar,
las macros habil itadas y Ia ild\ erteocia de seguridad.
DeWbiJila, ladu lao macros las flrmldlS dlaitalmente
Si las macll>S de un libre l>eoen firma digital de un ongell aprobado, las macros
poeMn ejecutarse. Si el origen 00 est2 autoriado, apareo:;er,; una notificllCi6n: en
esle taSO es posOble habilit! r macros firmadas (I aproba. el Ot;gen. las mllCros
sin fi rma digital no podlan habll itarse.
Habllitar tocl .. las macros (no rec_Oldlldo; puede t/ecutarse c6di,o posilJle..
mente peliJroso),
SI se seleccion. est.1 opci6n, 10001$ las macros habil itadas. Se rOO1ienda no
usal esta OjlCilln de '0' ''''' perm.nente.
o Cualquiera """ sea Ia opciOO ffiegi d., ,,; se instala un program. antivirus com
pati ble con Microsoft O!fk:e System 2007, los lib"" 'I ll(' contenpn macros
.Jlalizados antes de a bri rse.
c. Firmas electr6nica$ de matros
Para firmar digitalmente un proyecto macro, debe,
- Obteroe, un certific.odo digital de Pl'rte de una aulGf'idad de
comefClal, como Verisl'gn (WWW". verisign,com), e ill5U1larlo,
- Fin"", digita lmente SU proyectO. Para ello, pase al eniorno VSE (accesibJe desde
eI corrwHldo I:;WI de la ficha y seleccione Ie opci60 Firma di.ital
<lei "",no:. Herramie",.u. HIl&<' clic en eI bOt6n Elotir PO'" selecc",,,", ...,
certific:ado .
. , 0 Para probar sus PfiJ)'ectos II'IIloCtOs, ell su ooIenador, puede crear su propio
cer!;!ic.ado de al.llOfi rma con I. ayuda de Setfcert.exe (progriWl1a di.tribuido con
Microsolt Office 20071.

,
i

capitulo 1
5. Modificar el c6dilO de una macro
Para ;Jtteder.1 <:<\d ig<.> de u"" macro:
. ) Hap clie en el I.l0l00 t L.il de la IK:ha PrQlramador Q pulse ej
viado (Alt] (FB].
.) Selecciooe Ii macro que desea y hap clie en el botOO Modificar.
EI <:<\digo de la mllCro en Y"" yenla,," del errtorno MK: rosoIt Visual Basic
(yer. D. EI ",to<no de desa,roIlo VBE).
o Una macro COfJej'X>nde a un p<ocedimienlo en leng""ie VBA. Un procedimiet>-
to VeA es una secuencia de instrucciones a&rupadas en un blaQue de c6digo
que comienza con Sub y termi,," con End Sub .
.. __ .. _ r_. ___ :.:.==

--
Yo" _.
"' ....... _ ..... "" .
...... ... .. - "''', ...... ,
,-,.";"').".,, .
.. , .............. , ... ,-,-., ...... ", .. . -
.. ' .............. [ ... '-'''' ....... ,.. . . ""'-
... _T< ,-,_
... _ L"'
. <0,.,,_ "' .. _ ..
... " ..
. ". .. ,_ .... _ .... , ,,-""' ,
........ " .. ,-,-
... ,_ .. ,",.
Puede modffica, 0 el c6digo denim de esle procedimienlQ.
VBA Excel 2007
Ej(:mplo
Inserle el siguiente cOd,go al final del procedlmienlo,
"-9""" "El to ..... 'o ... ".1" .. .. S. 'ectlon.M<!u ..
ybCT M _lfl c.<Io corroct . .. n' ."
.ntI Sub
Para PfObaf SU procedlmiento, haga elic en eI icooo [!] 0 """ ill tecla IF5l.
Apart'CerlJ el siguienle mensaje:
""" :t. cIt ,_ $>.1"_
...... r .... , ".<t_
.-
c. Asignacl6n de macros
Se puede asoc:iar una millCro a di5ll ntos coolroles (botones de comando,
etc.) 0 a la barra de henamienlas de acceso rilpldo para dar al usuario un acceso
amigable y rapido para ejecular macros.
1. Asoclar !.Ina macro a un bol 6n de comando
I elie en eI 00100 l*1 de la ficha PlOIrlmador.
! Dibuje eI boI6!1 coo ill ayuda de 18 herramienla I_I (parte SUpo!<Oo< izquiema
de la ba rra de Cootroles de
!
I
-

AI !!Olla, el boiOO del rat6t1. apaJeCe''; eI clladro de diillogo AsI&nI, macro.

capitulo 1
2. Asignar una macro a una imagt!n
.) Ino;erte una image<! ron un elie en el 00t00 - de iii IicI\;I lnserlar .
) Hap elie ron eI baloo secundario del rat6n y sel::cione la opci6n Asttnar
.
) Seleccione ei Nomb,. "- rmoc: ro en lis'" y hap elie en ei !xlt6n Aceptl'.
3. Asociar una macro a una zona de un objeto ,r"!co
.) Inserte un objeto gr61ico (imagen. irnagen prtisellOOa.lorrna 0 SmartArl , <::e-
sibles desde el grulKl lluot'Kiones de la lieha InHftl, j .
) Pa,a de/inl' en eI objoto una lONI que permita ejecYblr una rmoc:ro, hap die
en (en Ii lieha InHfta. j, seleccione la forma dese3da y dioojo Ii
lorma dentro del objeto que lIC.ba de efeat .
) Haga clie con el !xl16n derecllo del ,al6n y selecclone Ii O!)Ci6n Alii"" macro .
) Sel cione ei Hoombre de la macro en la lisla y .alide ron un elie en eI bot6n
Acepta .
) Seleccione Iorma insertadi. Aparecer' Ii secciOO Htf,unil l'lta$ de dlbu/O Y
hap elic en Ii licha f onmto.
.)
"- formi de iii licha fOflTllllo. hag/l elic en iii lisla
,.,,, en I .. - Of I
. ) En el mfsmo Estllo de for",. de Iicha FOfINIto. hag/l elic en Ii lisla
I"-""_j luego en I .. 0 _ I
.) AIIo,a, al hace, dic en la forma, se la macro.
VBA Excel 2007
PresentaCi6n
4. Asociar una macro a una imagen Control ActiveX
.) Aclive el modo Disel'lo (si es Que no esUa ya aclMl) con un clio: e!1 el bot6n
l1i1 de la ficha Pros:r.mador.


. ) Hap clio: en el OOIOn . de la ficha Pros:ramador .
) Dibuje una imagen con II ""udl de la herramienla [J;I (dentro de k.>s controles
ActiveX) y welte el bot6n del ral6n.
. ,
;1T,.,."; ,a, y las propied.xies de iii imn (eI' P/lrtieula, .
' " pDf medio de II propOedad Picture) con un clio: e!1 el boI6n
.) Hap clie con el boI6n derecho del '116n y seietcior.e la opci6n V .. c6d1CO .
) Denlro del procedimienlo VBA asoclado. iii Im/ijlen. esctiba Ia Inslrucci6n Call
seguida del nombre de la macro Que desea ejeclllar.
I
t .) Desaclive el modo Diseflo con un clie e!1 eI oot6n de la littlll Proerlml-
!
J
do
. ) Haga die en III imaeen: la macro Test se ejec:uta.

.,
capitulo 1
5. Asoclar una macro a un Icono de la barTa de herramienla
de acceso rapido
es posible insertar en la barn de herramienta de KCeSO un ro-
mando que permita ejecular una macro. Para eHo,
Haga elic: en el bot6n Microsoft OffIce @, luego en el bot6n Opclonel de
ExeO'l (abajo y a la derecllll de! elladro de diAlogo1.
Seletcione la Qtegorla PtfSOl\&liu. en eI menu de la izquier<a.
En ta lisla de Qtegorln. aniba y a la Izquierda. seleccione MI'
a"" apare<:.efAn las macros disponibles en la columna de la izquiefda.
Seletciooe una macro y haga elie en eI bot6n Ai'ep" la macro pasar. a la
columna de ta derecha.
--
'-
-
-
_.-
-
."
. -
. __ .
A _ .
A """","
A ",, '
,. -


'" -... .
--

" ..... -
:1",
.. --.. --... -... -.. -
VIlA Excel 2007
Presentaci6n
.) Hagll die ell el bot6n Modificar pa ra selecciCIoar un me..o icono para la macro.
Puede modificar el orden de ;os comandoos por medici de las dos fiechas !oilua-
das a III derecha .
) En la lisla desplegable !oiluada arriba a la derecha, puede seleeciooar su libn.>,
en este QOO las etecluadas ooillmenle se aplicaran a ese libro .
) Haga clie en et botoo At'pUr pa,a valida,.
Allot"! habrB un nuevo tQmando ell Ia bamo de nen"amienla de .CCHO r&pido
para ejecutar la macro.
D. EI entomo de desarrollo VBE
VBE (Visual Basic EdilOiI IS el entorno en et que puede Introduc:i " modifica , y
ptObar 5lI c6dillO YSA Este enlomo se llama lamblen IDE (Integrated Development
Environment) 0 editor de VSA.
EI entomo VEE pone 8 5lI disposiei6n nurrterosas nerramientas pa'a facilitll' Ia
P<08,amaci6n y 18 puesta a punto de 5lI c6digo VSA, nerrllmientas de depuraciOn,
InlroducciOn aslslkla, e.pIo,ador de objetos, etc.
1. Acceso al entorno VBE I@I
I
.) Pa ra aceeder al eIltomo VBE deode Excel, haga die en el balbn :::' de 1&
ficha Proerlmador 0 pulse Ia combioaci6n tARJ [FlI].
i

,
!
-

Programat en Excel: Macros y lenguaje VSA
Capitulo 1
o SO el entom<> VBE ya esl3 abierto. puede accede< a eno desde III ba,ra de ~ r e a .
Windows:
"" ""_ ..... _ ..-.,_ ....... ) I-
a _ . ~ . ' ... "',_
.. _---- ---- ---
a,M .
2. Cerrar el entomo WE
Pafa cenar ej entomo VBE y wlver a Excel. llaga clie en ej aspa roja ublcada
arriba a III dereclla de III ventana principal del entom<> VBE.
3. Volver a Excel
Para ...olver a Excel sin oe<rar ej enlomo VBE. use cualquiera de eslas Ires posibill
dades:
.) Hap clio: en ej icon<> III de III barr8 de r,erramientas E$U ...... .
) 0 PJl se el metooo abrev;ado [All) [Fl l).
I
,
,

!
I

4. Descripcl6n del entorno VBE
'OK _ .
""-'-' " ,-,
- . " ~ , , ''', ... .-'
o Todll5 las venL1nas del entomc V8E JlU"den ~ i ..... lilarse desde eI menu V ...
capitulo 1
I Ver Microsoft &eel
2 In5efta r una
3 Guardar libro
eort.,
5
, ,...,
7 Buscar
8 """""
9 RepeU,
( 2) Et nptorarlor de proyectos
10 Ejocular Sub
II Interrumpir
12 Reslab4ece,
13 Modo de diseflo
14 Explorado, de proyectos
15 Ventana de Propiedlldes
16 Examinador de objelos
17 Cuadro de heffamief1tas
18 Ayuda de Microsoft Visual Basic
19 Posici6n <lCtuat en I. venlana de c6digo
Cada libm abierto en E>:ceI t'ene I5OCi.xlo un proyeclo. Et de proyecl05
permite ve, todos los proyectos Y todo$ los m6dulos de cad. proyecto 5egIin una
estlllCtUf. en BOO!. Los m6dulos 5e agrupan en euatro categorias,
- m6dulos I5OCilldos I obje\05 Excel (libro y hojas).
- m6dulos 85OCilldos a foonulartos.
- m6dUI05 esthndares,
- m6dulos de elase.
Cada m6dulo puede COni""", mllCOOs procedimientos.
(3) La venlan, P,opiedadH
Permite most,ar las propiedlldes al libro, a las ooias de I las
hojas graficas y a los rormularios.
VBA Excel 2007
I

t

,
I


____________________________________________
(4) u vmQna COdigo
En eslll """tana "ie dos zonas COIl Hstas doesplegableso
- 13 zona objeto (l0) muestta I. liota de 10$ objetos de m6dulo,
- I. zona procedimiento (Ill muesli. los procedimienlos " k>s eYentos del ob;eto
... lecI;iol\ado en III zona objeto. Los evenlOS ya uoados aparecen en negrilll.
(5) Instrucciones quo .. completan .utOlNtk.llMlllt
Una lisla apareoe automMicamente cuando se escribe roombre de un
objeto seguido de un punto. La liSIa muestra 10$ metodos, propiedades y consllln
tes para ese objela.
o Si I. li5l1 00 act;"'a, ... leccione OpcIoMs en eI menu y
marque Ia casil ia USI. cIe miembros .utorNliCi de Ia liclla Editor.
(6) Vent.na InOMdI.to
mos\1ar 10$ de las variables, modificarlas, y e;eclll.1l ' tas instruc
,-
(7) Vent.na Locales
Contiene loclos los va10fes de las variables del procedimiento en curso.
(8) Ventallll InspecciOn
Contieroe todos los v"'ares de las variables que hay.n side definid".
como expresiones de inspecd6n.
o La. venlllnas ' "medl.to, lOCIIIH e Inspeecl6n se usan principolmenle par. Ia
depufaciOO de apHcadones (vef capitulo 91.
(9) El Ellplorador de objetos
f'errni! p. r" cad. objeto, 50S ptQI)iedades, metodos y constantes.
f'rogramar en Excel: MiICTOS y leoguaje VBA
,
Capitulo 1
E. Configuracion del Editor VBA
1. Conflguraci6n de la tipografla
las pal. bras clave, las !uIICiones las instrucciones VSA aparen e!1 azul; los
Dbjetos, ptOI)ioedades, en negro, Y los come!1tarios, en verde, Las instruc,
ciones que cootienen erroteS se destacan en II.ljo,
. ) Para modificar eI estilo (color, tipo de letra, tamallol de los difere!11es tipos de
c6digo, selec.:iooe Opciones en eI mem:' H ........... ientn Y elie en la lien;,
fOl'mato del
t_ '_"_1_1_1
_.-

-
100.-_ , .. 3
,-,
1
'0
3
1" ..... .. _
-
2, Configutaci6n de la Inttoduccl6n de c6digo
Exist"" difefl:mtes heflamientas QIl facilitan la introdlJtCi6n y la act ualizaci6n Oef
c6digo VSA: per ejemplo, la comprObaci6n aut<>mitica de la stntaxis, I. declaraci6n
obligatoria de las variables, las instrucciones que se completan a.rtomaticllmente,
etc,
.) Para activar estas opciones, seleC<:iooe ()pciones en el menu H ....... mlent.ls y
hasa elic en la ficha Editor,

I



!
I
-

Presentaci6n
Q _ . . .. ""
"",,0.,'" .i,
I
Q _"W,,' ... _ . ' " ..
Q-_ .. ... "_.oo
3. Gesti6n d-e efTores
Las OIlCiones de Inte-rceptacoo de errore'> pe-rmiten estlIbiecer si eje.::ucoo
cOdlgo se al ocurri. un error de ejecuciOO .
) Para aclivar esta opciOO, selecdooe Opelonn en menu Herrlmlentu y hasa
elk en to Ikha General.
Capitulo 1
"I" ..... 0 ' 10
f;; w..- ... _ ... '_.
,. <>oh __ ,_
...... ,-
r-..._ .. __
.........
c ..... _,_ .. _ ...... "'"
-

.. --
.) Si W OOdigo '1SA inc:tyYe una gestiOO de e,rores, selcione la GjXi6n Intllfl'URI-
pi. en errore$ no control,d<n 0 1M instruteiooes de gesti6n de e.rores no se<6"
!enida. en cuenl. ,
c>ertos de e5te libm inc:luyen una 8(!Sti6n de e.rores, es importlln!e que
aclM! esta opci6n pa.a que luncionen corre<;tamente,
o La gestiOO de erfOfeS se explica en eI capitulo 9 ,
4, Acople de una ventana
Una ventana ocopiaoda .., roIoca wando la m......." UN! ventaN!
no eslll acopfada 5i puede uDicar!.l! en cuaiquie, luga. Oe I. pant&lIa y permanecer
"hi ,
.) Para delini , las ventanas que desea acopIa., seleccione OpciooH en el menu
H ... umianta. y llasa elic en lich<! Acopf",
. ) Active 1M ventanas que Oesea acopfa. y desactive 1M otras. l uego haga elic en
Acept",
VBA Excel 2007
PresentadOO
5. E!egir las ventanas que h.ay que mostrar
Nombf. de la Menu Barra de Teclado
_.na que My que
"
Prupiedades V,ntana

Explorador de pl'O)eclos
Inmedlalo Ventana Inmt<llilo
Ventana
Ventana Locales V.ntana lotlIles
E>:pIorador de objelos Examinador cit objoetos
M6duk>
C6digo
IF7]
F. Novedades de la version 2007
1. Novtdades de Excel 2007
E>:ceI 2007 fo<ma parte del Microsoft Office 2001 l!amado
Office 12) Y "" benefICia, en consecuencia, de II mayo< pane de las mejo<as de
esta versi6n: nueva interlaz de usuario (clnta de opciooes y liehas q..e agrupan los
comandos y n!emplazan los menus y barras de herramientas), compane las herra
mienlas arM;cas (""Ire EQ. Word y f'owetPoinU, lema. de Office, arabaci6n de
1 arcnivos en Iormalo pdf y xPS. elc.
" Otras no.'edacles que incluye 2007, capacidad eene,al aumentad. (aumenta
10 la canlidad de fifas y coI umnas), mayo, facilidad en II redacci6<1 de I<\,mufa.,
l! ""'jorM en el formate condicioolll, tabla. El:el, fiHros y O<denamientos, etc.
,
I


Capftulc) 1
2. Las novedades de VBA Excel 2007
AI contrario de 10 Que ocum! con la Interl&< de el entorno de des.!rroIlo
COI1selV! sus mentis y barras de herramientas.
De todas fofmu, I. do(:umentaci6n en li .... a se ha me;o.odo coosidefabiemente, eI
aSpeCto de Visual StOOio, ejemplos de dldi8D de taredS y modeIo de <>bjetas enri
Quecooo (inf<li'maci6n sobfe los cambOos en relaoci6n I WfSiooes anterlores).
De II misma fofma, las mejorH en Excel intmduoen un enriQuecimienlo en el
modelo de objetas de xceI , como JlO< ejemplo:
- nuevas objetos asociao:ios a los fofmatos coodiclonales: Oata!lar (barra pa ra
IGrmato condicioNl de una !larra de datos), JconCriterion (represent.1 eI criteria
coo un icono dentro de un joego de Iconos), etc.
- nuevas metooos del objeto Wor',(boo4(, ApplyTheme (pennlte aplicar un lema I
un li bm) , ExpottA5FixedFonnat (permite publicll r un librll en /or""'to POf 0
XPS), etc.
- n...evas pmpiedades asociadas II objeto Ap(liication: $how{)evTooIs (indica si la
liella Pr"lramador esta "" la clnt. de opciones), ShowMenuFloaties
(indica si las minibarras de herramientas deben aparecer cuando eI usu.ario hac.!
clic con el boIOn dere<:ho del rat6n), etc.
VBA Excel 2007
f.) capitulo 2: EI lenguaje VBA
A.
M6dulos
. . . . . . . . . . .
. .
. . . 38
) prese
n
tacj6n 38
2. meso a las mM"los 39
3. Importar y exportar cOdigo V8A . 40
B. Procedimienlos .
.
. .
. . . . . ,
. . . . . . . 40
I. Definiciooes"
. . . . 40
2. Acteso a los procedi mientos
41
3 procedim;eo! !l5 S"b 42
4 . procedimjeolos Ftmcljon 43
5. Declaraci6n de proced"mientos
44
6. Alcaoce de !os procedimientos
7. Argumentas de los Dn:x;:e,fmientos 45
8. Argurnentos coo nombfe . 46
9. lIamar a un proce<fmiento 47
10 I la mar a IlDa hmc;6n yBA en " oa 16rm"la F' rel 48
11, Eiemplos de proce,;fmientos y funciones .
. . .
. , . . .
50
'I' ate
C;tpitulo 2
c,
Variables


51
I. l iDOS de variabJes . . . .

. . .

52
2 , DeclaraciOn
'"
variables 57

Oedaradorles iml!lidlas 57

DeclaracOooes
exl1
l
(cilas
,

.

57
c, de
las
jnslnujooes
'"
declaraciOn
58
3. DeclaraciOn
d,
100 lilXlS
de
variables
59

Declaraciooes eJ(111(citas
d
tipO
59

Declaraciooes
iml1licilas del til!O
"
4,

61
5,
CorslaOies

63

Conslantes oersonalizadas
63

Constanles
inlegradas
64
D, Estructuras de decisi60

66
1,
Insl[!lccj6n
IE

67
2
Inslo,ccj6n
Selecl
Case
70
E, Fslructuras en cicio

72
1. Instrucd6n
Do .. ,looo
.

. . .

. . .

72
2
InSlmccj6n
Wbi le
Wend 74
3, lost[]lCJ::ieo
Fo(
('jed
Z4
4
InSloICcjen for Each Nell
76
5,

las ""tDlclmas de
rnnl ....

ZZ
VBA Excel 2007
Ellengll<lje VBA
F,
Operadores
, , , , , , , , , , , , , , , , ,
78
1.
Opeflldores .
, ,

78
2,
Opeiadores de comparaci6n ,
79
3, Opefllclores 16g;cos . , , , ,
,
79
4, ()pefadof de coocatenaciOO .
80
5, Priolidad de los operadores .
80
G,
Reglas de escritura del cOdigo
, , ,

, ,


,
82
1. COmentarios
, , , , ,
82
2, Caracter (Ie continuaei6n . , , , , , , , ,
82
3,
Sangrias.
, , , , , , , , , , , , ,
82
4,
Nomtxe5 de procedimient05, variables y constantes 83
capitulo 2
A. M6dul05
I . Preserltaci6rl
EI c6digo VBA asoci600 a un libro esIA agrupado en un proyeclO que contlene
tafjletas,
La calJll'la MicnIsGIt Elcel
Objetoo
La carf)ela Formul.rios
La cafjlE!ta MildulGS
Contiene un m6dulo de da ... .....ciado !ibm del
pooyecto (IIarnado jKlf delecto ThisWorl<txriJ y un
mOdulo de clase jKlf cada una de las hojas de die","
10 U hojas de aratico dellibro. En particular, en estos
m6dulos de dase ... encuentran los procedlmlentos
de eventos asoc;ms al libro y a las hojas.
Contiene los Iofmulari os (UserfO"" ' del p<O)<!CIQ Y
c6digo 'liSA asocildG.
Agrujla los m6dulos estIInc!an!5 (compues-
tos jKlf una 0 llfOC*Iimientos) que pueden SO!(
lIamados desde cualquier procedimiento del poo}to.
La carpeta MOdulos de elase Coot>ene los m6dulos de clase u!.!dos para la erea
eilln de nuevas elil5eS de objetos. Los m6dulos de
elase son lIIilizados especl.l mente para II
de los proc;edimientos de l!YeflIos asociaoos a los 00.
;.tas Applic:ltion y Chart (wr eapitulo 8).
La li.la de todos los m6dulos .jlIIrece en forma jef&.quica en el Explorador de
proyectos del enloma Vat:.
o Si el de proyectQs no esta a la vista, eliia I. opci6!1 ElIpkndor de
proyectos del menu VIC 0 poJlse el abreviado [elM] [R].
o Pa'. ver el t6dillO asociado a dobIe elk: sobre el del

Los elementos del lensuaje VBA clesc:ritos ef1 este poecIen USIIr5e en los
diferentes m6dulos.
2. Acceso los m6dl,llo$
Pa,a inserta, un nuevo ""''''"
I
Insert.o" 0 haga elc en
en M6dulo.
VBE. use I. opci6!1 M6dulo del
I. barr. de i1erramie<1tas Est'nda, y l..ego
, 0 Si III ventana M6dulo est. maximizada, el nombre del m6dulo IP/lrece sobre III
:1! barra de de Microsoft Vlsu.al Basic.
,
I
.) Para .... m6dUIo. I otlO',en I. ventana Proy.cto, haga doble elie en el
'lonh ... "'" " ..... u .... que ese. at Na,_
,

Progralllilr en Excel : Macros y lenguaje VBA
capitulo 2
. ) Para eHmlnar un m6dulo, 1!!1 II ven!ana Pro, ec!O, haaa un che: derecho en ej
oomb(e del m6dulo que dese.a ellmlnar, elija la op::l6n e IlIdlque
si desea a! m6dulo 0 00
.) Para dar oombre a active el m6dulo. S; e5 abra II
ventana de Propiedades I. l>l'lpiedad ru .... ,
3. Importilr 'I c6di&o VBA
Los m6.Mos y Iormulanos pueden a un .rd, ...., para 1""8" importario a
O!ro proy.!ClO Excel ,
.) Para e>:pOrta r un archivo. hap e:lic sobre eI oombre del are:hiYo en a! exp!ofa
00r <.Ie proyec:tos. luego se!etcione la &porb. ard!ivo del menu Archivo
(0 <let menu contextual) 0 pul.., II oombinadlln de Ifdas [CtrI[ [EI.
.) Pata importat un archlw. llaga elK: sob<e eI oombre del archlw en eI exploof.
do. doe povyectos, IlJeIlO ... Ieccione 10 opci6n Import arch ..... <lei menu ArdII-
vo (0 del menu coo!extu&I) 0 pulse la oombir\aCi6n de!eC1as [Clfl[ [M].
lJJ extell$i6n del archiv<) e:reado depende del de arch"'" exportao:io,
- Los m6dulos de a.se (m6dulos al libro y a litS hojas y mOduios de
ew I. ellen,,1In .dl.
- Los formullriol !>enen I. a. tensiOn .frm.
- Los mcldulol "'tandOr1!$ llenen la ex!ensi6n .bu.
B. Procedimientos
1. Definiclones
Los procedimientos son $Ubpr0l'.m.l1 q"" permi!en descomponef UM til rea de
programa";6n compleja en un conjun!o de tilrea ...... breves Y sifT1j>ies, Pemlilen
organiza. eI c6dieo dentro de mOdulos pa ra ob!ener un c6dieo de mantenimienlO
mh y lacilmente reutillzabie.
YBA Excel 2007
I
EI lenguale VBA
En "'SA Excel, se distinguen tres tlpos Oe procedimientos,
- los procedimienlos Sub (pot subrutina) se subprogramas proce_
dimiefllos Sub,
- los procedimlerrtos f unction se lIaman furICiones,
- los procedimientos Ploptft) se tl.lrnan procedimientos Oe propiedoo.
En este capitulo. solamente res Inleresan los <los Plimeros, que son los mas utili-
,-
Punlos comurIl'5 enlre procedimientos Sub y funciooes;
- a mbos contienen insl.ucciooes y/O "'BA,
- ambos acepYn a.gumentos,
- ambos pt>eden se' lIa mados desde 01"5 funciones u 0If05 procedimientos
Sub.
- Ca.acteristica especffica de las tunciones,
- dwueiYen valores.
2. Acceso a los procedlmlentos
.) Pa .. accedoef I un pmcedimiento d...oe II ventlna de c6digo de un m6dulo,
ab .. I. seguoo. lisla Oe la venlana del m6dulo, Nag. d ie sabre el oombre del
procedimlento al que desea accede. 0 reeo"a los procedimHffitos con
(Cltl) (Fleet... amba) y (CI.I) (Fleet... ablljo).
.) Pa ri selettiona. una palabo"a, ha.ga doble elie sobre la palabra.
. ) Pa.a selecciona. una linea, ubique el punle", Oel .0tOO I.
linea y ha.ga elic cu.ndo at purrtflro.., corrvlerte en un/> lIechi>.
ilqUietda de I.l
.) Pa.a seleccioM' un 8'upo de earacteres, use I. tecnka de .rr.stre y wltar 0
haga IMayusl elk .
.
, .,
Pa ..,lecciona. un procedimiento completo, ubique eI punttfo del .. tOO a ]a
izquierda Oe linea del procedimiento. Cuando el punte", se co .... ierte
en una flecha, haga doble elie. !
I


PI09l amar en Excel: MiICTOS y IeoguaJe VBA
,. III!
Capitulo 2
-) Pa,a eiecuta, un procedlmiento. haga die en el procedimiento que desea eiecu.
ta, y pulse IFSI 0 [i1
_) Pa'a elimina, un pX:edimiento, selettione toclo el procedimiento. y pulse
ISup,]'
3. Procedimientos Sllb
Hay dos tipos de p,ocedimientos Sub:
los procedimie<1tos Sub
- los procedimientos Sub asociaoos a eotelltos,
Un pl' ocl<limiento ,_"..al es un procedimiento declarado en un m6duto (gene<a!
mente un rOOdulo estAndar), EI Ilamado a este tipo de procedimiet1to se define
explicitamente en et c6diao.
Un procl<liml,nlo .soc;.do a un evento es un procedimiet1to Que se ejecuta
aulomilticamente ante ciertos """nlos de un objeto. Su nombre se forma oon et
nomb<e de! obj.eto, sesuido del 8ui6n bojo y del del evento
lei. , WOfI<booI< Open). EI lIamado a estos procedimlentos es Impticilo, es deci', el
p,ocedimiento Se e;ecuta automaticamente cuando se produce a! evento lsociado.

EI 5iRuienre pide aJ usua,1o que con/lrme $I! deseo de
abandona/ Ia aplicadoo, y sale de br;el el usuario responde Que SI, (Sle
c6diRO puede COil un botM de romJJndo 0 una OpCiOO de mo!lIIl que
permita abandonar Ia aplicaci6fl,
Prin<* s"" .,..,..,1",," 0
" HogOOxl ,,,,, 11, <leI P'<>s<."' ,
vl;>Qon1on vb "'" vbY .. n.. n
"PI>)j cation, au 1 <
"
1m<! Sub
VBA Excel 2007
I
i

!
!

EI lenguaje VBA
1 siguienle piOl2dUniento un e'tefIto abre aulOm.tlir:amenle el /ibm
Ven!(lu/s clhlndo se able el libro sle prnct!dimien/o es!.1 a socilKlo
al """,,10 Open del objelO Worllbooll Y se Me""n!r. en el mOdulo 'hi.W",l!booII
del !ibm Resumen. xls.
Sui> IIOC. " oolu)pe" 0
ll> el Ub<o v ... t .... I ..
IIOrl<b>o . Open f ll ........ ,. 'e, IV""'''''I VENT"" .xlex
""t ho ol lib .... _
.Aotiva,e

4. Procedimientos Function
l.IJ'I pmcedimienlll'l Function, lIamados tQm",,,"ente luncione . dev",,""'n un vo1k>r
q"" rnsullll de un dlcuk.>. EI volo< ... devuelYe a traves del nomllre de la !unclOn.
EI Visoal incllrye ll\lmerosas lunclooes inteeradas, tales como las
usadas en cilcuios con leckas (day. week. )'elIf. etc.).
Ademils de eslas foodooes in!egradas. usled puede crear sus PfOI:>tas iunciooes
pefflOI1alill!(\as.
jemplo
L.t siguilffile luoci6n pide .1 usuan'o que CMli,me so deseo de llbandona, I.
aplicaci6n J devuel'le True 51 el uwalk> respollde Que SI. y false en c.so coo
!fa,io.
runetlon t ... I" ... 1) ,.. 10010. "
II ""'I"""" l"".e 1Ir <1<11 pro-g ..... '.
v bV .. Ko) vbY .. Tl"l4>n
"'<"1,,,,< t _
IlO.
1 ... 1 ... < loe
Programar ef1 Macros y lenguaje VSA
"
capituk) 2
5. Dedaracl6n de procedimientos
SlntIIllIl <k \Ill ptOCe<iim\lonto Sub
(Private I PUbli c I rriendl [Static) Sub NomProc
{[116ta de argumentoB]I
ecuenci a de inBtruccloneB>
End Sub
Sin!. .. i. de un p'oc:edimienlo f unction
[Pdvate I PUblic I Friend] (Stati c] Funct ion
IiOmProc 1 (lhea dB argumentoal) {As <Type>l
'8ecuencl. de in&truccionBa>
End l'\lnctlon
Par. crea r un proc:edimiemo Sub 0 f unction, ... deben resj)elar los siguientes
,.,"
- determine eI alClJ'ICe del PfOCeclimiento.
- declare eI procedimienlo seeun !oil iiIX' con la palabra dave Sub 0 function,
seeuid. <lei nombte del procodimiento,
_ dl'fina los afJUfMlllos que .. debsn pasa r como pa rametJ'OS al procedimiento e
indiquelos em'" del nomb", del procedimie<Tto,
_ en eI ca50 de una funci6n, t!'S "",..,'orio, IndiQue el tipo del devuello
d"""...es de II palabra clIVe As ,
_ red",,!e el c6di80 que permita e!ectuar la OJ)E!raci60 Si es necesario,
use Exit Sub 0 Exit FuJlClion para salir del procedimiento_ En el ca50 de una
IuJ'ICi60, asigne eI resultildo al nombte de la luoci6n,
- final;:;e el proc:edimiel1lo con End Sub 0 End function .
6. A(cance de los procedlmientos
1 alcance de un pRJCedimiel1to delermirlllil exlensiOO de $U u5O.
Un procedi miento Public puede ... r lIamado ciesde todos kH; m6dulos de tod"" los
proyectos Excel.
VBA Excel 2007
I
i
,


!

Et lengu,* VBA
UM procedimierrto PrfIIlte soIal1ll!11!e poede "". lIamado <ies<ie 00 procedimierrto
de!ltro del mlsmo mOdulo.
La palabn clave Static Indica que las locales del procedimiento son maM
!enidas !I1tft! un lIamado y OIro.
SI no se indica PlJllIic 0 Private 0 Friend, los procldlmlentos son p(lbllcos por
- .
7. ArgumentO$ de los procedlmientos
Los IrglllTlenros se usan pa'. I,.nsteri. a los procedimien\tl$ panlmetr05 en forma
de diHos. La cantidad "gumemos poede varia. 0 a va.ios.
Pala dIar!lf un arJtOO1ento, baSla esj)eCHicaf su roombl'e. Sin embargo, Ia sintal<is
completa para deda.a. un I fJlul1lI!11lo es la siguiente:
[Optlon$ol] (ByVa l I Byret] (param.>.rray)
(A.. type)
La OI)Ci6n Optional
La OI)Ci6n Byval
La ol)Ci6n Byref
(opci6n par deleclo)
La palabra el .......
p.r&mA.rray
indica q..e el afJIumenlo es optional y puede omitirs.e.
Los a rgumenlos OjlCionales deben ub4cars.e I I final de II
liSla de .rglJl1lI!11t(lS, y se< de tipo V,riIo"'-
indica que eI afJIumento se pMII por vailii'. EI procedi.
mienlo accede una copia de Ia variollle, su vailii' ini
cial no se roodnica pol eI procedim;eolo al que se io
"".
Indica que el a!iumel1lo se pasa par refereneia, En este
caso, eI procedimienlo poede acceder I 11 variable pro-
pill1ll!11te dicha, de esta manefa, !oil valor real puede ser
modff;cado por el procedimiento al que 10 pMII.
se usa ilnicamel1le como ultimo argumento de I. 1,,1.
par. Indicar q..e se Irala de una matriz opcioo&l de ele-
mentos de tlpo V.riIom. Iio puede usars.e coo tas pala
bras cliM! Syvai. ByRe t " Optional.
l'Tog.ilmar en Excel: Macros y lengua)e VBA
capitulo 2
Vari a ble
e!.pedica el del . 'goolenlo. Pala las variables
de matnl, 00 e!.pecifical su dimensioo.
""I"!cilica el ti po de datos argumento pasac10 al PfO"
ce<limiento (Byte, Boolean, Inteter, l.ont: , etc.).
8. Ariumentos ton nombre
EI pasale de 8fl1Umemos a un PI......"t im .... tn oegiIn su ooden de aparici6n es a
veces dijH:il de reahzar, especial mente wardo hwy p"I.1melrm opciol\lles. De Ia
misma k>tma. I. de los 11...,00"" procedim .... tos con muchos par'me-
II"" 00 loiempre e!. l.kit.
Los 8fl1umenlos con oomble f...::ilil.an el pasaje de . 'gOOlent"" gl"'::ias a las loiguieo-
"" ventajas,
- Ofden de 105 argume<1tos con nomb", 00 es importante.
- 105 argurnentos "!'Cionales pueden omitirse.
La de los argumentos con oomb' ...... ,
lIomArg , _ valor

EI silluieme c6dil/O V8A,
It MogBoKl ' ,""'" ... lir 4. I. _
.DY.oKo vbQu<o ocion. de vent .. " ) " vl;>y "fh<In
Appl l ootlon .Quit
-"
If _Box IP,,,-c , . ',OOOU lIr "" 10 opllooci001"
"0<0.''''''' .. "0 ' v!>Qu c lon. _
Tltl., . o","o"Oo ... ve., .. O, vb.u "'.n
"WI le.' iQn.Qult
If
I

,
!
i


If ...... ""Do ... .. Ii< 4e la .pl!cocI6nl",
<10 _
Bu<tono , . vtlYo"'o vb(juU tlonl vbY .. ThO"
.>.wHeat Ion ,Quit
."" II
EI Iel'l9uaje VBA
o EI nombre de los a,gymentos aparece aUlomal;camente en eI enlo<no VBE a
medida se !!SClibe la illSl ruc:ci6n, Los argumentos opciooales aparecen en
tre corchetes.
9, Uamar a un proce<:l imiento
Simaxls
1<: .. 111 NomProc (lhU de .. rgumento&1
5i se indica la palab,a clave call, debe coIoca, la lisla de aJ8umentos entre
parbltesis,
-) Para aimaceflll' eI resulla<lo de una lunci6<1 en una variable, U$t! la $iguiet1te
sintaxis,
<v .. d .. ble> NOIIIPr OC 1 (lht .. de argum.mto&1 J
-) Para lIamar a un procedimienlo doe OlIO m6dulo, la siguienle sintaxis:
NomM6dulo.NomProcedimi ento
capitulo 2
Ejemp/o
I TllI oWorlll><>O . sal I r _ lop II
-) Para lIamar a un procedimle!lto de otro libro, use la siguiente sinlaxis:
"NomLibro !NomM6dulo.
NomProcedi ",lento'
o ejecular este comando, libto Ve<1\nds debe es\lIr
lO.Llamar a una fuocion VBA en una formula Excel
LotS luncioroes VBA pueden uSiISe e<1 las i6mlulas xceI. Todas t.s lunciooes decla
rooas en Publle estan disponibles en e-I para funciones de xceI (categQria
Funcio"u Definlda. par eI ...... rio).
Ep.mp/o
Este ejemp/o uSl una fuoci6n VBA "U<'! calculI! /11 edlKl rJe una persooll II parti,
de su fecha de nacimiento.
' ,,,,,,<lQn COl oE(\.Id lh" ...... o .... ""tel
01. ,FO<:M .... on
. ".1=1 ... _ ... ,,,,,,,1601 "" I. !.., ....... "-0""_=
loboIOl.teOlrf ' "UU' . h"MNao. oatell
" . OM " OI.leMdl "YYYY' . calo.clad. (""MN''''
1/ n oon. , 01.<0 "'en _ ".10_ 4 . 1
EM ""'o"on
-) Para Y$II, esta runci6n e<1 xceI :
- Seleccione la opciOn Insert .. funci6n de II lieN FOI"mulu
I

t

!
I

El lengu3}e VBA
En el cuadro de InHflat funcl6n , en la Hsta 0 seleccione una Cllielorfa,
elija OeIInldiS pot tI usuaoo; la /uoci6n CakEdad BOOr! aocesible,
'-"" '".",".
, .... "" ..... - , ..
,'"''' ',-"''''
,

_ ............. 1 __ 1[.-.
- Seleccione la /uoci6n y haga elk en Aeepta. ; el cuadro de Ie pedi ,-' los
argumenlos de la /uoci6n como se ve aqui:
. "
.......... """'"

o Este ejemplo muest'a la importaocia del nombre de los 8rgumentos de las
luociooes, cuanto e. plicitos .... " e.tO$, sem usa' la funci6n en
E<O.
Capitulo 2
Ahora puede la f6rmula para Inclui r el te.to "alios" y extender la f6rmula
a tooa la tisla,
EI resuHado en Excel es eI siguien\e;
,
,
we
I '
'.

- -

-
- -
.. -
lleEjemplos de procedimientos y funciones
Copiar e/ contenido 00 una tabla de en la hoja de beel aCliva,
Sub Mootru Tob1011
01. ToW.1 Vorlont
01. <:01"" ...... ngo
0 1. I .... Int"'lU
, ....... n .1 COII cIo 10 .011)0 I . boj . 440 oetlo
Array( """." 010 ", 1.2" , ". " 1>12 " , ".A,,.12" 1
Porj.O:ro,
Set <:01<1& " u....,.' "." , j " 11
U ...,.11(<:01<10, ".bv.I(111 ""on
>< ... _ "w cold . .. octu.II,O CQn h lte"
,,-
lUg"'" "w c.ld> no pu<le oct uol1<&< "
"
Next I
in<! Sub
o EI c6digo de ejemplClS debe escritlirse en un m6dulo estaMar 0 en el
m6dulo Thi.W""kbook.
VBA, Excel 2007
EI lenguaje VBA
funci6n infrx'rN sabre el valol a5i8nNo a una Devuelw! rrue si /a
se Ktwliz6 COfII!C!.tmeme, y raise 1M easo conua,io.
Print. ""''''iQn _
valor ... Variant) ... Bool ... n
, A . . ... U ..... 60. ... """ eel'" ,..r . .. <Ie ....... lor
IlCell . ....
U ""t ... ) nen h! t runet l on
OOI .... v.lue v. l o<
If COI .... <> n.n
10(;.11 T",.
In<! If
In<! runetl""
- ) Si proer,., este ejemplo. obtendra el siguiente resultllOo:
I:!:I t ...... .J1 ...

1 laueuro;
,
""
, .



. ,YAlOR!
ll.m
,
La tert:e<"a celda 00 se pudo actuali:ar.
C. Variables
I
I
Las permlten almacenar valores Intermedios la elecuclOn del c6d1
go VBA para lueeo en clk:ulos. comparillCiones. pruebls ...
, Las se idenMican par un nombrt que permlte hillCer relefencil al valof
que y un tlpo que determina la mrluraleza de los datos qllt
almacenar.
!
!

capitulo 2
I . Tipos de variable5
Decimal
Ranco
+/.79228162 514 264 337 593
335 sin 5eparaOo< decimal;
+"' ,922816251 4264337593543950335
con 28 a la detecIIa
decimal , menor n(rrnero dislinto de r;etO O!'S

12
VilA Excel 2007
EI lenguaje VBA
Cadefys de caractel'H
EI lipo es SlrI".. ExiSlen des lipos de c:adenas,
las cadeJ\lls de Iongilud variable poeden eonle-ner aj'lf(lximadame<11e dos mil
milio<le$ de earactWlS.
Las clldell!lS de Iongilud liia poeOen eonlene' de I a 64 Kb de
carod"' .....
fiffllplo
440 1"",,1004 .. lolIlo
01. """-1011 10 A. 5lng
e ...... 440 1"""10 .... til. ,,0 o .oc ..... 1
01 . H, .. , oro ... St ring ' 20
Boolean 0 I6Jjca
EI es Boolean. La variable puede tomar Kls valares True (Verolldero) 0 False
(Falso), que es su valor por delecto. Ocupa des bytes.
Fecha
Ellipo es Oat . La vanable puede tomar Kls valores de techa y de hora dej primero
de eoero del al'lo 100 al 31 de diciembfe de 9999. Ocupa ocho bytes.
Variant
I
Las v.,Iables de V.'''nt poeden oon_, datos de todo de los
valores espedales Empty. Em>r y Null .
.. Usar el tipo de dalO Va,ian! Dlrece mik ffexibjlidad en eI trotamiento de datos. Por
! ejemplo, sj una variable de tipo Varian! oontieoe se puede usar su valor real
:t! 0 su en forma de cadena. seg.jn el eontexto.
I
I


programar en Excel: Macros y lellguaje VBA
capitulo 2
De looas Iormas, las de lipo Vafian\ <eQuie<en 16 bytes de memona para
numeros y 22 bytes + la Iongilud de I. cadena pafll los CII rac\eres, est<> plN!de _
en el co", de pfOCf:dimientos lo'gos 0 en m6dulos CQmJIlejos.

'_'and'" ... ,. n."''''' 'Vab' ..., VA . ......
01. vol x A4 v i.ot
........ db do ...... ...... do "'0'" 0 10 Yo""""
'y , tlpo d. l r ul do
',0 do '
v.lx _ '0
I<09IIOx Vab I; "" tlpo I; "",",,,,, ... (vohl
do a i DJ
vdo ' aje,,!,'o
" 09'1000 "oh ' eo M tip<>
' to _ltlpU . a 4I> do IIOIolIh
vah . 12S00.n lE.ll
><ogIlOX v.h COO Up<> T'yp<>"" ... (Vob l
"'/1/' " do na
val n ll/'"
><oglOoo v.1x COO ,i po f'yp<oK .... W.1z1
' T .... do """', . ....
v.h T",.
><ogl>OX v.h . . .. tip<> I'YPO"" ... (Valx l
Objeto
EI lipo es Object. P. r. c ... uno variaW. q"" rontenga 00 011;"10, cornie""" par
declo,o, 10 variable corro:> Objelo y 1""80 00 objeto .
) Pa,a 6ec1ll ,a, una vari&bie Objeto:
51 el lipo de oIIjeto M se conoce, use la sinlaxis:
Inatrucct6nDeDecl aracl6n NomVariaol e A. Obj.ct
51 se conoce el lipo de objeto, use III sintallis:
In.trucc!6nOeDecla.ac16n NomVa.iaOle A. TipoO"j.'a
VBA Excel 2007
I
"

,
!
I
"
Ejemp/o
Sub Vnlobl ... ooj.to(1
n 40<:1 ... oI>j.<o
'...,,11 dee, .... _ .... j .... ct'.u,g
....... 40<:1 ... <.., ....
0 .... ooj.ct
t>l. NC-::lI .... IIOrk. h ...
0' .... onort
Md
El lengua)e VBA
-) Para asignarle un objeto a Ullll Objeto. use la instructiOn Set :
Set NomVariable
Dedaraci6n de u"" variable ZonaTest a conle".., un objeto Range y
asisnaci6n de 1.0. relda. A6. 815 a est. variable:
-) Para iillll jii'M ta asoc;aeicln entre una y un objeto <ieterminado. "'" II
!Jguiente sintaxis:
Sot N"""Variable Nothing
Detinido pot el uwario (0 p!<$OIl3lizadol
Los tipos de datos pI!l1;onalizados se ctean con la instrucx:i6n Type u\ad. a ni",,1
de mOdukl.
Sintuls
Type NOOOTl poPeno
NOtIll!letoentol ... TipoOa to
NOOdI_nto . ... TlpoOatoo
La rlefinici6n del tipo $Olame!1w hac<!f';e en la secci6n de decloradon de un
mOdulo.
p:"""' ,,:m:, =,C,=, " ",=,,,:c-,
capitulo 2
fjemplo
Declarac;oo de un tipo pe"""",lilltlio cOilstiluido per una y un numero en/eo-
ro 1m el m6dulo de r;6diflO .
.. "P<' 0<<00"",,_ <O ...
P<" "'" y uo ..... 0 nt .. O
TyP'
.. . ",.." . ,
M_.o" I.t .....
Usc del lipo pe"""",lizado contro/M Ioz r;6digos de inlrodocidos de
I. celda 86 la cekkl 811 de /a /toja de cSlculo ;teli.a. En caso de error. $I!
m/Jt'stra un meflSiIlje.
", "'_T .. , .. .
,,_ 0.11 ... ....
Co."o', , _'OO' .""""' ... ,,_
.. , " .. T, .. - _ ," .. ,1,, ",
"" .0. OOTo ." .. "
' 0 ..... C.ll I. "'_T ,
''''''''.L."." <01'., ......... (1 . tI .... ,
CodJz ...... TO " ... t ", .T ,
, ... t
"" ....
P,-oo ... " .... "' ... _",." ..... ......... .
1<,",, "
COil ."" "
_ "<""00 " "".'" .0<." ..... - <011
... -,
VBA Excel 2007
I
i
,


I

EI lenguaje V6A
2. DeclaraclOn de variables
Para crear una vMi!ble, debe declararla, e'5 decir, dane un nombre. Luego puede
usar ese nombre valor de la variable, usar ese valor, etc.
La declaraciOO de en VBA puede ser implfcita Q expl icit .
i . DeclaraciQI1e$ implleltas
Se hace!1 directamenle al aslgna! un valor a un nombre de vafi.a ble. EI tipo de
dal<>s !I,d entonces tipo po< defeclo. 0 sea, Variant.
Ejemplo
b. Declaraciooes expifcitas
Requieren ,,111$0 de Una iO$truccl6n M declaraclOn (Dim, Public, Private, ele.). Si
el ti po de I. variable no se indica. 18 variable resultara del tipo PO' delecto. 0 sea,
Variant .
Se poo:.le impooer La decla,aci6n Implicita de u .. ndo II! inslrucci6n Dp-
!ian en la secciOO de dec la<aci6n de cada m6dukl. Para inserta r esta ins-
trucci6n autom!ticafTllll1te en cada nue'o'O m6dukl, act"", la opci6n Requerir declo
rac:i6n de va,labin del menu Hlfr.miflrtn 0pcI0nes ficha Editor.
Ej!mpk>
1>1. ,
. ,iv" . Ao Doobl o
OUblie Noob'8 St ring
Programar en Excel: Macros y teoglJilje 'ISA
"
capitulo 2
o Para opIimila, la vekM;idad de del c6digo VBA, SO'! recoOilienda decla-
rar la. variables en forma expiicita,
c. Sintui5 de las instrucclones de declaraciOn
<Innrucci6ndeDeclar aci6n> Nomvarhbl" lAs <Tlpod"Da.tos
I)onde ln6truccl6ndao..cla racl6n cooesponcle a una <Ie la. sigui<mles CUll_
1m In5tlllc<:iooes: Di .. , Public, Prlvat" 0 Static,
Di m
Public
Stati c
las variables declaradas con I. Instrucci6n Dim . nr..! de m6dulo
esth disponibles para todos los procedimienlos del m6dulo. No ""n
accesibles desde ningun o\fI:I m6dulo,
Las vanables declaradas con I. in<olrucci6n Di m I nlvel de pooeedl-
mitmo solamente esLln dispooibtes dentfl:l del procedimiento.
SoIamente I "",III de m6dWo. LIOS private ""amente
..sLln diSj'lOOibtes para el m6dulo en el Que son dec!aradas.
SoIamente a niffi de on6dulo, Las variables declaradas con I .. i .....
\fllCCOO Public son accesibles desde eI conjunto de m6duios de
todos los abiertos.
Si la inSIrucci6n Option Private Module SO'! especifica en Ia
se<;<;i6n de <led. raciOn del m6dulo, las variables soIamenle son
pUblicas denim del jlIOyeCto Que ias recibe.
SoI"mente nlYel de procfdimiento. las v ... iables decia radas con
la in$lfUC(:i6n Stat i c con""",. n su valor durante toda I. dlll'aei6n
de I .. l'jecociOn del c6digo.
VBA Excel 2007
I

3. Oe<:laraciOn de los lipos de variables
i. Detlaraciones expllcitas del tipo
EI lenguaje VBA
Ellipo de Ia variable se especiflClll'fl la declafilCi6n. If as Ia palabra claw As.
Ejemplo
Sub 1'OuIAcWl"
oj . Tota l a. Int_r
Sta tio "0"" 'nt .... e<
1'<>tol Totol 10
A<:"", .cu. . 10
"""".h 0 on c ..... j""",60 "". procodlaianto
_BoX Total
"" .... h. '0 on 10 p. J_.o .j""""J60. luogo og"lftd. VOl.
')0 10 tueo . oto.
_BoX AcWI
.".. Sub
OUsted puede declar3r mas de ,m3 variable en uOI misma instrucciOO ""ro.
alenti6n. el de dalClS soIamenie ser' ienido en cuenta para la ultima varia
bIe. el tipo Variant se a las OOas.
Ei!mplo
u siguiente instrucci6n flee/ara /a van"able !dentifjC<tdor de /ipe Variant y 1.1$
variables Superficie y uUtud de tipo en/em.
01a ',,"ntHl co"",. SuperUch
pia LotltU<! AM .....
b. Detlaraciones Implfcitas del tipo
. , 1 tipo de variable se declara po< '" uS(! de un wlijo l'fl '" momento de SIJ uli liza
ci6n 0 po< Ii lostrucclOO OeIType.
!
!

capitulo 2
Empleo lie un sufjjo
Usted debe agregar uno de los siguientes carllCteres . 1 nombre de la variable,
fiemp/o
DecI.,.la varial>/e como tipo eadeM (Suing).
DeciMa fa como /ipo I./onelario (Currency).
DefType
E.tas instruccOones se emplean en I. ZOM de declarad6n del m6dulo par. definir
los tipos de datOl5 po.- dMecto de variables cU)'OS nombtes comienan por 1015
ca' lICte<es especificaOOs.
Lista de jnstruccior.es o..tType,
In5lruccioln Ti!lO de datos
""-
Boolean
""D.
00"",
Oefi nt
Intege(
OefOate
Oate
"'''-
t ..
VBA Excel 2007
I
EI lengl.!<!le V6A
InstruW6n Tipo de datos
""""
Strin&
'"""'
,"""",
"""
Object
""'"
Sing1e
[>N"
Vllfiant
""",.
By"
fjempio
Tod.1s IllS CU)'OS nombres comienl"n par una /erra "ntre I y
K Y par lit letflJ N son variables * tip<) entem (Imeger).
IDennt
Las que comienzan pot una IetIa comprendida enlf!! A y H de tipe
cadena (Stri ng!.
...
4. Matrices
Usted puede crear UJII variable malnz cuando ne<:e!.ite Ifat>l!jar con un grupo de
valotes ,elaciooados .
) Para CIN' una variable rnatriz, use II s<guiente slntaxis;
.. - Si SO! omite este argumento: ta mat/iz dimeosi6n libre.

,
!
I

- $1 se Indica un VIIIOI': lit matnz un nilmem deltrminado de elementos.
- $1 S!! too"a LimitUnf To Li mi t .. Sup' II maw
dete<mlnados y numer<)S de Indice
Po, deleclO, eI melIOr valo, dellndice de una rnatriz es O .
un numero de
Capitulo 2
-) Para rTl(Mjnicl' el menor valor del indice. use instnocci6f> OptiOA h ..
l4 .. no.-Val odndic .. en la se<;ci6n de declamci6n del m6dulo 0 use ';n-
taxis Li mit e In! To Llmlte Sup en el argumento CiDdicul .
- ) Para deIi"';r el coni""",,, de """ malrit. u ... la !uocl6n Array (ta variable debe
... r una tabla doe dimensi6n tibre) 0 desjlIie8ue los datos en una hojI 0 asigroe
u"," por una cada variable de la matril lJSIIndo 1m. indices_

EI siRuiente .. jemplo m,,",.tl<l. en III hoill lIetiva de bal. /11 listll de Iw l:foIes
de co .. ",ers;oo II eufOS para cinco palses.
="
Yae ....
-
.. ..

Yoe"".
-
..

'.etlU<
-
.. USf)
-,
.ael!.iP
-
,,, -),,

'aci TL
-
"".>7
Sub Mu t,o_ . oetocll
0 1 0 1. ,.. vorlont
0 1. hct o,!!1 ... l>oublo
D1. I "" l onger
I.'a ... pOlo ..
01 I' o.one 10 ' . ... 19ICO . "I .... n l. .
e ........ <taU. )

Ll .t . ... lGO facto


. 0ctor101
-
f oel'l"
'Oetor III
-
" ou ,
. 00tor121
-
' oeO,,",
' torlll
-

c t orl . ,
-
' oo.n
....... 10. "d y , ..,"' ...... I . bol a ... elleu! o "'.0
'o.I To .
Wltl> SIo"" .. ( ' suro'l
_Ce ll .11 I. II , .,11
. collall 1. ,1 " t ortll
Dld o lth
Nut I
VBA h eel 2007
EI !engl,lil!e VBA
En este ejemplo, l'S iiwlmente posIble uSilI una maln'z de dos indices. EI c;(JdiB"
VBA del procedimiento Queda como sigUf!:
~ "" .. 0] ''''0<2
... rlo ... 40. 10>4'<u
0._ toOfacto<IS, II
01. i Ao Integer
L ... .... pol y . ~ . foo<or
r.bFao<IO,
"

Franei.
Ta b'aotorlO,
"

' .c"'"
r . bPoetor II .
"

Sflgico
t&bFacto< II.
"

Foe BS'
Tab. acto<I' ,
"
"I ..... Ia
T.b'octo<I',
"

'.00""
r.bPoorll.
"
EOp' ''''
r obFaetorll.
"

Fael SP
Tob'.ctor 1<,
"

'''alla"
t oO eeorI4,
"

<ITL
, JO.. ..... I"" p ..... Y .... he.oroo _ 1 ..... , ..... Uodo au. ...
Po.i.OTo '
o l<h s./l ..... l" au<O'1
.Colloll I, .1 TobF. o,o<lI. 01
. ".,noll I, 2) _ TOb, .o<II , '1
Cn(I WIth
He xt j
5. Constantes
Una constante pefmite asignar .m oombre explk:ito a un valof.
I a. Constanles pel50llalizadas
~

,
!
-

La Oedlraci6n de una coos.tante se hila! con la inslluCCiOO Cons! en Ie !il!CCilln de
dedaraci6n de un l'I16dulo 0 un p..xe:i;mief1to.
Cilp!tuio 2
A. TipoDatQ
el tipo de datos ..., puede .... un objeto (Obj..,!) ni un
tipo pelSOl1alizaoo (Type),
..., puede ser yna de!inida pol' eI usuano, !Ii una
funci6n intrioseca Oe Visual Basic.
fi!mplo
Oe<;lamcm de COlIS/antes,
SUI> <:0 .... 00.000
COruot VaU _ ' ...... . "
c.".... _ IU
C<><>at VoU ns.os
'II tlpo 440 440 .... . . _ 1.
<:ono. voU .... single ..... "
' ...i ...., .... _ .. .
CO.ot Vo" VOl' V.H
CoIlo. VoU Voll cu .. to VoU
'1)_10 4. O><Ioo .... to ..,
'Po. .1 4. woo lune141> "-
"".0. VoU 1. 1VoU I
. n<! ..... b
Para Clear una COO$llnte accesible II conjUJ1to de los hbros, se la debe deciarar Offi
secd6n Oe Oeclar",ilIn de un m6dulo y \lbicar III iJlStrocci6n Public anleS de la
j",lrucci6n Canst.
b. ConstaJlte$ Inte&radas
Las constantes usadas 1"" los objetos Microsolt UceI va n prece;:lidas par tas W!t,as
V; las constantes usadas con otrllS instrucciones y funciorles Visual Basic Y;t!1
precedidas Po' las tetras 'vb', y las consIlntes Microsoft Of1ice van precedidas P'"
las letras "mso' .
_) Plf" mo5tflf I. li$la de constantes integradas , Ibra eI ..... minado' de objetos
COO \If1 clic Offi el icono 0 puls.1lldo II tecla de lunci6n (F2). Escritl!l II
palabrl Con$tants Offi la lisla de$plegable Texta de bUsqueda Y luego Mga die
en el ieooo 1" 1,
VBA Exc.e! 2007
I
i
,
!
!
-

EI lenguaje VBA
4) Para obIene, III IiSla de constantes Visual Basic, i>'OCf!d! de la si8uiente mane<a:
- 18 ayuda de Visual Basic pol medio del Ic:ono
he,ramientas Est.indl f 0 de la tecla IFl],
de III barra de
- Escriba la palabrll 'Constantes' en la zooa de b<.isqlleda y haga elie en eI
botoo 8 USQf:

'0
;jo"' . " - - .
'-_. -
........ _ .. 4
--:."_'. __ 01"' . _ .. -
.. __ .. _-
0 ..... , ' ..
-


Programar en Excel: Macros y ienguaje VBA
capitulo 2
y lisla de constantes clasWcadas pot" tipo ahor. accesible,
- . .
-.. .... . ... --' - ,"OI',,"" _. _'*_
__ .. .....- ... , ....... "n., ,_
"'_ ........ __ ........ '-.. ......
,_ .. ' COl''''',,)
, , ", ... , ...... ,
<",,""'It .. -: .. ,,,,,.
<",,",It ..
'Oro'","" IP"I ' .. _
, W'"'' """'.',;-
C
r
" ,,, .. .... _"
D. Estructuras de decision
Es conveniente testear las condiciones antes de ejecuta' las iJ'l5tJUC'
dolle'S.
Las estJOCluras de decisi6n, lIamadas altemativas 0 bifufCaCiorres condicjo.
permlte<1, uas una evaluacl6n, optar PO' uno u OIJO bloque de cOdigo,
Se distinguen <los i",trucciorres de bijur<:aci6n condicionaj,
11 77 , The<1 "Else
$eject 77' Case
o La fuocl6n III tambiel1 pvecIe usaJSe para delini. un valor en fuoci6n <.Ie una
ro :Hci6n, Ejemplo. Port _ IIf(Cantidad < 100,100,0),
VBA Exc:el 2007
I

t

!
I


EI !enguaje VBA
1. Instrucci6n IF
Pefmfte ejecutal ciertas instrucciooes en IUl1(:i60 del result.Jdo de Url!I condiciOO.
-+ If ... Then
If ",condi ci6n. n ... <inn rucc16n. [: "lnatrucci6n. ]
Si hay varills instrucciooes. seperelos po. el sign<> 0. pontUollCi6n : (dos pontos).
uta sintaxis se usa especielmoote pa collas y simples.
Ejt;mplo
SI re/da AJ esta vacia. emita un bip y m ..... st'" un mer>Sllje.
SUb f'ut_Celdo_.\l O
" Tboo ... p: 'olvi46 01

-+ If.,.Then .. ,End If
If <condici6n. Th."
"in.trucci6nl.
dnatruccl6n2.
Ejemplo
' II ,. c ..... J.l ...... d .., ..
'_too.c _or1. 00 ....... , . r plDurl. <So <0'0
11 Not noon
With l<&ngO( ' ''' " '
.font . OooI<l . Tru.
,
1M Wit"
."" If
Cl pitulo 2
-+ 1f ... Then ... EIMl ... End If
It <condlci6n> n."
.1natrucclone
1.
inatrucciones>
- "
fjemplo
AI cambia, la moneda feura 0 USS) de CJ. modiliu, el formato del
rango D6,fI 1.
O"vo $"" "", __ Sh 8h A. Obj.ct.
"yVal ...... ,.,..!
-..u 10 '.'''' cl ... 10 .... j . .... """'0.
" Sh . ...... _ ... """10. ...... To",.<.Addrt .. _ "'on
Apllc>,.'Q ... '"
Bnd rf
on<! sub
(.Ie pfflCf'dimienlo modifica el formato de reldas en /unci6n de l a monedll
elegida.
au;, .... lIcuJ"' ... t"'lI
....... oo,
""'1" p o. , PH" ! . NUOober' Qnuoo '0 _ 00'
II ueo I ........ ("Cl,' "IMOO' Th.n
lI.1ot>go, ' o. , 'll'I.W_"",,,,n _ ' 0.00 ,
1 .. _
"'<>90"0., ' "'1.""_""""", _ '0.00" , ...
. .... If

I
i
,

I
I

-+ If ... Then ... ElseIf ... Else ... End If
If <condlci6n. Th.,
dn.uuccloneo.
a l lf <condJcI6n. Tho"
<in.trucci on ...
a l If <condlci6n. Then
<lnnr uccl oneo.
n ..
<In.truccionu.
-"
f/!mplo
EI ler.gllaje VBA
[Sle proc..dimiento modifica /os teJtf05 de las ..,lf1ccionadas. >i Ia ultima
letra es uN minuscula, pasa todo a mayUscula.; sl 00, todu a mi"';sculas
can primera Iflt". en mayuscula.
Sub "'",,0 NI""o(l
Ule 001""' .0 "'"go
1>1. CodAocii M $trlng
O..,or.o I .. .,.Id.ao d.a 1 01..,016.1
. or "'e" col ... In s81oeU""
If 10Enptyl".I,,",1 Thon
. up
"'glox "(..o col ... . .. Col ""' . """" ... " eO<' vocla-
<>WIll<' AO,,11 d.a I. G1H ... 10
CodAocU '"
II " on
" CMMcli >_ " An<! CMAocU <_ . 0 Then
" . I,,",.Valuo _ 00 1(..0"1001,,",. 111
,""" 101ght l".I<1.1o , Lon l".',,",1 III
U _ ,",,,,,.,,da
il If CodA.ell >_ And OodAocll
Cold . v.lu. " uc., .(OOI,,",'
010
- -I .
capitulo 2
. . I .
I n<! If
.nII 11
.m
Sui>
"'gBoK 'Il <Ie h "
<:01 ... . _< ... .. "" .. u .... lotr.
2. InstrucciOn Select Case
-+ Select elSe
Ejecula una secuencia doe lostrucciorles en funci6n doe una
expresi6n.
a.l.ct Ca
Ca <Lht aExpr"don".>

Cu. <LiUaExpns ionu>
<instruccionn>
Cu. n
innruccionn>
End S.L.cc
< L lstaExpru ionn > puede toma. "IWI doe la igu;"nl"" ro.mos,
- valor C .. 10)
- lista doe (ejemplo: Case 1. 5. 10)
- .aoflO doe v"lores (ejen1pk>: Case I To 5)
- expres;on (ejemplo, I _ 5)
I

,
!
I
,

fjempkl
Uamado a un procedimienfo qllfl rJetermina la f6rmula de d/culo del Imal ell
/unciOn de la cantidad, del plf!cio 1 del flete.
... ""b COle.To'alll
01_ .. " .
01_ c.n ...... ...,.
.... I. 'UDc,60 uoOD6o oa.o pa.'--<'o,
, , ..... ""t ...... 0 .lOu
"'''9.1 ' 02' Totol Il<&ngo 1' .\2' 1. """9.1'8,2'1. """90( ' .2' ).

La funci6r! Tma! dewelve U/1a f6111wla b.w. EI/lete es gr8iui/O a pallil de doll
unidades ofllenM1as. el porct!I1taje de descuenlo tambien depende de /a call1idad
ordeMda.
"",Ion Totall _COnt ....... ,...., ... 'oelo .... ... ,;g. In ....
'" n.!"",
l>O'onllo .c:I61I 40 10 .6 .... 1. do .Uculo dol tot.,
.... "",, 1611 <10 I ." .. <Iod o. dOA04o
S.loc' CO Con'
w.
,
Tot.l
-
-- -

.... c.o.""" ....

---

" '0 . """reo.
CO .. 2 ..
Tot. ,
-
-- -

COnt
. """re ..
---

zPrec'o ."""r
..
"

,.,
Total
----
_Cut
,Md""

---

tProc10 . """ .....
..
.,.
To 1000
--

Toul ' . ' ..... , .... . do.Md, ... ... o. j '
co 11M
Totol 'O<TOr en I ntidood
I ,
y
Y'
capitulo 2
E. Estructuras en cicio
Las estructl.ll'as en ciclos (0 repetit;"'as) ta ejecuciOO de un ""nJull-
to de instrucciones.
Se distinguen varios tipos de estruciuras eo cicio:
- Do ... Loop
_ Whi ..... Wend
For ... Nen
For Each ... N&!
Oo loop y WlMlt .. W.-nd repiten I.l!; opefaciooes en fimci6n de una ciertIJ coodi-
0;;60. mientras qt>e For .. Nen las operaciooes una CMtidad de wces dada
po< un contador.
For Each ... Ne" permi'" recmret los de una colecciOO.
I. InstrucciOn Do . loop
Ejecuta un bloqt>e de instrucciooes un numero indetl!<"miniklo de YeCeS.
Slntnl1 1
Las Instrucciones se ejecutan mient.as qt>e Ia coodici6n <!evuI!1ve el volo< True.
Do 1Il>1h <Cond idOn>
<In.trucclone. >
Slnta.is 2
Us instnlC(:iones se ejecutan uM primera WI sin cooclicoo y l..ego mient.tas la
condici6n deweN8 true.
<InBt rucci one8>
Loop nih <Cond1c16n>
EI !engu.,je '1SA
fl silluientr c6dil/O selicitl " IISUIrio que escfibl un rmmero qve el
v,/or i ntroducido 00 se.t oomhico 0 superiOf I 100.
SuD Int ro<lucl._ ....... " (I
1>1 . ... Rap

",< p _ un n1lDe> > ' 00'1
Loop ""Il. ( NQt I .......... lcl ... """pl O .... Mop 1001

Sintuls 3
inotrucciones 51! ejecutan hasta que II condieiOn tornI el vakl, True (mlentras
Que II condicicln devuelva el vakl, FaJse).
Do I1ntil <Conc:\1c16n>

-
4
InstnlCCiones se ejecwn '-"'1/1 primefll IIl'Z condici6n y lueeo IIasta que Ia
condici6n devue/lla el valor True.
<l nnruccionu >
Loop Until <Condici6n>
"""""
I fl $Il1uieme c6dil/O selici ta .1 uwa,io qo.oe esr:f itu un numelll ","sta que ,I v,1or
inrroducido se.t nu""rK.o 1 ""'YO< que JOO.
i

,
!
-

'''Rep' Input_ , " ,ntl'Odu.ca un nQooorQ '00"
Loop ""til U ..... _rlel . t<R.pl Mel .Rap 100)

"
capitulo 2
2 . n$trucciOn While . Wend
Ejecut. una _ .. imtrll'Xiones en un cicio mieiltras 5e cumple COI'IdiciOn
e5jlf!Cificada.
Sintuil
1Ib1h <condiciOn>
< inst ruccion".>
Ejemplo
I..,
pld. , . 6e .... p ..,10 al.., . ... ""
... yaelo 0 1...,0 .... 00
""U. lOhpty,"'ngo,'C' "!1 0 < Mo. "' ....... <10' ...
... _,C,j . ,.,.,..c""",'"'ntroo...co .1 p do d.1 pTOdue<o ,


3. InstrucciOn For ... Nen
Ejet;u!a un bloque in'ltrucciones seglin el valor de .... cootador.
Po. <contado.>.<inicio> To .fin> [S t a p <incremento>'
.inHruccioneu
Eio/nplo
E.!e /0:; err Uf18 malriz <k rrlSlJl""*,,
.. el ptr>e:Wii miento elimina Jo, toMle .; yd /0:; ""biB.
hb 10<.leo T" .. o"" e ol)
01. nt .,.;U 'nt .... er
DI ;u .ntogo.
oj. cold ...... . . . I . . .
VBA Excel 2007
I
i

!
!
,
,
.. / . .
' ... ut. I ... total .... 1aM al 0&<1.& I _ ,
1 ... """ .... Dog.". .... "" ....
Trlo I
' 0 _ 1'<> .top
"LoftIOOno I2 . il. <I <> ' Tria' TIle"
CUUU, II _rDt'nCOhu.,, _,n .. <t
C.1l012. II TTl o . "TTI .
nT,' nTrl. I
1.O"9'I',,*11OU. II .:.110( 11, il).So1"",'
EI lenguaje 'lIlA
SOl ""Uon . ' o"",IU1CI ".SI.OII RC I_ I) ,.C 1- 11 I
"'''!/OleelioU. 0, Cellolll, 111 Pont . Bold Tnoe
.or ch celdo. In Ronge(ColloI2. 11 . Cell.lll, III
c.l<1o.!IOIoo.J'.r<>und color'ndo. "', Wd9ht, . d 1M"
"
"'''90' '''' ., .Act!
Mext
SUb
sub ""pro_. TO Io TTI ..... n' (I
01. I Ao 'n'egor
, ... .. ....... ra .... 1 yo 100 ..... 1.
'or 1 5 1'<> I'
Mox' I
End Sob
H .... 1'10011.1 . I ), 0 1 ' Tri o' ThO"
Cdlol 2. 11. f:nt j AColu"' .r..t leto
-"
isle prooed,mienl o m ..... stra 1m /a hoja de ca/culo ' Co/eS" las diferMles
de y el va"" de I. prnpillld CAIotIfl<kx eotre'f'Mdienl e.
'ub "" ,<&. co'o ... o
Dl0 , loa '.' ego<
wi t " ..... t .. CO'or .. )
'Or l"' ..

C<ol lOll, 11 _',,d<>< Color lMtx I
Celloli , j
j
1M " i<h
"
capitulo 2
4 . InstrucciOn For Each ... NeIl
Ejecula un bIoque de inslrucciones para c..:Ia clemento de una colecd6n de 00je-
los 0 de una malriz.
1"0r ch In
<Inatruccione. >
Next
iemp/o
Esros procedimientos aplieBn un color de lelra a las ctlldas en funciOO de 5U
conlMido.
Sub Color.o_Coldal)
ola zo" .. ModUlcar "" ""!>go
01 .. cel ... "" """9'1
>.pUc. "" color .... . d.l YAlo .... 10 ul ....
Soot """. __ 'Oico< " bn.,.I .',Qll " )
, ." C.ch Col"," In z"",,_.tico<
S.l.ct Coo. C.I""
" ...
"

1000
" ol"". Po"t
. Color

RGII(".,
" ..
250'
Coo.
"

'"00
Col"". ' ont
. Color

RGII ( '0.
Coo.
"

1000.
Col "" _ 'ont
. Color

..
"

20000
Col"". po,"
, Color

lto,H. ,
COO.
C ...... ,ont , Color
R<II('.
S.l"",t
M
on<;l Sub
Ejecucl6n de varia5 ilCclorles sabre un obteto
With ol>jeto
<lnatruccionea>
with
100, 45.1
... 2So1
...
11S'
, . 100)
.--------------,,"',, "" ,,'-."""';,; 00'"'
I
i

!
I

,

EI lengvaje VBA
do I. bola .o .. u
h. 00."...... Y p.o< ..... COl> I. 1"" ... 161>
Mith .
zl,"""""oo""
Ld ...... rg.n ""pUc.clon . '",,""o-roPoInco I o. SI
_""Uootl"". Inon .. -roOolnU 10. S I
-ro_rgi n AWl leotion. ,noh .. ToOolnto (0. S I
Appl leotlon . lneheo-roPolnt oIO.S)
.LettH .. do<
. .....
. Rlght ode
. L.lt . oo'
. go .p'

En<! Mltn
. col..no( A;O1 .
5. SaUr de las estruduras de control
La inslrucciOO Elilt For pe<mile salir dlrectamenle de un cicio For 0 For Each.
mierrtlllS qlle W 00 sale doe un cicio 00.
Sub Intceduelc Fee .. l)
DI_ ."'101
"' .... 1. do ...... I. ldo U
I . DO lDtroduo. .0'0< 01. do' 0'0'0

00 IIhUo "<" ...... I.1J)
.t<v.l una r.<",, \
I! ... val o Tl"\OfI
I! lOl>Itolotr-v.lJ ""on R01\9'01' .,1 val
"" h it 00
EJld I!
"
capitulo 2
F. Operadores
Los operadores permilen realizar operllCiones aritrMiicas coo variables CI,ltlS!an
tes, comparar variables enlre elias, e.alUlir varias coodiciones, etc.
Se diSll nguen varios lipos de operadores:
- operadores arilmelicos,
- ope<adores de compa rllCi6n,
- oper<ldores OJgicos.
- operadot' de concaleOlICi6n.
o EI oper<ldor de as'gnllCi6n e5 eI "'gna _ . EJ valor de II expresi6n ",hl<ldl a II
derecha del siS"'" iSlial es asiBf'ldo I la variable sltUida a II izquie1da de!
signa (ejemplo, InlA _ 12, InlA _ Intb ' 12).
1. Operadores aritmetiC05
e/eduar dlcuios aritnWicos coo variables y/o constantes.
Operador
I
"'"
\

Adici6n
Suslracci6n
DMsi6n con resultado de un numero COO coma f\ota nte
Resto de la divisi6n entre dos numerus
DMsi6n con entero
Multiplicaci6n
PotencillCi6n
EI ie!!(l tlaje VBA
2. OperiidOfes de comparilciOn
CompllIlIn dos valores (I dos cadenas de
_ ...
Cilculo rtI.liudo
< Menor que
<- Menor (I ISLIiII que
> Ma)Or que
,.
Mayor 0 igual que
-
IgLlilI a
<> Oislinto de
U ino;t'ucd6n Option Comp.1lrtl ulililada a nivel de mOdulo permite declarar
nw!todo <.Ie compa'lICi6n rx>' <:Iefetto ql'e co",,;"ne U'" Ia comparllCi6n de ClIo<.le.
fIllS. Puede toma , tres vaKlres po:'>it>les,
- La op:;i6n Campa,. Bina,.,. (op:;i6n po< deiecto) ",aliza la comparO>cl6n <.Ie
cadenas basada en el orden derivado <.Ie I. represenlaciOO binari. inter ... <.Ie los
ca'lICteres:A B E Z a b e z A t . ..
- La op:ibn Comp.1lrtl Tm "",Iil. la compa'aci6n de cadeflas :.in
m.yusculas <.Ie (A- a) (B_ b) (EKe) (. K,)
(l K !) (21 - .) ...
- U ope"" Comp.1lrtl Ibtaba .. realin! Ia comparacioo de cade"", DHado en
orden dele.-minaoo por de par.imelros regionales <.Ie I. tlIJse de
daros en Ia q'-'!! se realiza I. compa'lICi6n de Qdenas.
I 3. Operadores l6gicos
:. Permilen eIIaluar si multaneamenle dos (0 mob) valores booIeaoos (I e. preslooes
que delluetven este de valo<. Geoeralmente se USil n con la infdruceHln IF.
,

!
!


"
capituKl 2
Operadill'
,"0
'"
Ciilculo ruliudo
Si lOdas las IWln!Slones tiel1O!!1 el valo, True, el resultado es True.
Si UN de las expresiones lier.e el valof false , el resullado es
false .
Si PO' 10 meoos una de las eJ<presiones tier.e el valor True,
teSultado es True (0 inclusiYo).
Si y,," y !16k> UJIiI de I ... expre5iones. tiene el valor T 'ue, eI rnul.
!ado es True 10 e.clusiwl.
Oevuelloe CO!1tm io de Ia expres46n.
Oevuelve 1 rue si hIs <los e' presiones son
;>.NO .. do"". ' vo T"", 01 0 . cOOII''''t>dI <lO ont<o 1 y ' .
lOOT '01 <Iovuelvo True 01 eo .... Iet .... n' .01>0< quo '0,
OR IB.O' OR ,e 1 _lvo Truo 01 . , .. ".. u"" do ' oa vOl ....
pooIHv<>.
4. Operador de concatenaciOn
EI ope, ado< de concatl'Ollci6n es el sign<> &. Engaoclu! cadena. de ea,acte<es,
valO<es y expresiones.
Eiemp/o
(;onc, renaciOO del y el nombte.
5. Prioridad de 105 operadores
C",,""" My va,ios Dpe,ado<es en 001 misma e<p<esi6n, cadi urKl de elias se
evalu. en YO orden predete<minado, lIamado prioridad de los ope,ado,es.
I
i

!
I


EI lenguaje VBA
lo$ operDdores se evalu"n en el ';guiente orden: OI)efadores opera-
res de comparaei6n. operDdores I6gicos.
Los operadores de compar;w;i6n tie!>en la misma prioOOad; es de.::! ,. son evaluados
PO' 0",,", de apariciOn. de a de,echil.
Los opefadores y I6gicos se evaluan en el ';guiente oll.len de prioridad:
Aritmetico
L6cico
,
,.
. I. \
'"'
Moo
0,
' .. X"
EO'
[ I uS(l doe permile ,.. prioridad para q"" un elemenlo doe u!\iI
sea eval..ado antes que los 0!t0S. Las operaciones encerradas emf<!
pa"nlesis se evalilan siemp! antes que las ooas.
f,jemplo
La up<ooi6n OJ "" C'-" ceoul todo n.
La I' SI oe ont quo I dici6n I I I
L& .%pru! 6n ' I) J ' _.1 ..... La adiei6n ... c<>n
pr lor!(l.od.
o Se IlCOnseJ. 1M, p.llfa mejor.' la legibilidad del c6digo.
Programar en Excel: Macros y lenguaje VBA
"
CapiWlo 2
G. Reglas de escritura del cOdigo
1. Cornentarios
los comeola,io!; pe,miten <Iocumefllll, el dldillO VElA JIII 'a mots legible.
REM coment"rio
,
cOlllent" r!o
AI la li .... a de kla 5(' muestra. po:>< deie<:to. en ven.le.
2. Catktet de eontinuaci6n
u"" Instrucci6n Vl3A puede e5Cfibirse en mLoChas fI.-...... rode> un 8ui6n bajo
precedido de un
fJemplo
pld. h h ... odIoeel4d 440 "" p<...,I<> ... t&llto quo
, , .. elo 0 ....... O<TOeto
Do ""U. ( .""'tyIP,.ejol O. lOot ,.""..,jcIP,..,I<
0< ",.., 10 < so O. PTeejo SOO
P ..:!o 'nput_I ' hlbj, w> !'"!'O'U C<lOOIlro""''''' ent

3. Sangrias
l.M sangria. (0 IabuillCio ..... ) permilen UN! mayo' del cbdillO. Es espe-
cialmente importanle usarlos en la. I!!oIructu,a. de control (sobre todo si hay varias
InstnlCCiones. If anldadas) y las eslruclu'as de decisi6rl .
) Pilla gene.a. las sangrias, use la lecla lTab) .
) Para retroce<ief a la tabulaci6n ptecOOente. tadas (t,tayUs) (h b]
I


,
I

-
,
EI lengua!e VBA
.) Pa,a modHica, eI 1311\1100 de III t.buloci6n espatios po;' defecto), selee-
tiooe OpcioIltl en el menu H .. ,amient .. , haga tlit en til liclla y modifi-
que el valor Anello de tabulaei6n.
4. Nombres de procedimieftlos, variables y conslanles
Los nombres de los procedimientos, constantes, va, ;'bles y a'llumenlos (!eben
respeta, las siguie"tes reglas:
- el prime, ta,!Jete, debe se, una !et,a,
- no se dfferenclan mim'swl ... de mayirscul"s (se aceptan aceflluooas),
aunque se respe!an unas y otras,
- no se usan nombres reservados" Visual Basit 0 palabras clave con rest, ;ociol'les,
- no se usan el ponto, el <!$patio ni los s4gflOS !, $, 11- Y@,
- un nombre no pueOe tene' mas de 255 caracteres,
- para los procedlmientos FUO>CtIon, no se usa un nombre igual a una >eferencia
de celd",
no se indican varias veces los mismos oombles de variables y de constant .. en
un mismo .wet de a1caro;:e.

o Capitulo 3: La programacion
de objetos en Excel
A. Presentacl6n .. . . . . . .

B. EI modelo de objetos de Excel

1. Pre5efltaci6n.
2. Objetos y colecciones ...... .
86
87
87
88
C. Principios de uso de 105 objetos y las colecciones 91
1. Propiedades. .. ....... 91
2. Propiedades que representan objetos
3. Metodos ..
4. Eventos .....
5. Colecciooes . . .
6. Red.ac<:i6n automiitica de instrucciones
D. Instrucciones usadas con los objetos .
1. La instruoci6n With ... .
2. La instruccioo For Each ... Next
3. La instrucci6n If TypeOf
4. La in5trucci6n Set .
E. EI Examinador de objeto5 .
1. PresentaciOn. . . . .

2. Biisqueda en el uaminaclor <Ie objetos .





91
93
94
95
97
99
99
99
100
101
102
102
104
capituk> 3
A. Presentacion
VBA Excel eo; un de pmgramaci6n orientado I objetos , si bien rKl dispone
de las los lenguoieo; de esle lipo.
La ml)'Q.la de los elementos
c';lculo. los ,.nllOS de relda . las relda . etc.
Los objetos se organizan see"n un modelo ",arquico: cierlO$ oo;elos corrtienen
ott'O$ objelos que pueden. a su vez, conte"". ott'O$. E.los objetos se Uaman cDnlen
dlldo<H U objetos P.rmIt. Po. objeto Appllc.otion eo; uti contenedo. de
oo;elos Workbook (libt'O$ abiertos en xreI), que su vel COOI>ene objetos
Worbheet fhoias de dlculo de un libro) . 1 con!neOoI principal es eI objeto
Application.
Un coniunlo de objetos del mismo lipo eonsmU)"! ""'"' coIecci6n (coIeoxiOO
Workbooks: coniunlo de libros abiertl)S en Excel; coIecciOO WorI<sheets: eoni unto
do! hoj.s de c"lcula de un libro).
Un objeto dispone de un coniunto de Il amalla. propiedadH (jlO(
1"'" eI objelo Application, la propiedlOd UMtNlme represent. el oombre
del USUJIno. I. propiedad V .. &Ion devuelve el numero do! versi6n de MicIQsQtt
Excen y de compotiamienll)S 0 ac(i0ne5 lIamados mtI0d0s (po..- ejempio, P;!ra eI
obi-to Applic.tlion, el metodo FindF1le muesl eI cUJldro de Abri.; el
do Quit Solie de Excel. etc.).
A un objeto Ie .uceden .... ent'" proyocados PO' el u.uano (pol( ejemplo: Ia apertu'a
de un libro, un clic en un boI6n de corMOOo. eI cambio de Ia ceida actNa, etc.) 0
PO' eI sistema.
las closes 50n modeIos que petmilen erea. objetos de un m>smo lipo. Los objelos
de ulla m>sma clase Ileredan sistemAticamenle todos los melollos, propiedades y
O!'ventos de su u posible erea. clases de objetos con VBA xreI usando
m6dulos de dase.
VBA 2007
I
i

!
I


La programaci60 de objetos en Excel
B. EI modelo de objetos de Excel
1. Presentaci6n
Btl! cuadro permite distinguir los princiPIIles objetos y colecciones de objetos de
""'.
I I ..... ' ...
I! _
. ..,....,.,....----
I h II'!
-
"'" " I ,
Programar en Excel: Macros y lenguaje VBA
2. ObjetO$ y colecciones
La .sig<;iente !lsta ta utilidad <Ie 105 obje!os y c.olecdofles <Ie! modelo.
Objdol
...... ""
OI>jeto que hace relerencil I 10 _PIiCaCi6n Mic",",,", ED ac!WI.
AnJWefWizard
Otljeto que repe .... nta II _)'lid. de ED.
A!SIst.nt
Obi-to que rePfM"l' ta el Ayudil:l1te de 0ffiI:;e. Usa I. ptOpiedad Viloi!M PMI
mosIfa r el Ayudl nte y I. flRlIliedad On pIIrl activ. rIo.
AutoCorret!
Otlfe!o que coot>ene los atributos <Ie Autocomcc>6n de MiCrosoft ED.
AutoRecDWr
Objeto que rept"eso!flta Ia:s opciones de recUjlefaci60l de un libra.
Estas macros son accesibles d.-.de ED JlIIrtlr de .. licha Gua""', del menu
Ht'II'.m;.nus . ()pcioots.
CellFOtlM
Objeto que repre .... nt. los c,lWIo5 de b(rsqlled. eo e! formato de IllS ce!da:s lse
lI!Ia con las propie<iades FllldFonmt y R,pl..:.FOfrnM <Ie! objeto Application) .
-
Objeto qllf! mueslta los datos en II YO!f1tMa Inmedtato, duraoo. ejecuciOn del
cO:!il!O,
DetaultWebOptions
Objeto q"" contie ... los .tributos u.ados per Excel para la 0 gr.baci6n
cIe UN Web,
VBA Excel 2007
La prograrnotd6n <Ie objetos en Excel
ErrorCheckintoPtians
Objeto que comiene las opciooes <Ie comprOOaciOn de efl'Ofes <Ie III aplicacooo
"""
LaIlluaa;eSet\iIllS
Objeto que cootiene informaci6n sobre la cooliguracibn <Ie jd"""" de Excel.
Objeto Que (;I)I1tiene los mModos Y pmpjed!<:\es que se coo las fun
eiones <Ie $lntesfs de YOl,
SpellineQptionl
Objelo Que represenla tas opciooes de OI'IOraflll de III aplic.J,cooo,
'"
Objeto que representl! Vi"",1 Basic EdilOf.
WortcSheetF unction
Objelo Que conliene todas las funciones en Excel , ute ob;eto per
mite obiener ef resultacio de UJIl! funeiOn aplicada a un rango de reldas.
Ejemplo,
f>fom Appt ;cation. Worksheetf'\lJIction, Average(Selection)
Colecciones
""M
CoIea:i6n Que contiene Itrlo:oIIos (objetns Addlnl. A estos
mentos se l!ega desde Excel a !raves del menu HerramientH . CompleJTlO'J1!os.
1 COMAddlnl
R"llf"S'"1ta los complememos COM lICIualmente in5b! I..oo:s en Microsolt Ucel ,


!Ii! CommandBa ..

I

ColettiOn <Ie barm de henamientas de I. aplicadoo aema (obi-los Command-
Barl.
capitulo 3

Colettiim doe "'" cuadros de dialogo int"8r..oos de Excel.
Names
Coleo:;ii1n doe todos los nombres y coo del lib>
ODBCErron
Colecci6n doe todos los em.>res ODOC lI'merlldos pof I. ulti ma ope<iICiOn efeclua
da eo un infom1e de tabla dinarn;ca 0 eo U(\/I tabla de
OI.EOBE"","
CoIea:i60 q"" rep'esema la inrormaciiln coo '" error d .... ""lto I"'" la
CCIOWlta OLEDS mas reciente.
RecenlFile!l
CoIecci60 de los arehivos usados.
SmartT a,RecOlnlzers
Colecci6n de motores. de reconocimient05 que clevuelven etiquetas intei ige!1tes.
[sta li"'a es accesible desdoe E><rel t,am doe lietla Ellquetal Intaii,entes
del me"" Iit<tJmi1ta. ()pcIM. "- AutocortCl6n.
UHdObjects
Colecci6n de 105 objetos usados en Excel .
W._
CoIecci60 de objel05 q"" repre-senla 105 o:Ie inspecciiln cuando Ia hoja de
cli<:ulo recalculada.
Window.
CoIecci6n de tOOlS las venbH'a5 de II aplitllci6n Excel 0 <Ie un libm.
W ......
CoIecciOO de los librm (objeto Woobook) abiert05.
w ......
CoIecci60 de las hojas de clk:uio lobjeto W<>oo;hee!) de un libm.
La programad6n de objetos ef1 E)(cel
C. Principios de uso de los objetos y
las colecclones
1. Propiedades
Las p<OpiedoJ<.ln sOl\o'ef\ para <leseribir un objeto. Ciertas pmpiedade5 !SOO de sci'"
iedUfa y roo puedetl, po< k> lanto, modwr.;e oon eI e6digo YBA.
Sjntaxis
I <variabl e obj eto,) . <propledad,
_111<..,140. <101 """ .... 0 4. 1 61>
Appl i c lon . CUf aor zl w.lt
...... ... I .... <0161> 4. I. oplle.el6B heol .<th.
, b ........ 1 ....... .... l.du.
Kogllo>< ;>,ppuc>tlon . Ver.lon
Appllco. lon.CUroor Kloofou)'
2. Propiedades que represenlan objelos
Los objetos y los objetos delinidos en el e6dilO a de dases maneja-
lias po< YBA tleneo cioertas propledades cuyo valor se i>C\uaj i;r.a autornaticam'mle
par eI sistema.
fstas )IfOIliedldH elpeClflcal permiten acceder direc:lamenle a clertos 00jet0s:
\/Mia,," activa, libro celdas de la hoja actNa. etc. La slguiente tabla mues-
I Ita las pmpiedlldes rMs usadas.


,
I

Programar en Excel : Macros y ier.guaje VBA
Capfwlo 3
,
.
-
,..,.
.....Q!!t! 0 dh' Ul llo
ActiveCri
AppHcation
Objeto Rant. ql.'l! n!pff!Sefl1ll III p<imer.l celda
Window
acINa de Ia venlllna acliva 0 e!.peCnicada.
AcliveCharl AppHcalion Objeto Chart ql.'l! "'presI!nta el K'atico
Window
W'-k
ActiveControi
F,ame
Objelo
''''' ..
,00 representa
"
=".
''''
lAcliveX) activo.
UserForm
ActiveMenuBa,
CommandBars
Objeto CommandB ... que represenL1 Ja

de menU actiYa en EJaI.
ActivePane
Window Objeto Pa .... ql.'l! represents paoet activo de
Ia vent81l1 acliv .
ActiYeSheet
Application
""'.
W .......
,00
-_.
"
....
Wil>(low
acliva det libro activo 0 libro especWicado.
W.,",,""
ActiveWindow AppiicatiDfl
""'.
Window
,00
..
"
_'M
activ .
AcliveWork-
APIlIication
Objeto WorkboDll q,," ",!>csenta cl libro de I.
Book
venlalll aclivl.
"'"
Chari DlNoeIYe res.pect;"'amente 0
PreviollS
,,, ..
el anterio< (P'lMoosl objeto de mismo til>'
W ......
(Chart. Raree 0 Worksheet).
ParMI Objetos
[)evuer..e el objeto <:ontene<lof_

Selection
Application Objeto R,,,,, que repr os enlll 1.1 0 lis celdas
Windows
seMionadas.
TItfsCeII Awlication
-'"
"
""',
""
"
,00
"
""".,
delinida poe
"
lIS""r;" IJamada
-
objelo Ranee.
VBA Cxa:ol 2,!)O7
I


I


e!:2!lra
,
'"
E
'"
' ",",
011'110 Plrent
Tl\fsWoO<book Appjication
clevutlto
Objeto Workbook que representa libm 50bre
"
.

ejecut..
.,
c6diSO


actual.
. . .
o Las propoedades especIflC<lS que dewelven un objelO Range (Cells, Offset. Co-
lum ..... Rows, etc.) 51! explican en eI capitulo 4.
3.
los moItoOos penniten real iza, acciol"les sabre los objetos.
Son similarl'S " los procedimientos,
- pIJe(Ien USllr 0 no .rgumentos.
- dertos m&idos pueden devolve. un valor como los proc:edimlentos Function,
otItIS no. como los procedimientos Sub.
Sintuis de m6todo que no dewelw un v,,1or
! I <v"dabl"
Li .ta de
AoU .. h oo.g ,.d. ... d'e"',, ... , llb<o .o<h"
. o"k. h.e t .(2)
.. looeelOllO .... <_ ... c.I ....
,el ,' 1 . '.e<
. ... ....... ....... ... ..,el--.
Seloctlon.CI .o"
Guo .... 01 Ubro .. tlv" c_ .,. au ..., _ro
c ,\p upu t o\p upu.Ot02. K"
o Como eI co", los los dis!int"" un mo\tooo
se separan pol comas. Si un argumento opcionl l no se defioe e. plicitamente. el
metodo un valor pol delecto.
capitulo 3
Slntuj, <It "*0<10 que devuo .... un " .....
<variable> {<obj .. I <variabl e
I <Lhta de argumentoB>]
Ejemplo
......... . ' ... d i U .... ... <1 <
D1 Fil.N .... VorUn', >.wUcott on.OetOp<on.uon_
( ' lloFlnor,.'LIDr"O& nco! 1' .xI_l. ' . xl_' ,
T1U o ,.'So'o<ooiono o j ar<nlvo </U0 cIo ... brl, ')
01 , .... oaa 10
I 'r'I,.Noo* < 1 Tn. n
wor'bQQ' . Op<on . 'r'I' oN ...
-"
4. Eventos
Un evenlo es una Kci6n ospedfiea que se .eali:. sob<e un c;eno objeto. MictO$Oll
Excel respoocie a varios lipas de evt'!1tos: apertura 0 cierre de un libro, selecci6n de
celdas, agrega' una hoia de caiculo, etc. Los eventos multan gene<l lmente de uJll
acci6n del USUlI'io.
EI uso de un procedimlento <ISOCiao:io a eventos Ie permile defi ni' su prop;o c6digo
como respuesta a un evenIQ que se produce en un libro, una hoj4 0 un iofmullrlo.
Ejemplo
Cuando se ill/Ie/ja Urnt nueva />oja de al libro, aparece un mensaje para .. /
uswrio.
lticrn.1I h cel t'K
.. ""'-,
.. 19 ..... """.< 7 ... _
.. uroJdod do,.",.. .... .... _ 1
VBA Excel 2007
La programaci6n de objetos en Excel
"ogfiox 'La h<>la ' ... . OIrll))
' 0. >-9"'96 01 I1bro _
Ao<'veWQr.boo . Na ... CO",11 _
' Lo "onU""d de 1>01" <101 lib", obo n .. . .
Aot I W<> r kbook . u .... c a . COunC
o La admlnisiraciOO de eventos e!i 000 de los a.pecto:s en eI
desarroHo de aplicaciooes Excel, eI capitulo 8 (ntegramenle dedOcado I
este lema.
5, Colw;iones
Para hace< referencia a un objeto de una colecci6n, puede u ... "'" alguna I.,.;
sintaxi$'

NomColecci6n I INomObjetoj
NOIIIColecd6n ("NomOb j eto' )
NomColecci6n lvar)
donde var representa una de tipo String que cootiene el nombre del
objeto.
donde index eI numero del Iodice objet<> la wecciOO.
I
Para asegurar una mejOf ie8ibilidad del c6digo, 51! acono;eia usar siempre la misma
Las sinta. is tercera y quinta 51! IeCOmienda/l porQ"'l pem1ile<1 activar eI
asjslente editor de c6dilll. Ademlis, II! Quinta sintll,X;S n ylil para reconer
::l; los objetos de ur\I coIettl6n.

!
I
,

Programar en Excel: Macros y lenguaje VBA
Capitulo 3
o Ateoci6l!: eI prime' de de las coIecciones lleva el lndi<.:e \.
Use los Indices soIamente pall rOml' una coIecci6n. Ellite. pot ejemplo. "Sa'
ActiveWorkbook,ActiveSheet(3) para hacer refereocia a una hoja de cjk;ulo del
libm activo. ya Que eI Indice de la hoja puede cambiar (sO mueve las hoj ... 0 sO
elimina alguna),
fiemp/o
fl silluiente e6di/lO la hoja de cJ1c1J1o Hojll del libro fl
e6di/lO UM I<Is r::oIciones Workl>ooA:s 1 Work*ets .
... <1<1>, , k. I upu te. d. 1 .... <k._t. I" Kojal ' .""tint.
o
Recolfer una coJecr:;oo: este e6digo camM el nombre de las !Iojas de cJlcu/o del
libra Ii.o.
0 , Aa
'or i _ 1 '" ""tivellorU>oo' 1I0r ho.t . Count
""" ....... rkboo ...... hb 'll .H_ Pr.oupu ... . o H" " i
". xt
Una coJecci6n puede recorrerst! """ la inslrucciM For fIlCh Next.
oj . HoJ. Aa
I'<>r hch HoJ. In II<:tlv .... rkbook . ... . . . h t.
IIOj . "._ PT u_ate N , Koj . Indoox
.... X( IIOj .
La de objetos ef1 Excel
6, Redacci6n automjtica de instrucciones
EI editor YBA irduye UrIII lec noiogla que 10 ayuda en el empleo de objetos. Cuando
lISted escnbe eI oombre de un objeto 0 de una coIettiOO por YBA
seguido de un punlo, se despliega una lisla con los 1 las PfOI)iedIldes del
objelo. Si un el asistente 10 ayuda a indk:lr los argumentos que
Ie correspooden.
fiemp/o
Escriba el de II coIecci6!1 Workbooks seguiOO de un punto, apareee II
siguiente li51.1 desplegabl!!.
EI k:ono lepoesenla los el icooo [ill propjedildes 1 las
coIec:ciones.
I .,
Usted puede l\ac:er IVanza. II lista escribiendo IItS primerls lettas del
prop;edlld a colecciOO buscada 0 con II ayuda de la de des.plaumienlo.
Para seleccionar un elemento de Ia lisl.l, haga doble elk:
i
. .,

!
Esctiba un punto 51 acaba de seleccionar un objeto ""fl ver la lisla de sus
prop;edades y meloxlos. Si selecciona un escriba un es""do para oble-
net" la lisla de configuraciOn del
i Pa ra seguir e:sIe
.. espar;io,
ejempio, selec:cione el metoda Open, y luego escriba un
capitulo 3
Apareteri 1i5\.i1 con 105 det metooo. Los a'lUme!1tos opdonale5
apareten entre COR:l!etes. Et argumento actual !oe '/era en Si para un argu
mento dado ... iste una liota de val""" predl!finlclos. apa .... "ed una liota dup'ellol'
ble con las cons\.iI nles correspono:iientes.
puede acl .... ar la IISla de y melodos de ra siguiente manera:
.) Ubique cursor delras del punto sil..ado <k>spAs .
) Haga un clie derecoo para t\ace( aparete( el me!1ir coo\el<\ual .
) la opciOO ListI de propIed.ade$ r rMtodos.
" ",",-1
I
La programaci6n de objetos en Excel
D.lnstrucciones usadas con los objetos
1. La instructiOn With
La instrucciOn pem1ile accedef varias VO'!CeS al mi!.rOO objelo, iooclndolo U",",
sola IIf!z.
Ofrece vanas ve!1tajas:
- del tiempo de ejet:uci6n del c6digo.
- RaNI en la escrilula del c6digp.
- mejor del c6digo.
Slntalls
with <Objllto>
<c6digo que usa 10. YMtodos y propiedlldu>
<que ae r elacionan con e l objeto>
and !lith
Ejemplo
ABres8r y modilica, una hoja de cllcuJo.
" WI. boJo 4 p"" "" Ie dlU_ tool_ 440, ...... Uno
. NorU"'eco, MIl . No .. kahn"l _ MorU"'no. C<>un<1
_ I U " .. ...- "" I. ""lo T 01 "'or ... I. eolda A1
_ltb , ActivoSheo.
,Na .. _
.... ngelA. ' '"".101611 "",
."" with
! 2. La Instrucci6n For ach .. . Next
!
I

La imtruc<:i6n For Each ... Next permite recorre. k.>s oI.>jetos de una 0 de
una tabla.
y
Capitulo 3
Sintni.
Por 1I."b <elemento In
<secuenci. de
(bit Por i
<Becuencia de
Hut
fiempio
Modificlld6n del COtllemdo de III ulda AI Y de III CIIntidad de Itojas dellibro
dctivo.
Sub ",,,, "<uupueoto II
0\_ Koja ... NQTk. h...,t
PQr ob Hoj. In
11 _ .""Wf'tJEST() II KOj . ,' ......
Koj ' Or" upuO.tO Hoj . In4.x
Next WOj .

3. La in$tructi6n If TypeOf
La instrUCdon II TypeOI IX"mite tomprOOaf "I t ipo de un objetc,
Sh"nls
It <Ob jeto> I . <TlpoObjeto> Tnen
<c6<ligo qu," usa lOB mf>todos y propledadu>
<re ladonad08 cOn el
End It
fjemp/o
I If TypooOf obJ . Puon' U wo<k, h ... tMn_ . ,
I



!
I
-

La pmgrilmild6n de objetos en Excel
4. La instrucciOn Set
La Instrucci6n Sei pennile alribuir Ia .ele!ncia de un OOjeto una vllfiftble. lift"""
dft varUbi. objeto.
uta inr.trucci6n puede usarse para erNr un n.-o objeto (usando eo !!SOl! ca'lO un
l'I'1O!todo q...e pennita (re;" objeto) 0 para IIacer ref .. MciI II un objeto y. em-
tent/!.
Set <Obj eto> [11_ [ <exprell16n objeto>
o Set <Objeto> Nothi ng
objeto
La palabra clave New
<expru16n obj e to>
Nothing
(jtmlplQ
e!I una variable de Strine, qllf! oontierll'l '" rlClm-
bre del objeto q...e hay q...e crear.
pefmite crear oo.a nueva instancia de la clase. Si la
variable <Objeto> tootiene una referencia 8 un obje-
to, esta "llilN es abandonada.
puede 5eI el nombre de un objeto 0 de una variable
ooj.eto del mismo l ipo, 0 sea. una funci6n 0 metodo
que d .... ...e/It. un objeto del mismo l ipo.
reinicilotil1l I. variable objeto y libe", el conjunto de
recUI505 sistema y Ia memoria asociadas al
oO;eto.
rJe un /ill", CO"> <kIs tk un rrotrrbm if r:ada un;> tk
01. Llbro ... ",>,kbook
01. I ... IM_r
c . .... &. ....... "".n>
&ot Llbro Applt<atlon."'r>book .
.11&1.,.... 1 .. ..,J .. & p.o.<1< ... 1& ta&.&
. . . I .
capih.J1o 3
. . . I .
i
""por 1". _roO. 1 100, .. 1 Y Z
.lfQr k"" ... to(1I . H_ " "Vent .. Moo ZOO< '
.. t.lZl.N._ " "Vont .. Mo ."0'"
. b v.... C, IVent .. \Kjot6<l co
000 With
Modificar Ulla I>oja M un libro abier!o.
DI . Llhro ... ""<""",,k
Dl o Hoj. Ao Wor h ...
S-. Lihro " " '''''''''''' o,IHi otrl"".dol
so. Hoj. " Libr'O.work.h ... to ll vonto. Moo '"" 1
Wi th I/oj
. "n""p"' " 1 " Vont dol."" 2007
""d wit h
... Hoja " Hotn log
E. EI Examinador de objetos
1. Presentacion
Dada la cantidad y cIe objeto;s Excel. es (ltil ero:.:onl,a, la informa
ci6tl Q"'l se COt1 los distinlos objelos.
1 Exa minador de objetos moost,a la infoonaci6tl reiatNI I los objetos.
propiedades. eventos y constantes.
Usted puede obte-ne, Examinadol cIe objelos de disUIltas maoeras,
.) Ver Iwl [f2]
Exami""dor de obfetos
(bana de henamientas sUincla<l


La programad6n de objetos en Excel
1. list. ... bibiioteQos actll/llmente
2. Terto busc..do: objeto, prop;edad. colecciOn, evento, rMtodo, etc.
3. RHUltado de II bUsquedl : lista de las clases de objetos (objetos y coIeccio-
nest y de sus miembros (objeto, colecciOn, propiedad, evento 0 La
palabra buscada poeOe estar 1!!1 Ii lisla de clases 0 en 1& de Sl.OS miembm$.
CIIS ... de objetos d, I. blbllote<:a: la elase de objeto seleccionada en la lista
Resultado aparece rema",ada.
,.
p' OIliedadts rMtodos, . ..... nl ... (iwno y consllln-
I ... (icooo 'Ie con la elase de objeto seleccionada 0 remarcada
1!!1 ta liSIa de Ii izquiema.
!
I
,

6. Detatle del elemento seteccionado.
Capitulo 3
2. 8usqueda en el Examlnador de obJetos
Para hacer una bUsqueda en eI (uminadDf de objetos, procedl de la .igt.'iente
maner.,
4) indique 18 pol.bra buscada en I. segunda Ii"" desplegabJe.
4) Hap clOe: en el icono IAI Si la .efIt.1N RelUltIdos muest'B mucllas lineas,
df!Sl)lkese h;tsta I. Q"" Ie interese; Ia parte inferiot de Ia vent."" .e actuall
lara.
o Capitulo 4: Objetos de Excel
A. EI objeto Application

109
1. Propiedades que representan las opciones de Excel 109
. Dpciooes de la categoria Mas trecueotes . II 0
b. DjXiooes de la tategoria f llfmulas III
c. Opeiooes de la categoria Re...;si6n . . 113
d. Dpeior>es de la categoria Guardar . . 114
e. Opciones de la categoria Avanladas . liS
2. relativas a la presentaci6n de la ap!icad6n 119
3. Propiedades diversas ....... .
4. MetOO05 del objeto Applicatoo .
120
123
. Metodos que actuan sobM las f6rmulas y calculos 123
b. Metodos Que actuan sabre las celda.s . . . . . . 124
c. Metodos que aewan sabre las listas personatizadas 124
d. Metodos que mueslran k>s cuadros de dialogo . 125
Metodos relaciooados con las accHxleS en Excel 125
I. Metados relativos al COfre() 126
, . Metodos relativos al protocolo DOE 126
h. Otros . . . . . . . . . . 127
capitulo <1
B.
5. Ejemplos de cldigos que usan el oojeto Application
. Modificaci6n de la i nt erfaz de Utel ..
b. Crear;;(io de una lista personalizada ...
c. Selecci6n de columnas IlO c.onsecutivas .
d. del result allo de una f6rmula .
Objeto Workbook ..

1. Objetos y colecciooes
2. Propiedades .....
. Propiedades relativas a l a a.ctualizaci6n
ygrabadodelibros."""" .
b. PfOlliedades relalivas a libros compoarfidos .
c. Otras PfOpied3des
3. Usta de metodos
que a.ctuan directamente so/:lfe los libl'os
b. relativos a la seguridad
c. Metodos relativos a libros compartidos
d. relacionados con datos vincul ados
e. Metodos relativos al envio de libros
f. Otros metodos .
4. de c6di gos que Usall el objet o Worl<book ,
. Cleaci6n de un libm Excel .. . ... .
b. Importar una base de datos y exportarla
al formato HTML ....... . .
c. Mastrar las pfOpiedades de un libm
d. Exportar un li bm al formato pdf ..
128
128
128
129
129
130
131
133

133
134
136
138
138
140
140
141
142
143
143
143
I"
145
145
Objetos de &tel
C. EI objeto Worksheet. . . . . . . . .


146
D.
I. lisla de objetos y colecciones
2. Objelos y colecciones
3. Propiedades
4. Mel odos ..

5. Ejemplos de c6digos que usan el objeto WoO<.sheet
a. Offienar las hojas de un libm ....... .
b. Pmtecci6n de las hojas de ~ l c u l o de un libm
,. OWenar una tabla ...
EI objeto Range . . . ...

146
'"
149
151
153
153
155
155

156
I. Pmpiedades y mtitodos que devuelveo un objeto Range 156
2. Sintaxrs de las pmp>edades que devuelveo
un objeto Range ..... 158
3. lista de objetos y colecciones ... ... 163
4. Pmp;edades. . . . . . . . . . . . . . . 165
I . Propiedades relacionadas con la poski6n
y ellormat(l de l as celdas 165
b. Pmpiedades Que se relaciooan coo e+ cooteoido
de ceklas y con las fOrmulas 166
c. Otras propiedades . . . . . . . . . . . . . . 167
Capitulo 4
E.
5.
iI. que devuell'l'O un objeto
b. que se relacionan con ta presentaci6n
de las celdas. . . . . .. . ..... .
c. Melodos que se relacionan con eI contenido
de las ceklas. . . . . . . . ...
167
167
168
169
d. que se relaciolliln con los nombres de celdas 171
t. MetCKlos que se reiaciorlan con los liltros . . . . 171
I . Metodos que se relaciorlan con el mOOo esquema 172
I . MMOOos que se relacionan con \a henamienta
de Audiloria .
h. Otros mi!todos . . .
Ejemplos de uso de los objetos


1. calcl/lo del imporle lie un premia ...
2. Asignaci6n de comentarios a las celdas

172
173
. . 174
174
176
I
i

!
!

Ob/etos de Excel
A. EI objeto Application
EI obieto Application repJeSel1ta aplicaci6n Microsoft &eel aetiva. Es eI oojeto
par defeclO y, por 10 tanto, es generBlmente opciol\ll l (ejemplo, Ve"li(J I
Vomion).
Este objeto contiene:
- litS propltdldes r&illiYH II entorno ElIeeI (opciones de Excel, etc.) y I la
praenl.Ki6n de 110 Inttrf,z (punlero del ratOn. tel<to de til barra de estado,
lamano y estao:lo de (a venla"a de la aplicaciOn, etc.),
- hay dislinlos lMtodos para rulizar acciones en eI entorno xceI,
- propi.d'<les que devuelven obiel<}5 y coIecciones de primer nivel (objetos y
coIecciones del modeIo de objetos Excel, Workbooks. Charts, elc.l.
- projlhdMles especfflcas que hacen relerencia directa a objeios: AcliveCel l,
ActiveSheel , AcliveWindow, elc.
o la, que hacen relerencia a objetos se e. plican en el ClIpitulo
anterior.
1. Propiedades que representan las opciones de Excel
Las principales opciones de Excel pueden set" devueltas 0 delinidas a partir de
propiedades del objeto Application. La mlyo<'- de estas son de ieclur/I
y escntura.
o Para acceder a las opciones ElIeel en til Wf'Si6n 2007. haga elic en eI bot6n
Microsoft OffIce y l..ego en eI bot6n Opclones de Eleel (snuado en til
parte inferior del cuadro de di6I0s0).
capitulo 4
O ........ .. 'KO' ~ lX,
,.
1
2
,

5
6
,
,
.-
-
o
-
0 __ .... ' _ _ ,:ll(' 1
, .... ' .
--
< , ,',",
D _ _ ~ .. __ ,;)(ll
... " .. _ ...
.....
-
",,-.... __ ... _ ... "
_ .. ... -
.. _--
-'-"'''' ' -'''' - ' --
_ .... _ .. -
_.-

Propiedades V.lorel dtYu.Hol
ShowSeIection Fk'laties .....
EnableLivePreview .....
ShowDevTooIs .....
AlwaysUseCiear Type .....
StarldarljFont, Enlero largo
StarodardFootSize
Enlero largo
Sheetsl nNewWorkbooI<
Entero largo
UserName
CadeM de C<I,ao;teres
'"
I


,
!
I


Objetos de Excel
b. OpcionH de 1.1 utelOl'I.I f6rmlll.ls
,.
1
,
3

5
-
-
-
-
-

_.-
-
Plot: (dill ..
CKulalion
Constanles;
-" ..... _-_.-.. _._-_ ..
J' . ,''_
_.-
_ .. _ II)
.. '
o I __ _
.-
0 _

I I _ _
D ___ PI
-'-.. - - -
-- .... I!I
111 _ .. _ "" III
111 _' m

111 __ , , _ I __ 111
. , .. _
"=---
--_.-
_.. ..-
11111'1 '-__ _
---_ .. -
--I
111 ____ .. _ 1111
-

IllIl'I _ .. __
111 __ I _ "')
.--
1"')1'1 ----....
I _,_
1"
1
1'1 ___ .. _ .
'n ..
_ _
_ ... -
-
D __ __ ,(' f)
0 :0._ .. __ .. _ _ (lIlI
V.<- d.-.ue"os
0" " .
IlCIlculitlonAulOlNlti::
IlCIlculltJonM'OUIiI
IlCIlculltJonS.n,j.-rtc:rn.tic
CaJculat! BtfO+eSaYLl!
8o.Iean
Iteration
8o.1!an
Ma..llerllions
_.""
""""""
....
Capituk> 4
N" P' opledadH
6 ReIe.enceStyle
7 Oi5p1ayFo,mulaAutoComplete
8 Generate T ableRe!s
9 Gene,.leGeIPivolOata
Constant":

xlR1Cl

Canst.ntes:
xlGenerate T abit RetStruct
T abitRet" 1
.", .. "
OpcilHlH de CG/I1 probKi6n de erromo
Las siguienle5 Pr<lpiedades dependen doe I. propiedad ErrorChtckir'iOPUQM del
objeto ApplOcatian. uta deweille un 00;'10 ErrorChKldfllOptionl , q""
.epresentll las opciones de comprobaci6!1 de erfQfe5 par. una apiieaci(ln.
,.
Pr09itdadrn
Val ..... ...
"
Bacl(groondChet IOns
.... ,
II
I ndi<;atorColon ode<
Constllnte X1CoIo,lode<
"
Eval uateToEno,
.... ,
II I nconsistenl T a blef ormula
Boolean
"
T e1I.tDate
Boolean
.,
Numbe,AsText
Boolean
16
IllCOO>istenlFo,mula
.... "
17
OmittedCens
"
FomlUlaCens Boolean
t9
EmptyCell References
.... "
'"
lislDatllV al idalian
.... "
I
i
,
!
I
-

objetos de Extel
c. Opeiones de Ii ealelorfi Rnisi6n
I
........ ............... , ....... _ ... ,.,..
.-
c " .. " _
-
-
, ,' ...
, ................
-
..
.... _ ..........
Ii! """'" _ .... "II""""'" 11)
8_._ .. ... _ .. 12)
B__, .. __n)

0_
' .M'_
-. ., ..
0 .... _

[""'" . _, ...... I
"" ...

__ ...... '"' ,_........ . , II)
1_11e-...
Opciones de revlsi6n ortoJrMiea
las !\iguientes propiedade$ depende<1 de propiedlld SpeliincOPtion5 del objeto
Application. Esta pmpiedlld devueNi! un objelo QI>e las
opcione:s de revll-i6n onogrMica P<I"
... Propi.dades devuellO$
1
IgOOfeCaps
-'"
2
IgnoreMixed Digits
,
Igroo<eFileNames


Ge,manPosiRefOO'n
,
SuggestMainOnl)'
","MO
6 ArabkModes Constante KIArabkModes
7 DictLang
(otero largo
capitulo 4
d. Opciones de la categorfa Guardar
0"' ....... ' ... ' I? fX'
...
I
2
,

,
-_.
' . '0
-
, ...
k.j ... ''''''" .. _ ........ _''''' ... ......
--
"'-"'_M_
!1l ..........
..... _-_ ..
'" " _ _ " " ,_ U
" ", '0
._ ... _.
, -'-'to.
_ ... _-
'---"'_.
..... _ .... ' 0'- ;>
.. _ , " ,",_M __
0. _" ..
' ... ,' ...... -.... -
, .. '
1 ....... 11.-
Valoffl d ....... 1tos
Constante
Ente>t> lafRO
Cadena <Ie tlO'acteres
Cadena <Ie cafacteres
-.
o La opciOO 5 se aptica at hbro act iw (Application,ActiveWOfkbook),
if"
VBA, Excel 2007
...
,
2
I
l

3
<
!
I
,
6
-
7

--
-
-
-
-
<
---
-
<
Proplld.ldes
MoveAflerReIYfn
---'---
- --
-------'1
- -_. ;11
Cl _ _ __ ,,,
11 __ , ___ .. _ . _ _
p----.. _-
,, --
., ------',: ' '"
11 -'----'-
.- -- --,.
,, -_._._- ,
.-._-------- ,,,
- : ""
11 ...
-_.-
...


"--"-'-'.
---,-------
Vlloru dlvLll'ltOI
""' ..

Con$tlntes:
llOown
xl Up
xltoRllht
.....
""" D.Om"
""' ..
FiXIldOecimalPlaces
[otero laflO
CeiIDragAndOrop
Socl! ...
AlettlleforeOmwrilirc
e", Ilan
EditOirecttylnCeil
1k(llan
Objetos de Excel


<
Capitulo 4
N' P'opiedad ..
e ExteooList
9 AutoPefCentEntry
10 Eoal)leAutoCompiete
II RoItZoom
12 El\llbWll a,geOperationAWlrt
13 largeOperationCellTMllsaooCount
14 UseSystemSeparators
15 DecimalSeparator
16 TMllsaoosSeparato<
17 Displa:yPasteOptions
Ie
19 Cop,QbjectsWithCelis
20 HighQualityModeForGrap/lics
Valores de\lu&ltos
..... "
..... "
Booleao
Bocteao

Entero largo
..... "
Cadena de carlK':teres
Cadena de carlK':teres
..... "
Boolean
Boclean
Booleao
""- .. ,. ...
--
.-
-

,
... , .. .-...
-

fI'ii
-
--- "
,,'
_____ '1__ .
i!! _ ' , .. ...
o __ __
0 _ _ .. _1'"
... _ ___ __
Ii! __ _ __ ,,,
.,---.. _ ,"1
- ,, -


VBA Excel 2007
I

t

!
I
-

N' Pn>pildMlu
1 RecentFiles.Maximum
2 DisplayFormula Ba r
3 ShowWindowslnfa>l<b"r
4 Displ/tl'FunctionTooITips
5 ShowChilrtTipNarnes
6
7 DispiayCommentl ndicolo<
eor..tant...,
YIOOI devut"ltos
(otero largo
...

Boolelln
Boolean
Boolell n
Conslllnte
IINolndiclltor
xl lndimorOnly
IlCommentAndlndimor
Objetos de Excel
lIts siguie<1tes propiedades depefllien de iii ActiYeWindow objeto
Applil:ltion. Est. pmpiedad devueille un objelo Window que representa la ventana
itCIiva.
..
"." ......
YIIorft devueltos
8
Displ/tl' Hori1.OI1talScroll Sa, Boolelln
9
Displ/tl'VerticatScroliSar Boolean
10
Displo1)lWorkhook fa bs Boolean
11
AlIIoFilterD.!eGroupi ng Boolean
"
Displ/tl'Head i iii"
Boolean
13
Boolean
I'
Displ/tl'P agl!Bre2lks Boolean
15 Displ/tl'Zeros Bootean
I'
DispiayOutl iroe
Boolean
n
OisplajGridlines Boolean
18
G ridl ir.eColorlndex Conslllntl! X1Co1or1ndex
capitulo 4
-
-
-
-.
= .,
< ,
-

-
"--
_ .. _ .. -
_ _ _ t.:,-_
111 __ . _.. 1'1
0 ____ ')
0 .... _ .. _, ... 1.)
111 _____ 111
-0 ___ 111
111 __ (f)
0 __ " _ _ .. _ .. _ .... 111li
111,- , __ , 11'1
0 __ "_. __ ,, ' "2)
111_' _ ' _"_"''' ' '''-113)
- --
--_ .. __ .... ""
0_.. '--,,'I
,_ _, __ :a_ .. __
[]. .._.. lOll
[], __ .. _HI)




II c-
,... Propiedildes
I
2 MUltiThreadeaCalculation.
J

5
6
,
8

M ultiT hreadedCa Icula!ion. T
SaveLinWalues

Datel904
UpdateRemoIeRefer"""""
EnabieSouocl
V, Iom dewtI1O$
8".,,"
'"""'""
xlThJ1ladModeAutomatlc:
dThJ1ladModeM.nual
[ ntero
Boolean
Boolean
"" .. "
"""""
Boolean
!
I
-

H' Propl l dadH
9
10 IgrlO(eRemoteRequests
II AsUoUpdaleLinks
12 wamOnFuncliooNameConflicl
13
14 AIISI>Irtuppalh
15 TransHionMenuKey
16 T ransnionNavigKeys
17 T ransilion<pEval
18 T I1lnsnionFormEntry
Objetos de Excel
V.I...." devueltos
.... "
.... "
.... "
Boolean
.... "
Cadena de caracteres
Cadena de caracteteS
Boolean
Boolean
Boolean
4) Las opciones 4 a 7 se aplican al libra activo (A;>pIication,AcIiveWorkbook) 11n
opcOor'oes 17 y 18, I la hoja aetiva (Apptication.ActiveSheet).
2. Propled,des relativas a la prnefltOild6n de la aplicacl6n
Hele
ht
Real doI.>Ie, Altura de la ventana,
Real doble. Distincia entre eI bofOe izquieJdo de Ii panlalla y eI botde Izquier-
do de 18 venlana princi pal de Micmsoft Excel .
Rell doble. Di5lancia entrl:! el bofOe supet'iI)r de la pantalla y el bofOe wperi<lr
de Ii ventana principal de MiCrosoft Excel,
Rea l dobie, Disl>lncia entre los botdH IZQuierdo y derecho de It ventarno de It
.plicaciOO.
Cadena de cariICleteS.
M Ie rosoft &eel.
riombre mostrado en Ii ba rr. de litules de la venlana
"
capitlJlo 4
c_
Constante. AspeclO del puntero c!eI tat6n e!1
Constantes .IDefault, Puntero pol' defeclO
IIiBum, Puntero en I
IINorthweslAnow: f1ecI\a Noroeste
liWait, Reloj doe lrer.a
Displ.lyFul ISctHn
Boolean. Indica si E><cel fUflCioM en mOOo de completa.
F ormulaBa.Heilht
Entero I<I rgo. Altura, 00 ",;room de lineas, doe la bMflI <Ie I6fmulas.
ShowMenuFloItie!l
Boolean. Indica !Ii 1M miniMrrllS de herramienUlS dfben '!)life<:<!< cuando III
usUMio hace un elk derecho f!t1 vemaN! del lillfo.
StatusBar
Cadena de earactera. Texto de la Mrra de er.tado.
Visible
Boolean. Indica si la ventana de II aplicaci6n e.t.l ..... ble.
3. Propiedades di'lersas
Autof"OITTIatA,'fouTypeRepiaceHypitflink,
Boolean. Indica 50' Em COI'IYN!tte 00 hipelVlncuios las Mas doe Intet'net de
forma a medida que 5e las fSCribe.
Auton"l.tlons-.rity
Coostante. Modo de seguridad que emple.a MicJOSO!t luI I I <Ib,i, atchiws coo

Constantes m5QA llIom11tionSecurityByU I
msoAlliomIItlonSecurityForaDiubie
msoAlliomIItlonSecUfitylow
I
f


!

Objetos de Excel
ActIYePrinter
Cadena de o;a ' i'IC1eres. Nombre de lao impreso'a act ....
Cak;U"l llion I nt""'ptKey
Constante. lodica III tecla que puede intllflumpi, el redJlcukl en Microsott
E<O.
Consumtes

dAnyKey
xlEoc Key
llNoKey
Constante. lodica eI estado de cllcukl de Ia aphcaci6n, para eI recillcukl en
eo Microsott 8<ce1.
Constantes
CllpboatdFormal$
dCitcul.1i11l
""""
lIPendl1ll
Variant Oevuelve una matriz que contieoe los iotmatos que se encu.enlran en
eI portapapeles.
CutCopyMode
Constante. DevlJeIve 0 OeIine eI estado del modo Cottar 0 Coptar.
Constantes Faloe No eo modo Cottar ni
eo modo Copi/l ,
xlC.... Esta en modo Pega.
DllaEnIIyMode
eonsIBnte. Dftvue ...... 0 <!f!line el modo de entrada <!f! datos.
Constantes lIOn Modo de entrada de datos acbvado
110ft Modo de entrada de datos desactNado
xlStrict Modo de entrada d& dalos activado y
teell! (Escape] desactivada.
capitulo 4

SooIean. Muesln (T. ue) u oculta los memajes de alerta cuando se ejeclll.a uno
macro.
EnableCIncelKey
Constante. Controla la fo'ma en qlle Microsoft &eel trau la manera en que ej
lISuario Interrumpe el procedimief1to en pulsando 1& eomtHnaci6n de Ie-
elas
Consuntes
EnableEvents
xlo; ... bled 00 se intenumpe
InterMT1pe ej procedimief1to en
y pasa .1 modo OeJ>u,ar
llEnorHandicr en <:aSCI de interruptiOn. el procedimiento
genera un ,,'ror
(t6digl) de e,ro, 18)
Boo'-an. Pe,ml!e des3Clivar (Fal .... ) los del objelo AW;calion.
Findf Ol'mat
Dewelve 0 define los criletlos de busqueda pa,a eI tip<> de formato de celda
que hoy que encootr ...

Boolean. Indica s; Excel puede oblener dalm; de un Infofme de labia dina mica.
Hin.tance
Enrem la,go. Deweille ej cootroladOl' de Instancia de II instancia que llama a
Microsoft El<cel.
,-
(ntero largo. Oevueille un objelo que designl el identnkado, de venlana supe
rio< de Ia ventana Micf050h Excel .
MapPaperSi.e
Boolean. Indica si los documen\o$ se ajustan cuando camtHa
el lamano de popel.
MouseAvailabie
Boolean. Indica si un ,,16n dispooible.
o.pniutionName
Cadena Oe caracteres. Nomb<e Oe la e<nPffl$ll.
PrwlousSelections
Variant. DevueIve u,", mat.il de objetos Range que contie"" los ojltimos cuatro
.angos selec:cionaoos.
RICOfdRelltive
Boolean. True sO las macros se graban usando """rend ... ",lativas.
ReplKt Forml t
Boolean, Estableo:e 105 criterios Oe reemplazo que se emplean i>&'. ilUSmui,
formatDS de ce1da (se usa oon I. P"'I'ledad FlndFOfmal).
TempiatesPath
Cadena de ca.acte.es, Rulli Oe acceso local de la ""'!'elll Oonde !!Stan gt>arda
das las pl.nlil las ,
''''''" Cadel\;l de caractt!l'eS. Numero de versiOn Oe la aplicaciOO E.xceI
4. Metodo$ del objeto Application
a. M6todO$ que atWan $Ob<e las fOrmulas y t6ltulos
I
Calculate
Fueilll un c.!.lcuID Oe 105 datos P"'. """" los libms abie<1os.
i CalculilttFun
!1! Fuerza un n!cllculo complejO) Oe 105 datos en todos 105 libros at>iertos.

I
-

CaiculaleF ullRebilild
Para todos 105 libros abierios, luena
vueIve a establece< !.as dependencias.
un redlculo completo Oe 105 datos y
Clpitulo 4
Cht<:kAbort
Oetier.e e1 t'tdlculo.
C""I>'.rtFormull
las de Ge'kla en \lila IOrmul. de1 estilo de reIef
eocia Al .1 estilo RIC!.
[yal""t.
Ca!cula la expteSi6n como argumento y dev\lelve eI resulilldo. La e;:pre-
si6n debe cor.espondoef a una IOrmula en l"IIh!".
b. Metodos que actU,n sobn! las celdas
DoubleCl io: k
Equivale a doble clio: sobn: I. celda aetiva.
Go<,
Selecciooa un raneo 0 un procedim"",to VI5Ual S .. it en cuaiquiet libra y activa
ese mismo li bra 51 00 to
Intoned
Devue/lle un objeIo R ..... que represent. la Intef5ecCi6!o de dO$ 0 mo\s rangers.
'''"'
Devuelve la uni6n de al rneoD!i <los .. nflO".
c. que actUan sobn: las listas personalizadas
AddCustomList
Agrega una lista personahzada.
DeleteCustomlist
Elimina uOl lista personaHzada.
c.t(:ustomLlstConlents
\lila lim person.lizad. (matriz de cadena de caracleres).
I
Ob)etos de Excel
GetCu. lomUstHum
el numero c!e la lisla COlrespoodle!1le a una ma!fjz c!e
cadena de
d, que muestran los cuadras de di"oeo
Los metoclos GttSawAs.FIIeNlme, f ll'Klf lle y InpulBo> 51!
en el capllulo 5, tituli>do ' Los cuadros de dlilogo' _
e, Metodos , elacionados con las aceiones en Ute!
Execute ExceI4M I<:ra
Ejecuta 00II fund6n IMCfO Microsoft Excel 4.0, Y <ievuelve 5U """, Itado.

Ejecuta un ptOCedimiento "SWifocado CUllndO el u5Ualio P<JISII lIN tecla 0 una
combi nad6n de teclas.
OnRepe.a1
Define el COIT\I!ndo del menu y eI nomb<e del procedimiento e;ecutado
al selecciooar la opci6n R.petir (meoo Edici6n) desp . .e-; de la ejecuci6n del
procedimiento 0"" define esla P"'IIiedad.
OnTlme
Pros.ama la ejecuci6n de un procedimiel1to en \Ill momento deierminado.
Deline el te.to de la opci6n de menu De. hac,. y el nombre del procedi.
miento ejecutado cuando 5e 5eMiona fa 0jlCi6n Deshacer (menu Edici6n)
desj>Uk de '" ejecuci6n procedimiento q"" define esta prop/edad.
i
Sale doe Microsoft Excel.
is Repelt
!
Rep;te la (i ltima ()JIe/aci6n ejecutada desde la inleda.z: doe u5Uaoio .

I ,

Sav. WorIIspac.
Guarda el de tfabajo en curso.
SendKeys
Simula la IlUI"""iOn de teclas en I. aplicaciOn activa.
"""
Deshace la ultima ope<ati6n ",.Iil:lOda desde I. inti!ffaz de lJSU/loo.
RecordMac:.a
G,aba el c6digo" el grabado, de macros.
Roo
Ejecula un procedimiento a llama a una fimciOn.
Wait
Hace u,,", pausa I!f1 I. ejecuciOO de I. macro hasta un momento
Devuelve el vakl, True ClI8t1do lIega II hoI'. owedlicad .
f. Metodas relati'o'OS al correo
M'ilLoean
Se conecta y abre uflll sesi6n de correo MAPI 0 de Micn.>:5Olt E>:<;h;ml". SI
Mic",soft Mail no esta ejecutondo _"n, debe usa, este ml!todo para
establecef uflll $e5;cm de corroo pa'. permit; ' el U$O de Iuro:::klnes de diotribu
ciOn de document!)!; 0 de meosajes.
MallLoeoft
CielTa una sesi6n de roff'eO MAP! abierta por Micm!;oft Excel .
I. Metodos relativos ai protocolo ODE
EslOS ml!toc\os (OOEuac:ute. OOElnitill . etc.) se explican en el capi tulo 10
Viro:::ulos entre apHcaciones.
Ob}etos de Excel
h. Otros mt'todos
Aetiv. teMicroooftApp
UM aplicaci6n Microsoft. 5i esta en ejecoci6n, metodo la
acliva. 5i no 10 estII , el metodo abre una nueva InSlancla 00 la aplicaci6n.
CentimetenToPoints
Con,,;erte centimetros en punt05 (un punlo equ;vale a 0,035 centlmelIos).
C heckllllSpellltll
Comprueba to ortog,afta 00 UM palab,a y TnHI si la patabta S<! encon
ItO en uno de los
DilP'-YXMlSourc, PIM
Ab!'e el panel 00 \areas Office XML Source y muestr. ta asig<1aci60 XML e5fI'lCi.
fleada pDf el argumento XmlMap.
,.,
Muestra un lema de ayuda.
InchnToPoInls
Corrvierte pulsooilS en puntas.
MKroOptlons
Op:;iones 001 culldltl de dililogo Opclonts de macro.
RlIlsterXll
Corga un recUr.lO 00 c6digo XLL Y reg;Slla automililcamenle las funclones y
oomandDII 'I""
I Volatile
1I Define una funci6n per.lOnallzada como Una lunci6/> volilil se IeCalcut.l
c.!da vez que se ",aliza un c31culo en cualqu,", celda 00 hoja de calculo.
,
,
I

,
capitulo 4
5. EJemplos de tOclllas qlle lIsan el abJeta Application
i . Modilicat.i6n de la imerfa: de EJecel
Suh 'nt.rf .. , I
Wlto .... pliC.tin
... I ... ........ Ie .plio.oU ..
,C.ptlon .... llc.cIOn , N.Be
. vo<Uon
T .. Oo ..... bur. ... .. ""
.SUtu. .... , OJ_',,. "...... oxcel
... 110 ..... f ..... ci. Llel
.Rof.<onoeSty' zlR1Cl
, ..... 1 ..... 10 ....... .... d. , plic..,>&'
. wlod<>wStot z '"x j_j,ed
)"",I.Hio& 10 fu ..... po .... recto
.$undard""'t Vor ... na
. $tondard"<>ntSi 11
""uleo 10 ba ... ... 1>0_ ...... (Q .... O
_1_ ... 1& col .. cl4l>. c "d"' ..
. .vl&ibl al ..
........ 1. . ... do. Iwo .............. vhual ... i
. c.:-.oMllor.IViau.' ... io I.Viaible
!nd With
b. Creaci6n de una listil per50flalizada
Oi_ i ... Int.90<
01_ !<UIOl.J ...... In.ogo<
oi. TabLJ.t ... varian'
.ith
S.' .. , I . l Y
, -"'<ICU.to-!- l n "-<r .yl .... . ""<te . "" .... , ' SUr ' , 'Don,,,,'1
_ ..
N"""I
' 0 .... '

01 cmo ..... &> do h Ii ........... _trio
. (>etCU oto-!- 10. NY_ I "r<oy I h "" rto'
$u, . 'Cont<Q' 11
. Geto"ot-"otContonto lflu""iot I
........ 1 o_t ... I<Io do. I. H ...... cal --...
F<>r i.JkN"OITobLI". " "" UliQurullnbLlot. 11
.. , I ...
I


!
I
-

- I-
Colloll , ., _ TabL!.tl il
i
Boo With
c. SelectiOn tie columnas no consecutivas
01. ""-!ti pl .... og< .... 'on90
Ob}etos de Excel
er OD QbjobO ..... '<TE' do po. , 1,> Y
$0, .... lt Jpl e ... "'1" """U<ot ion.un\onICelloll. II,
Coll.I', )1, Collol',
_ .............. lo. Y 'U , ..,<1 .....
,roc
''''It'pl oR&nge.Solo.t
d. EvalulICiOn del resultado de una f6rmuia
[sle ejemplo eI promed/o 1 e/ ,,/0( mS. lmo de un rlJllO de celdu que
CfJf1tiene nolas. US nota, $e romp/If. n, a continlJlJCi6n. con eSlOS YlI/oreS y 51!
un ClJ(fIML!,io 1IIIa.
Sub r:vd ... e1on I)
PI_ dPro. Doublo
1>1 .. ",,"x .... 0<>01>1.
PI_ Not.. .... HO ..
1>1_ Celdoo A. ""ngo
, ..,.1""" 4401 ra.ngo cIo ll_do "" ....
Sot No' ... TM. ",,<kbook . ....... , NOU. , )
Mot ......... .... "' ... nge, "",.",
Il.l&i .... , .... _, . .....

C.lou' , .1 p ..... 'o y .1 ..
_ r:v .... ,J
dKax. Yalua,ol" Mu(nct ,",
....... r. "" ",-'..-10 "" .. ..... DO'.
'or .. oh "",<1& In ",,'ec<ion
MI<h 0:.1<1.0
S.l.ct eo . v.lu
e ... 10 dIWc
.>ddC: ... nt ' Kl aolo, '
e ... 10 4.rooo
.M<IC: . wnt . ... 0>0< al p"""",,",,,.
. . . I . . .
capitulo 4
--- 1- -
."" l . c t
I"" IIlth
Moxt CIo l <Lo


..
"
"
"
'-"'"'' ...... ~
---
B. Objeto Workbook
Este objeto representl un libro Microsott Ucet. EI objelo Workl:Mx>ll es u ~ miemt>ro
de II colecciOn WorI<books.
EI objeto es d .... uello po< las siguientes propiedades del objeto Application:
- WO!\cbool\s
- ActilleWO!\cbook
_ ThisWorkbook
Ob)etos de Excel
1. Objetos y tole<:ciones
I Objms
l! SrllllIIT.,options
.j! Objeto que representa ~ opciones retaUvas a las etiqlletas i nteligentes.
,
!
!
-

Objeto que representa el lema apticado alljbm_
y
capitulo 4
VBProJect
Objeto que proyecto Basic !I5OCiado a yn libro.
WebOptions
Opciones rel.livas a la grabaciOO y apertura de una pBgina Web.
CoIecciones
Builtin DocumentP, opeiIies
CoIecciOO de las propiedades (.uto<. titulo, objeto. palabr.s clave. etc.) del
libro
Chllts
CoIecr:iOO de los gralicos de un libro.
'"'_ ....
CoIecr:iOO de las conexiones a o<igenes de datos para ellibro.
CustomDoc:umentProperties
Colecci6n de las propiedades de un libro (titulo, .uto<, comentarios. etc.).
CustomVlew$
CoIecci6n de las vistas persooalizadas de un libro.

CoIecci6n de los rangos coo oombre de un l ibro.
Publ l!ohObjects
Coleccilln de los elementos de un lib", grabado como pagina Web y que pue-
den ser actualiziKlos.
' ....
Coleccilln de los estilos de un libro.
T,bleStyl ..
CoIecciOO de los dislintos eslilos aplicables a una blbIa

VBA Excel 2007
W,""'"
Coiecci6n de las vent.OiIS de Ia aphe&ei6n Excel.
WOfIIlheets
CoIetti6n de las hojas de d1kulo de un libro.
XmlMaps
CoIetci6n c!e los objelos XmlMap que se 111m agregado a lin libm. u tos ot>jetos
se usa n para O!dministrar I. relacilm entre los ra"8"S de lisla ~ los elementos de
un esquema XMl.
Xml Narnespaees
CoIea:iOO de los espacios de oombres XML cootenidos en ellibro especificado.
2. Propiedades
I . PropledadH relatiYas a I. actualizaci6n y grabadc:l de 'ibros
Cru'*'lKkup
Boolean. Indico .; .. ~ ~ II"" cop<a de segufidad CYando se graba eI arcllMl.
EnableAutoROICO'itH'
Bc>olean. Act". 0 desactiva I. "!'Cilln AutorrlKupefKI6n.
S ... ,
Boolean. Indica 51 eI libm especijicado no h. sida modffiQldo despuk de I.
ultima gJabaciOn.
I
SaveUnilValues
8oo1e>on. IflllitlI si Microsoft u.:el guartla los valores de los vine"" extemos
con ell ibro.


l! Updat.UnI<l

!
I
-

Constante. Paoimetro de! libro para I.! aclualizac:iOO de los vlncuios OLE illCOf-
porados.
,.
capitulo 4
UpdaleRemoteRemences
Boolean. Inda :Ii M;crosolt Exceillctu&liza refe!ncils remota. libra.
b. Propiedades relativas a libros compartidos
AutoUpOlt.Frequency
Entero OevuelYe <'I deliroe el tiempa, en mlnulos, I!I1tre dos IICtu&l izB
clones alltomaticas en libra comparlido. 5i esta recibe 0,
II ..,llmenle 51! Mte I I guardlr
AutoUpOateS.veehlnge.
Boolean. Indica $i las "'11!lada ll ibro compartido 51! t!lUlsmi
tell a los otr05 usuarios cuando ellibro es actualizado automaticamente.
Chln,.HislolyOUfation
Entero ta rao. Oevuelve 0 estabIece el numero de d>as que se muestran en el
hislo,ial de cambios del libm compartido.
ContllctflHOllltion
Constante. Oevuelve 0 c!efine la Iorma en que se resoelYen los confIictos CUll .....
do se act ll>llizi un li bto comp.!lrUdo.
Hi&hlilhtChanpsOnScre.n
Boolean. Indica si las en libm companido se resoltan en II
panlalll,
KtepCh'n&eH15tOfY
Boolean. Indica :Ii est6 habllitado seguimienlo de cambios en libra com
partido,
UstCh.IlIf$OnNtwshett
Boolean. Indica 5i las del li bm compartido se muestr. n "" UM
nueva hoja de dlculo.
MuHiU .. , Editinl
Boolean Indica 5i el libra estA lbierto como una liua compartida,
I
Obje!;os de E)(ceJ
Revi5ionNumbtf
En!em Oevuelve ca<!lidaod de veces que el libro rue grabado mie11l,as
esblt>a abiefto como lisbI
ShDwConn ictHI,toIy
Boolean. lodiea si Ii hoj. de cilculo Hltloflal de conftidos estla vfslble en el
libro at>ierto como lis,," compar\ida.
UserStalul
V.rian!. Devuelve malril de dos dimensiones indexada a parti r de I, coo la
Inforrnacilln de ClOda IJ5lJ<lrio que !enga ablerto ellibm como lisla compartida.
HuPns_d
Boolean. lodica 51 eI li bro esta PfOlegKio coo conl1a,;eNo .
... _d
Cadena de ClO.actefe5. Devuerw () defioe la COOl1ar.offia """"""ria pam abIi. el
libro.
P ... _dEncryplionAla:arithm
Cadena doe ca.aciefe5. Oevllelve el algo.llmo que usa Micmsofl ttej pa.a en-
cripla. 1M delllbm.
P .... GidEncl)ptionProvidef
Cadena de ClO,ac;iefe5. Devue4ve el nombre del pl'O'> ee jo)' del de cilr.
do que uWIl .. MicrosC>!t Excel para encripta. 1M COOlraseilas del libro e!ijleCifi.
"'"
P'OIwordEncryptlonKtyLl1l(lh
Entero I .. ,go. Indica I. de la clave del .Igorilmo que ulilil. Micmsoft
ttej PiI" eocriptar las tonl.asetias del libm e5!)9Cificado .
. 1 P ... wordEncrfplionfiIeP,opertiet
Boolean. looica si Microsolt EJ<cel enc.lpla I pmpiedades de archillo del libro.
! ProtectSt.ucture
I BlDe.n. looica si el moen de I hojas de c3iculo del libro est;' pmteg;do .

Capitulo 4
ProtectWindows
Boolean. Indica si la. ventanas dellibro estiM protegidas .
. """'.
Boolean. Indica si ellibm rue abierto en modo <Ie 0610 tectUIlI.
RM<IOnIyR..:ommlnded
Boolean. Inda si ellibm fue grabado como recomendado s6Io lectura.
Rem,,,.eP. ,,ollllllniormation
Boolean. Indica si la imormaci6n peroonal dellibm puede "'" e!iminada.
VB.I.$ljnt<l
Boolean. Indica si el proj eclo VBA dellibro liene firma digital.
WriteP,uwon!
eadellll de carao;\eres. DevuelYe 0 define I. <.Ie para e!
libm.
WriteR ... rved
Boolean. Indica 50 ellibro esti proIegido contra escritUIll.
WriteR rvedBy
Cadena de caracleres. Indica el nombre <.lei usoario que allloriudo I so::>-
b""'5CribOr ell ibro.
c. Otras propiedades
"""
Varilrll. Devuelw 0 define kIs coIores de I. II" leta <.lei libm. LI palet.a Ilene
56 entrada . cada una representa un valor RGB.
o.rt, 1904
BooIeBM. Indica 50 elli bm usa e! !.!stema de k!chlrs 1904.
iilii
I
i

!
I
,

Objeto'> de Excel
[)efauIIPNotT ableSty1e
Variant. el esl'lo de de I. colecci6n TableSIyIes que 51! usa
como estilo por defeclo pala las tabtas

Variant. eI estilo de tabla de II TableStyies que se u.a por
defeclo,
DilPlayo. awlnrObjecll
Constant1! , Devuelve 0 define I. maner. en que se mueslran Ia!! fiI<mIIs,
En.'elopo Visible
Boolean. Indica si ron eI encabezado de composici6n de los mensajes
de con"" y I. wma de he ... amientas de robre.
f uli NameURLEncoded
Cadena de caracteres. Nomoo. <lei libro, incluye "" rula en el disco.
HasYBProject
Boolean, Indica si un libm cootie .... c6dill" VBA. Esta propiedO>d es espe:;1.,.
me!1te iit.1 para detelmlnar 5i un 'ibm debe grabarse en un lormato que acepte
las macfl)lS,
1!Addln
Boolean, Indica si ellibro se ejacula COmo complemenlo.
PrteisiooAsDilPlay";!
Boolean, Ind;C8 si los cllculos en el libro se reahzan u.ando solamente los
decimates visible. en las celd .
Show PlYOIChartAdiwf" 1eId.
Boolean Indica 0 deline si eI panel de lareas milO de gri\fico dinamico es
visible .
ShowPiYot T abieFleld List
Boolean. Indica si IIlista de campo. de una labia puede """"lIaISe.
,
capitulo 4
T empl.teRemoveUtOata
Boolean. Indica 5i las re/ereoclas de datos exteroos se ehminan cuaJX!o libro
se como planWI .
3. Usta de metodos
a. Melodos que acluan directamente sobre los libros
..
ABrega el libm espeo:i!icado a la lista de hivorito}!; de la barra de herramienta5
Web .
.. ,"""""
Aplica el tema al libro.
C ....
Cierra el hbro especijieado.
OeltleN umberF or milt
[Iimina dellibro un lormato numenco personahzado.
EJportAsFlud Formal
Publica un libro en formato PDF 0 XPS.
Me'leWor1d>ook
Fusion . un libro abierto, los Cdmbios realizados en otro libm.
NewWlndow$
erea una copia de la ventana "'pedfieada.
()penCtabu.
ADre una base de dato)!; y mi.le&ra la informaci6n en un nUf!1IO libro. Dewetw
un objeto Workbook.
I
Objetos de Excel

Emia el libra especiHcado a una Cl!rpeto pliblka, Este metoda soI"mente
funciona con un chenle Microsoft Excha nge coJ\O!Ctado a un ..,rvidor Micro.
soft Exchange.
PrintOut
Imp/ime ellibro especnicado.
PrimP_
Mcoesl,a vista prelimlM, dellibro especifiCOO(l,
PurpChanpHlstoryNow
[Iimina las enlradas del regi5lro de CIImbios dellibro especfficado.
RefrHhAIl
Aclualiza I"" rangos de datos ""Ie""", y los inlQ<mes de dill3micas del
hbra especilieaOO .
.
OistIibuye ellibro usando II lisla de distribuci6!1 activa .
....
Guarda las modificaciol1es dej libra especiI\CIIdo.
""M
Guama eI libra en otro arehM! {equ".'" a II "I"'i6n
como del me .... ' ArchiYol.
--
Guarda u"," copi. doe! libra actiyo en un nuevo arehivo sin modif;ca, eI hbro
abHlrto en la memomr.
1 Updll.FromFIIe
,
Actualiza un libra de s6io leetu,a pIIrti, de II veMn del libro 8fl!Mdo en et
disco, 51 esta versi6n es mils rec:iente que II copi. del libra CIlrgado en memo-
ria. Si la COlI;' del di""" 00 Iue modi/iclOd. que ""'P' &1 libro en
memoria, la COlI;' dellibro reo.idenle e" memoria no se recarga.

!
I
,

y
capitulo 4
b . Metodos relatiVos a Ia setUridad
ChangeF'ileAccess
Modifica los permisos de acceso al libn> que puede Implicar la necesidad de
cargar. <lesde el disr:o. una ",,1$i6n ""Iuali'ada.
LockServerFUe
Bioquea el libm en al $r!IVOor para evilar su modilicaciOn.
,,-
Protege el libra especilicaOO pa ra que 00 pueda modificarse.
ProtectSharin,
GraM e impide que ""8 comJl3r1ido.
UnProtect
Ja proteccoo dellibro espedicado.
UnprotectSharing
Desactiva la protecciOn que impide comparli, ellibra 10 g,ab/!.
c. relatiws a libros compartidos
AcceptAlICha",es
kepla Iodas las modilitaciol1es he<:has al libn> <:omJl3r1ido especilicaOO.
CanCheckln
Oevllelve una variable Boolean Que indica si Excel puede ex\raer un libro espe-
cificado de5de un servidor.

al us.uario actllo1l un "'Xe50 "",I.,s;vo al li bro abierlo como li Wl <:om
Jl3rtida.
Hi.hlishtChangHOp!iom
Conlroia cOmo se muestran los e!1 un libro comparlido,
Objetos de Excel
RtjectAllChlllIIft
Impide los cambios :lOb"' .. libm compartiOo
R,_ UHf
Oesconecta el muario es;>ecnicado del l ibro compartioo.
BrN kLink
CorMerte 1M I6fmulllS a otros orleenes Microsoft II orireoes
OLE en valore:;,
Cllance
Unk
Modifica un vinculo eotre dos documentos.
EMbItConMCtion$
Acliva IllS tor1e>OOnes de d!l105 en un libn:>.
FoIlowHyPfilink
un documenlo de IIr cache ... y. ha sido Irall$lefido IIr miquin!
1oc:.11. De 10 oontrar\o, este mo!todo resuelve eI h<peMnculo, transfiere eI doc!/-
menlo destillCl a I. maquina local y muestr. el documenlo en I. aplicadlln
apropilod .
UnklnfD
DevueIve informaci6n ""ere. de ta fecha y el estado de actualiztICiIIn del vinculo.
LinkSourcn
I
UIIII mlJl1iz de .... nculo$ al libn:>. l.o$ IICInlbtes de matnz :IOn los
nombres de los documentos vinculados. ediciones 0 DOE u OlE.
[ole ml!todo devuelve Empty 51 no hay vlnculos en eI Tibro,
l _"""

Abre los documentos Ofigen de uno 0 vincuios.

,
!
OpenXmI
Abre un arch"", XML en un nuevo libm. DevueIve un objelo Workbook.

capitulo 4
........
VueJve a carga' un hbro basado en un documento HTML usando la
de documentos espedicada.
Setli nkOnOllt.
(}eline el nomb,e de un procedlmiento ejecutado a cad. actualizaci6n de un
vinculo ODE.
Updatelink
Aclualila uno 0 mas lIirw;ulos Microsoft &eel, ODE 0 OLE.

Mue<I!. Ia vi5ta previa libm e5jleCilicado, 1111 como se vena al se. Ruardado
como pagin. Web.
e. relaU_ .1 envlo de libro$
SendF .ov., I nlerne!
E ...... la una OOja de calculo como fi!): a los de5linala,ios eo;pecilicad05.
SendMail
Envia un mensaje de COlloo electr6nico con ellibro e5jleCificado.
SendForReview
ErlVla un memaje de COfreO eleclf6nico con el libro que hay que revisa, a los
<lesIilllrtarlos especllicad05.
EndRIIView
TermiNI la revis;oo de un archivo enviado para este fin con el metodo SendFor.
Review.
ReplyWrthChntel
[n.ta un mensaje de CO'r1!O al auto. de un lib'" enviado p;! .B revl
$l6n y Ie informa de q"" la .evi!i6n ho oido ","l iIad .
I
i
,

!
!

Qbjetos de Excel
I. Otros metodos
l os metodo5 reratiws III Importaci6n y de lIf(:hiVO/i IorrnalO XMl
Xmllmpon. etc.) se en el capll1Jlo 11,
4. Ejemplos de c6diSOS que usan el objeto Workbook
Para proOO' estos ejemplos, debe crear un direclorio c:Wentas con la base ejemplo
de Acce<s NorIt>wind.mdb.
Cn!aci6n de un libtu Excel
[ I ejemplo permite:
- Cenir todos los libros abiertos excepto libro activo.
- Creal' 00 II\>eYO libm,
- Protege' el libm con
- Agrega r ellibro a hi .sta de FavorilOS,
_ GrabM y cetfar ellibro,
Sub ..... Y<>L lbrO Il
01_ Llbn> ...
01. I ... '"tego<
01. j ... 'nu<]o<
elo,,<o 100 I lbroo .. tQ ., Ilbrc
y euor4& 1..- 0_1_
' Or lOoh Llbro 'n .., .. """
Llbco , cloo. TrU.
-"
"0" Llbro
e. .. OD "bro
Sot Llbro _ Appllcot IOD ,MQr . """ . Add
" I<h Llbro
. . . I . . .
Capitulo 4
. .. I . .
.ro. _ . 1 Ub<o eo.. e"" ..... 11<0
..... '.',.,1 v.n ...
. wdU u""rd . M_Vent ..
0..,40 .1 'ib,o
. $ovU. 'C, \ v.nt .. po. "9160'
"V.oga .1 Ub. o a 10. lo_ to. do I. b .... do _ _ 01>
.Md"Tofov<><itu
CIo.u .1 Ub.o
.Clo ..
e .... _. t b
b. Importar una base de datos y exportarta al fonnato HTML
EI siguienle ejemplo muestra c6mo:
AMr la labia Clienles del 8rcll'vo ' NorIhwind 2007.accdb' en un nuew libro.
esta infotma<:i6n en 00 archivo HTML.
Abrir el archivo HTML.
Sv.b c ... Ift>II.'U.11
0'. Lib. o ... KQ<l<bool<
O 10 .ablo C"oa'.' 4. I. b ... Aot Mo 2007
OIl un ""...., lib...,
Sot Lib.o II<>. kboo" . C!penOi.obooc _
I' ilona ... : . TIIUII<>.kbook . th , l007. &<:<<11> '
C: ' ''''Tox., . 'S_LlICT ''''''' CLIEIfTS' I
_,t. 10' e""" "" .rch.! ..... tal.
Ac. j r . boo . So .. .. 11>\.11<> r"""" . h t . ,\ eli 00 . hto'
fll. f o ... ' "KlI<t. I . ...... Ooly .., ___ I ... CnotoB."kup ; n ..
"".0 .J. ... h.! ..... tal
II<>. kbook. Open .jl."" .... . Thj.Mo.l<lOl< . h '\CUontu.ht.'



i

;


I
;
J
u


"
'li
lOi


c: <.> Ii
" .
. , .




do
! "i
"' "
" .
!!:i .t
H "
." ,
e .2
!
" ,
.'.
". ,
, -
. .-
, .,
0. 0

I
!

r
i
I!
I .
I 'i
I !
III

I
I
!
,
!
lill I
1 l
.!
, I
It! Ii liJ
1
-
-
,
:
-
,
!
I
-
-
,
] I
H
!!
..
i
... ..
!!o __
.... " ...
... ; ... '
' .!l,}!;::
- -
8!
.,,.. .. .
. . .. .
:::f
iolo
... 8'" .ll2'"
. , .......
. ..

" "!.:: ""'


.:! 8 . U",,,,,.
...
e.. . " ",
"';;;; ...
I
i
1
..


;
i
,;


,-
- ,

,
, .
"

,,[

"' ,
-;



- .
! "


.-
U
'2
'I"
,.!

."

Q

i




I .,
1I .'; .
.. --
.. ...
. Q!
.. :; ....
: 1:: p , . -
o
---
x ..

-
t .... '11
-" .
1l .....
11' -

-,
"
-
II
"


-..
- 1
..
:i t: ...
'I "
, .



, ,
"
!
,

_,., , .. -.'" _1"
Capitulo 4
C. EI objeto Worksheet
Este objeto representa una hoja de clilculo El:el. EI objeto Worbheel es un miem
bro de ta roecciOO WorkSheets del ob)eto Wor1<book.
ute objeto 8') p:>' s'guientes propiedades del ob)eto Application:
- Worllsheets
- ActivoeShee\
1. U$ta de objetos y colecciones
I ........
Ob)etos de EKCel
2. Objttos y colecciones
Objetos
AutoFiH ...
Objeto qll!! autoliltro de hoia de especificad.a.
Cells
Objeto 1lIna:_ q"" rI'f"esoema tad IllS ... de I. hoja de cilculo espedlica-
".
<MUM
Objeto que 'I!Ilreeota esquema de la hoj. de cilculo especi!icada,
Pal_Setup
Objeto que representa las opciooes de conliguraci6n de p6gina de I. hoja de
cilculo

Objelo que represeota las opciones de p,otecci6n para la hoja de cilculo esp&-
Esta, opciones son acce!.ibles en Excel a !taw.. del menu Hetramien-
las . Protecci6n p,otea" hojl,
., ...
Objeto que representa """ 0 un mnll" <Ie cekias (U!\il fila, una roumna,
etc.) .
""
I
Objeto que ,epteS<!nla ordenamkmto de un rango de datos,
'"



Objeto que reptesenta la fiche de la hoja de cilculo especijlcada.
! CoIecciones
! ChartObjecb
Coleccl6n de 105 groMm incrustaclos en IIojII de cilculo

capitulo 4
Comll'll1lls
Coteccicin 0. !Ddos los <;OITOI!nta"", de ceId. de la hoja de ca1culo especnk:ada.
CustamPropertifl
Coteccicin de objet'" CU$tomP,OI*ty que O"e9<ese11ta I. infGrmi'lCicin comple
rnemaria (melad.tos plua 0 etiquetas intelieentesl.
HP",eBruks
Coteccicin de los saltos de p'ogina en I. zona de Impresi6n de ..
hoja especffk:ada.
Hyperlinks
Cole<;<;icin de los hipervinculos de I. hoj;I de cilculo especificada.
ListObjects
Coiecd6n de las listas de I. I"qa de cilculo especificada.

Cole<;<;icin de los rangos de ce1das COO nombre de 18 hoj. de cik:ulo esjleC" ica
..
OlEObjects
Coie<;<;i6n de los objet", Actr.-eX y objet", OLE vincutados 0 incrustad", en la
hoja de cilculo e<.pecnicada.
PIwtT.bIe.
Coiecci6n de los imorrnes de tabla dinamica de Ia hoja de calculo especificada.
QU9rYTablel
CoIeccicin de las tablas de hoja de a partir de datos enviadOl$
<iesde un origoo de datos extefoo.

Coieccicin de los escenarios de la hoja de cik:ulo especifocada.
SrNnTII$
CoIeccicin de las e\;queta$ inlel;genles a<;OCiadas las de la hoiIO de
c&k:ulo.
Ob)etos de ElCcel
VPqeB,eak.
CoIecci6n de los de \'ertitales ell ZOI1a de impresi6n de la hoja
espedicada.
3. Propiedades
AutofitlerMode
Boolean, Indica si las Ilechas del menu <ie!.plegable de los auloliltros aparecoo
ell la hoja de dlcukl especificada.
Consolidationf unction
Constante liM in, llSum, etc.l, Oevuelve funci6n usada 1'8" con
!IOiidad6n act""l.
ConsoIidat ionOptions
Matn: de Boolean Que "'presenta las opciones ",Iati.as a I. coosolidaci6n
(!6Iulos "" la hla supeno.-, r6t1lk:>li ell la COlUmN IZquierda, con los
datos de Ongell).
ConsoIidationSou,ees
Matnz de cadeI\IIs de caracte<es Que contlene los nombfes de tas hojas onge<1
par. la consolidaci6n actual de la hoja de calcukl especihcada.

Boolean, Indica s; se mlleSiran los saltos de ptigina (autom3ticos y
de la especificada.
DlsplayR iJhtT ol.eft
Boolean. Co<resp<)nde a la OIlCion V., .. hoja .. tuaI d. d .. ."ha a Izqu;"da
cuadro de dl'logo Herramltntu - Opclone . lich" InMfI\JCIoNl
I
l! EMbiedAlltofilt.<
Boolean. Indi" si las ftecha5 del AutolilllO a<;Iillas solamente cuando esU
activa til proleccicln de seIIo interlaz de usuario,

.!l EMbieCalculation
I
-
Boolean, Indica s; recalcula alrtomaticame<ile la hoja de calculo cuarodo

capitu!o4
Enablef"OImatCond itionsCa lcu lation
Boolean. De.ue1Ye define !.i los lo,matos se aplican aulomatica
mente Ii es neces<l,io.
ENlbieOutUnirc
Boolean. Indica si los simbolos esq...ema esla" aclNos cualldo
prolecciOO de 0010 inierlaz de l$J;loo.
EnoblePiwtTabie
Boolean. Indica .. los cont'oles y las acciones de la tabla acti-
vas cuando estll Ia pm\ec<:ioo de 5610 Inle<ial <:Ie uluario.
EmlbttSttectlon
Conslante. Oevuelve 0 deline los elementos que pueden Ia
OOja (,INoRestrictions. xl NoSeleclion,
FiR. ,M"""
Boolean. lodica si hay apiicado un filtro a la OOja especnicada.
MailEnvMpe
.. encabezado de moosajes <:Ie CO<ff!O eleclt6nico pa,a la hoj' espe.
cnicada.

Cadena de caracieres que comiene eI nombre <:Ie I. hojII de calc""'.
ProtectConl*",1
Boolean. Indica .. el conlenido de I. hojII especilitada esta protegido.
ProtlCtDrawincObjectl
BooIe.n. Indica!.i las formas estin prolegKlas.
ProtectionMode
Boolean. Indica .. esti acliva la protecciOO lie 56kl inte<iaz de USUotrio.
p rotectSctoartos
Boolean. Indica si esUn proIegidos los """'NI ' ''''' de 00j1 de "'lculo.
I
.

!
SaO", ..
Cadena de caractete5_ 0 e4 rare:> en que esU permllido el
desplazamiento de to hoj' de cllculo especificad .
StandardHeilht
Real d<.>I:>I!!. alto (v.1ot pot OeIectoi de las filas de to !>oj.
de cllculo especdOc.ldll.
SlandardWidth
Real doble. Oevuelve el al1Cho eslanda. (valor por defecto) de las columna, de
I. hojo de ciikulo e!.pedi<;ad .
""
Constante. Oevuel\le 0 deli"!! bp:> de I. hoj. de dlculo (xlCtlart ,
.IDiaIogSheeI, etc. ) .
.....
Boolean, Indu si I. IIojlI de cilculo especifUd.a estli visible.
4. Metodos
Activate
Activa I. hoja de cJk:ulo especificada. Equivale a hacef elic sabre Ia liclll de to
hoj .
Calculate
Recalcula las celdas de I. hoj' de c.llculo
ChedlSpelli",
Electua II _ijicadlm Drtog\'8Iica de II hoj. de cllculo esp.dicada (equivale "
I. opci6n OrtOl'illlf. del menu Hefumitcltas) .
Ci<clelnvalid
Rodea con un circulo las entradas incorrectas en I. hojII de die"'" especijj
"",
I CIQ,Arrow.
o Bor,. lis flechas de auditorla de la hoja de cllculo
Programar ef1 Excel: Macros y leoguaje VBA

capitulo 4
CIH!Circles
Bot ... los que rodean las eolradas iocomIClas de la hoja de ca1culo.
-
Hace u"'" oopia de la IIoia de ckulo e..pecificada lantes 0 de una de
las hojas del libm) .
..... "
Elimina '" hoj. de ti1culo espedf1cada.
EYaluale
Calcula la I!Xpresi6n pasada oomo argumento y deVIleJve el fnIl ltaOO. La
si6n debe corresponder a uJ\ll fOrmula de tilcuio en ingieo.
ExportAs.flxedF ormat
I'Yblica una hojl de c.!k;ulo eo lormato PDF 0 XPS.
M_
M"""", II hoja de tilculo especificada a uJ\ll pos;ci6n dada (anles 0 despues de
urla de las hoj.s dellibfO).
Pule
f'ega eI contenido <lei portapapeles en I, de calculi:> especificada.
Pnlt$pedll
pega el conlenido del por!.apajleles eo II hojl de tilculo especificada respetan--
do e! iormato especificado (pegodo
''''''''''
ImPlime la hoja de tik:ulo
PrinIP,,,,tew
Muestra '" mta p!limioa, de la hoja de tik:uIo especllicada.
,-
Protege la hoia de calculo especihcada.
ntl
VBA Excel 2007
Objetos de Excel
ResetAIlPaleBfOU
Redefi .... los sallas de de la hoja de ,,"lculo e!.pI'Cijb!:la_
.......
Guama I. hoja 00 dJlcuk> en un nuevo lib",.
'"OK<
Seieo:iona la hoja 00 cillcuk>.
SeiBKklroundPlctUl"8
Delitle el gralico de 10000 de hoja de calculo especilic.!da.
ShowAIID.ata
Muestta IOOas las mas de la lim
ShowllataForm
MuesI1a los dalo. 00 II hoj. de dJlculo como furmulario (co .......
ponde I ta opci6tl del menu 1><010$).
UnProtect
()esactiva I. prolecci6tl de I. hoja de ,,"\culo
Los rretoOOs relativos a mapas 00 d.105 XML (XmIOataQue<y, XmIMapQuery, etc.)
se expiican en el capitulo II.
5. Ejemplos de cooigos que usan el objeto Worksheet
i . Ordenar las hojas de de un libro
I
fI sieuJente ejemplo permile,
- Ordena, las hoj.s de un libro,
- Modifico, el color de I.s rich.s de elida hoj .

!
I
-

C:lpfrulo "
.-..0 OjanhUIkIJ"1l
OJ . IkIj. Ao WO, k.hee'
0 I ... ... ,
0' ... I .. ",,) .. <101 III> ... '0"_
O,d.noaoj ActlveWOrkbook
.corr . 'a. boJ 40
'Qr j I 'to Act!v.WOrkboo' , ""r " "eeta,Couo.
ht ",,) Activewo ....",,, _ . 0 . . ....... 111
IIlth 110).
-'><10' . , OO'Qr <10 I . Uello
"""-0<:1
b:I o ith
I
'riv Sub O'ae .... lIoj .. ILlb"rol ... 00._1
01 .. I A. In._r
01. ) A.
....., ... 10.< .... '" po Qr_r ." ..... le_ I .. bol <10 e' l cul o
do .... lIh ...
it" Llbrol
'or j I ,.., .oorun .. t . """n.
For) . 'Tol_'
It .""r " ... ,.IIJ.No_, .iI<lrb" ... '.OI .... _ T1len
.110, 1140 . .. I II . ...,.. boI'Qr.,.. "".hn .... 1 J I
End If
NeK' J
NoK' I
."" lIith
I



!
I

Ob!etos de Excel
b. Proteccl6n de las hojas de dlculo de un libra
We ejflmp/o pro(efIe de dlculo de un libro permi!if!ndo
IJIJraiucione.; de celts. agregar ooIUffIfIaS y Y IJIJ/Q.
filtros. LIs otras operaciooes (e/iminar fil6S 0 cvlumtJds. modific<tci6n de escMIrios,
e!t:.) qUfldltn pmhibidl1$.
Sub protegeKoj 11
01 htCU ...... ' "" ..
or . ooh oh'CUrr,",,' 'n "".I""""rkb<>(>k ""rbhe ...
ohtCllrr.nt .Prateot
content., .Trua. ..llo".o ..... ttlf>9C40lh ,. 7<".. _
.. llowl ... ertingCol..mn T .....
.. llowsort i"", . , rua . ..llow' I 1< e <ing ,
Next ohtCllrr<ont
c. OrdeNr una tabla
ute ejemplo OrOMa uoa tabLa segim !res tdumoM, ciudad. apell ido y nombl'e.
Or''' ' l a t..,l. do cUnt por ch.d&<> ...... " .... y ....... r.
Ralaranco, .cll ... ta.
With ""tl ve""rkbook. ""<koheet. I 'Cllent ""1 .
.Sort . lol4O.Cl a.r
.Sort . leldo .Md ItOy, . .... """ ( "C" ClO ). SanOn , . xl$ortOnvolue
Ordor, . d ""eo""ing. ""t.Optlon , . xlS<>n"".-'
. ,""r<Plold . """ ..,., . .... """' (" 22,llO I. SortOn'.x!so<wnv.I ......
Ordo., .Il ... DoUOpt ' Qn , . xloo"" ...... t
,50.t ... l4O, """ Kay, . ... ( "0' ,Pl. 1 $onOn , . xlS<>rtOnval .....
O"'a r , . xl""o_ .... ,,,,,, Do t oOpCi <>n , . x,"Q"-""""
.... "'""ol"" ' , QlO j
.!Ieo""r xl ' .,
.lIotchC.ooe 1..,
.Orl.ntatlon xlTop,oaottc.
.Apply
I<nd With
s\J.b
capitulo "
D. EI objeto Range
[I objet<> R.ngoe ,ep<esenta un ,ango de celdas y puede esUl constiluido par:
- una celda,
- una fila,
- una columna,
- un rango de ceklas conliguas,
- un ,ango de celdas no oonligLliS,
- un '""80 3D_
1. Propiedades y que devuelven lin objeto Range
P pledade
m
S !jLIII
en un 0
'10m R
anI!
Propiedad Objtlo Objtlo deuelto
=''''''''
Ac\NeCen
Applicahon Objelo Range Que repre5enta 1.1 primer. c.lda
Window
de ta ventana kINa 0 especlficada.
",.,
R, ...
CoIecciOO II"" agrupa IOdos los ,anaos de una
oelecciOO
Cells
Apphcalion
ot>jeto Range q,," representa uno calda (I una
Range cokcclOn de celdu:
WorkSheet de 10 hojo acliva si el objeto conter>e<!o,
es Applico1ion ,
0eI 'ango si el objeto oonleoedo,
es RanI!",
de 18 hojo de especificada si eI objeto
COntenedOf es Worksheet.
Obletos de E m
p- Cb",.
eOI1\e,\edo{
Columns
Awliclotioro
Objeto fulr"@ qlle Ills eoiumnu;
' ....
de la hojl acliva ej objeto contene<.lo.
Worl<Sheet
es Application,
del rango npecificMO el objeto contenedor
es Ra"8".
de la hoia npecffK:ada el objetc conIenedo.
es Worksheet.

,,,,.
Obieto Rlonll'! que representa el objelo Range
especffK:ado, li mftaOO PDf toda combinaci6n de
Wi'S y coI\ll!1nas vi'cli'S.
EntireCotumn "",.
.,"'"

repr",;entll


...
o;dumnas _as del ranso npecificMO.
EntireRow
Objelo Range QLI!! representa una 0 m,b fillls
enteru del rango npecnOcado.
'''''
Ranee
Objeto Range qLl!! represoola Iii ctlda sltUilda ..
final d, III zona de lanSO esplCifiClldo.
Corresponde a la CQrnbinaciOO de
tecia, (Fin][FIecha a,rihl).
(Finl Flecha ahljo), (FinllFIecIla izquierda)

(FinlFlecha derecllaJ.
""'"
" ...
Objeto Range OespjazlOdo

mhs fik1s 0 columnas.
" ...
Application Objelo Ranee que ",presenta un .10lI0 da
I
Workolleel caId .. ,
Ranee de 18 hoja activa si el objeto conler.edor
es Application.

,
del .ange> eopecnicado'; el objeto comenedo.
es Range,
- de II hoia si ej objeto contenedo.
es Worksheet.

!
I
"

Capitulo 4
P"",i . dad
"' ....
ObJelo devueko


ApplicatOoo Objeto Range que "'Il'It:en,ta tod.s lis fills:
" ...
" de II hoj. a<:tivI si el objeto conter>l!do.
WOfI<Sheet
es AppHcatioro,
. del especijicaOO 51 el objelo coroleneool
es Range .
. de Iloja especijicadl 51 el objeto contenedor
es Worksheet.
U5edRlnge
W ...... ,
Objeto <I"'" fIlp!eSenta et uSIIdo en
su totalidad PDf t& hoja de especificada.
MO "
devuelY n n Db" to Range

,
,.
Milodo
,,-
Objl'lo devueIto


Apl)iicalioro Objeto
Range

fIlp!eSenta
"
IntHSlCao..
reclangula. de va.1os rangos.
Union Appiicalioro
Objeto Range que representa I. uni6n de varios
langos ronti8uos 0 discontinuos.
2. SintaKis de las propjedades que devuelven un objeto Range
Celis
-
Obj@to.Cd t. (( RowInde x]. IcolumnInde x]I
RowInde x nilmero de fita de la celda.
ColumnInde x mimero de coIumJIII de la
o Si 1'10 se indica ningtin a'llUme<1to. Cell. devuelve I. comHln de celdas dej
rango
I
i

!
I
,

Objetos de Excel
jemplo
1 silluiente ejemplo modifka el COfItet>ido y eI color de celdas.
SuI>
OJ . c., .........
"""HI .... """._1 .... (So , ......... (So 10 "", <in
.. tl"" .c.n.() . 1 _ ' e""",'
"""Hie , co ..,I .... (So , .. 00'''' (So , .. 110, ..... h.
,,<:.1 v.&h.." . " ' '''S. ,0,0' 1 . II f. b, ...,
"""ltl 01 eo'.oQ,d<> (So , , .... 3 (So , . 110, . &O.h.
AetheSb .... t.c .. '.O . 1 .. u.o
_'U oj __ , .. e.' .... Ct. 0. ,a. D'
'0' r..ch Col ...... In "''"]O("CI,O. I
,.I40.lot . ,\0 . oo10, vbRod
" ... t CoI40

Range
ObjetO. Range (CellI, (C .. 1l2])
Ooocle cellI Ce1l2 pueden ser:
UIIi! celda (pO< ejemplo, ' AI ' )
un ,ango 0. celdas (po' ' AI,S7' )
un nombre de celda (pO< ejemplo, "ToIales")
Si Cdl2 esu especffic.ldo, Range devueM! un 'Ingo de celdas contiguas que
Incluye los <los ,anp
" ,
capitulo 4
fjemplo
fste ejemplo CIN I" siguiente tabla en una fIoia de c,j/culo.
sub Koj.Rooult. <IoO
ci. i .... ,n'agor
01. _I"" ..
Wi th
..... n"" I ' U ' ) .
...... col_
Fo .. I,ITo'
.1tan9.1' A I ').v.lu
F<> ..... I''''''.V.lu.IOI/ "10 1 ' )). "_.)
Kext (
"gl-. .... fl O.
.... ng.' .,'.,) , V.lue. A,nyl ln." , '''''''. ". Su .. ' MO'U')
Fo..a'o ... cd40
........ I ... ;., ) . _rFo""'" ". ,.O. OO -E "
........ IA7 I _VolU4 '
la. cd"". que <>U_ 10. to .....
&oIpo __ 16 ..... 1 I odd.o. 0 __ n
R,_' B' I.NU, "ToU'"
R. "'1" 1 "Tot.l.") . yo.-l. .,,.... ( ... ,.0'
R."",,( "C'). N'''' , "Toull '
"''''1'' ( "Tot.") . Po ...... l. .,,.... (01 'CO;,
... "90( C' I.N .... ' "Totall '
ltangoo' ' TotoIl ' ) . Po ..... l. ',SIM(lJoI ,DO I
' "Tota l< "
R.o ... ('Total< ' ) . Po ..... l . ,.LOur" r'l
"" . ith
I
Objetos de Excel
""",
Objeto.Offs..t ([ r OwOfhe t l . [columnOfhe tJ)
rOwOfhet
Cantidad de filas de Oes!:"aIlm;ento.
colOfhet
o col Ofhet y rowOfhe t pueden cootenef va10res negativos.

EI devuelve fa c/irecci6n del range, Que resullB de un de."laza.
mienlo de lildS Y coIumnas.
Sub Dt'vuoOlvoO!hot II
With R. ng.o( "B' , C7" )
.... pl __ <o ........ UIo ... d. o rrlb.
Dt'vuoOlv. " IS. US>
Mog8<>J< .Ort..,tIO. 11.Md ....
.... pl .. _ I0 ... " d ...,. ."' ..... 0 .... 10 , ..... .., ...
Poouol.o '"'7, 'CI '
. 098<>' .o., .. t " ,. Ol .""""" ..
_ With
Areu
Objato.Ar .... a Illno:lexJI
Numem del rar,go en distintos fDngoS del objeto.
o Si 00 se indica
espec:Wicada.
ningun argumento. Are n devuelve Ia co4ecci6n de ransos
capitulo 4
fjemp/o
fste "jemp/o pe,mite,
- una rom formilda pIX .arios fangos de cekUs discootinuos.
IlfIna, ,,/ Pli,",,' rango a parti, de una maui z,
pone, en neg,ita la luente para /ada!; 105 ,.ngos.
' ol> ><,..,1>000&"1100 ( I
0 1. &on.>TQt .... """IIC
01. , .... ' 0' ",, <
_''''' de ...., ..... ,...., ... , .. "" .........
h' ;on..'tot . ,""I""I"'''IIcl " U , K) ' ),
""09< ( "J2 , " " ' )
Wi,h ""noTot.
.. 1.0 .... _ n ...... ])&_01 .. do """ _, .. 10
..... ( 1 ) . VOl"" PI'''' . "0 .... ". "*'>r ". " Non.')
PoG. *" u.g<' t . 10. 0 0 de tado. 10. <_.

. 'on,. lQld ;,".
"ext !
_hl..,;t
end . Ith
."" Sub
Ob)etos de Excel
3. Lista de objetos 'I coIecciones
ella.act ....
I
Ob;'!o que reJ>re5"nta to!I earac!eres ~ !&to de la oekia esjleCificada.
Com""",
o
. ~
Objeto que representa el comeniano asociado a ~ celda.

I
!
Obje!o que representa los effOl'eS en el .area e5!*ilieado.

capitulo "

Objeto Quoe cootiefle los 8!1ibutos de fUl!f1!e (oomb ... , \arrutllo, color, eto,) "'"
r<lflltO
Interior
OI:ljeto quoe eI ft' lleoo de IllS celdllS rareo especilicm.
PivotCall
Objeto que tep'ese<1ta una celcla en un jiifvtme de dlnamica.
V.lidation
Objeto que repf\!5eI1ta la de datos aplicada al ranlQ especmcado,
XPath
ObjetQ quoe representa un XP8th {ruta XMU m;lpeado en ej r<W"e' de celdas
especilicado.
CoIeetlorle$
Are
de todo$ los re"KO$ en UM 5e1e<:l:i6n de m..,has Z<lrlilS
'"'''''
CoIettiOn to<lo$ 1m _ del r...-.go de ""!"'cificado,
F _,!Conditions
CoIciOn de 1m fI:Irmatos del rango especiflcaOo.
ttyperLl nQ
Cole<:l:iOn de 1m hipeovloculos del raRlO especmc.ado,
""""'''
CoIecci6n de objetos que conbenen Ia imormaci6n de UM cac.\eNI de texto
especnic8 en UM
ObjetoS de Excel
QlIH)'T'biel
CoIecci6n doe obietos que 'epresenta lablas de hoi! de clk:ulo creadas a
p.arti' de datos devueftos PO' un orill"" de &temos.
SmIortTilli
que rnpresenlll las etiqueta. (Smart Tags) asigr.adas a
cad. del rango especificildo.
4. Propiedades
a. Propiedades relaelonadas COlI la poslei6rl y eI forrTYto de las celdas
A1lowEdit
True s.i el rango puede ser en una hoi! de dk:ulo protesida.
Addrl" Loclol
Oevuelve til referencia ,ango especilicado en.1 idioma del usuario.
AddleSi
Devuelve la reterencla del ,ango en ellenguaje de la macro.
Column
Devuelve eI niimero de la prime,a columna de la primera zona del ,ango espe-
cilitado.
CoIumnWktth
Oevuelve 0 define el arocoo de tOOas las columnas del '"ngo
I
Hort.ontalAlllnment
Constante. Define 0 devuelve e4 tipo de aline<'ti6n Ilorilontal .
. i InOtntL.....t
:1 Devueille 0 doefine el nlvel doe SIIngria electNo.
!
I

,

,-
OevueM niimero de prime", fila de la primer. zona del tango .
Programar en h eel: Macros y lenguaje VBA
liM
Capitulo 4
RowH.Jehl
Oevuelve '" alto, medOlo puntos , <II! las fitas del 'i>IlO
UAStandl, dHeichl
Trw iii '" alto de fila del objelo RIRIe eo; igual alallo esUndaf de I. hoja.
U..,Standl" IWidth
Trw .. .ncho <Ie dej objeto Rl np es 1&\IIIIai ancho est!ndar de
"" .
VenlealAli, nlMltt
Coostante. Define 0 delluelve el tipo de alinellCi6n
b. Propiedades que se con e.J contenldo de celdal
con las f6nnulas
COIHltUrt'
Detem>lna el valor mlximo en ,ango.

DevueI"" 0 <leiine 16rmula en III eslilo de re/(>rencla AI.
Formul. Locll
0evueM! 0 define II f6<mul a objeto u."ndo w.; .. enciM do! IISIjIo Al en
el idioma del usuaoo.
Formul. R1Cl
Oevueille 0 <leiine Ia fOrmula dej objeto 1<15 ooIl1Clooes de estilo RIC I.
Formul.R1Cl loclt
Oevuelve 0 Oefine ta 16rmull usando las notaciooes RIC! en el idio-
ma del usuaOo.
Prefu;C"-'acttf
Oevuelve el prefijo de al ineaei6n de Ia cetda.
Objetos de E)(cel

V!lor de la COIl el for mato especi!icado (contenido visible de
la celda).
Value
V.1o< de I. celd. especificada. Si la celda esti vada, Ia propiedad Value de-
vuelve el valOf Empty (use la lunci6n I$Empty para testear este c.tSO). Si eI
oIljeto Rante eontiene varia! celdltS, d<wuelve una mab"iz (Ie valores (use la
luociOn llArray para teslear este caso).
WrapText
Boolean. True $i MicmsoII E>ul insetta aulomabcamente relomos de carro en
el le>to (leI objeto.
c. OIrlS propiedades
Mer&.c.I1$
True 51 el ,aneo 0 eI COIlIiene eomb;nadltS.
u$t .... .oorROW$
Oevuelve I. canUdlKl (Ie de encabezado en el rango
5. Mitodos
a. Meiodos Clue devuelven LIn objeto
CoIumnDiltertnS
Oevuelve un objeto Rance que represenlll la. celda. donde el cootenido es
I
difl!!'ente al de Ia celda de comparaciOn de cada coIumM.
.. find
t

!
I
-

Busca uM inform.d6n ""p""ilica en un fango un objeto Rlntt Que
represenllli. primer-a celda donde aparaee esa Informacilln.

Continua UM bUsqoo:Ja celda) iniciada con eI ffiO!todo And.
Capitulo 4
FindP"",ioul
ContinUa una bUsqueda (celda antetklr) con el n.etooo Find.
RowDifferer ......
Oevuelve un objeto Range que representa las ceIdas en las que el conlenido eo;
diferl!nle del de ta celda de comparaci6n de eada lila.
SpKialCells
Oev""""" un objeto Ranee que represenl>l I", celdas que ef lipo
al valor
s.tPn-tic
CrI!a un objeto Phonetic par. I4s celdas del objeto Rarce
b . qLle se relationan con la pre-sentaciOn de las celdas
AddCommenl
Ajjte80l un comentario al ,ango.
AUloFIt
Modifica el ancho de la. coIumnas del ,ango eI alto de Jas filas para aj".ta,
"". dato:o; .
Borde,Ar<IUIICf
Ajjf'l'lla un banle un ,ango define Color. L1MStyIe y Weicht
del nuevo bonIe.
CI.arComment.
Guila tooas 105 comenlaros <Mt celda del rango espedfieado.
Cte.a, Formll'
[lim;"" 105 form. IOS doe las celdas.
Cte.arNoIcs
Bo"a las nolas y sonoras de todas las celdas doel tango eS!)eCificado.
I
i
,
!
I
-

Ob}etos de Excel

Inserta una sangria en las celdas fango especificado.
,,"'.,
Reotgliniza eI en un fa nee> de lom1a que 10 Il ene de maner3 unifofme .
.....
Comb4na las
HoieText
Oevoove 0 define now de cfldas la ubicada en la
esquina SlJpt'rior del fa""".
Sort
OrdeM un fa""" de valares.
TextToCoIumml
Redislribuye v.rias coIumnas una eolumn. 0. teklas que contiene lexto.
UnM' lIf
$epara un ceIda comb4l1!1d. en celdas
c. que Ie relKionan con eI contenido de las celdas
AulofUi
Ejetut. un Henado ine",menta l en In ""Id .. del rang<> es".,eifitltdo.
AutoCompiete
un. colncldenel. de II funelon.lidad Autocompjetar de I. 115l1.
cte.Cont..,ts
Boff' eI contenido 0. la5 celdas.
Consolidlle
CoMoIida datos que provienen de v. rio!; rangos situados en drte",nle5 hoj de
dlculo en un "nleo rango siluado en una unlca hoj. de cillcwo.
capituk> 4
C."
Copi. at portapaf"'Ies" objeto Rance del rango
CopyFromRecordSet
CopO' "I conteo;oo de un objeto Recordset AOO 0 OAO en una hoja doe c';lculo.
comenzatldo eIlla esquina superior izquierda <.lei rango espec;ifialdo.
CopyPkture
Cop;a el oIlielO seieccionaoo en el portapapeles en forma de imag<'!n.
Corta .. oI>jeto Y 10 gtJI!rd. "" el portapapeles" 10 pega en un Oestino especHI
'""' .
.,. ..
[Iimina las celdas e indica c6mo reemplazar las celdas eliminadas_
FiliDown
Rellen. un rango 1Iaoc;a abajo.
Fill Left
Rel lena un rango 1Iaoc;a izquiefda.
F1I1Riaht
A"I""a lin rango haci. I. derech._
FillUp
lin rango h. d rri ba.
FunctionWi ... rd
Inicia el par. tllnclooes en la Ida situad. en la esquina SlIperior
izqu;efda del ra ngo.
'"""
Inserta celd .. e indica c6mo OesjlIozar las celdiS.
ObjetOS de Excel
..
Redi5tribuye un ra"l/O de y It> divide en varill5 Dislribuye COI1te-
nid" del range de q"" coIumnas adyacentes; el roo
pueoe Ie"", mas de UJIII coIumJIII de
PlsteSpecll1
Elect':" et pegado especial de un oo;elO Rante proyeniente del eo
et ,aneo especificado,
RemoveDupt ic.ltes
Elimina los datos repe!idos en un ,ange doe valores.
Replace
Y reemptaza "",acleres en celdas ,ango espe<ificado, EI u50 de
este mModo no cambia la selecci6n ni Ia celdl actNa.
d. Melodos que se relacionan con los nombres de celdas
App/yN,mes
Deline IlOITlbres pII ra las ceId-as del rarogo
Creat. Names
e,ea nombres en el raneo esj)eCmcado en fund6n de los rotulos de texto doe Ia
hoja.
LlstNames
Pega una list& con los nombres doe II hoja de c/llculo que no est6n ocu!tos,
comenzando PJ( II prime<1 celda del rango.
t e. que se relacionan con los fill ros

'. AdvancedFilter
:i: Fill,a 0 copta los datos de uJIII Ifstll en funci6n de una zona de cri!efios,

! AutoFilter
i Fiit'l u"" li""'_
-

,
CapituK> 4
f, Metodos que Ie relKiofian eon el modo KqlH!1Tl.1l
ApplyOutlineStyies
APica los estilos del esquema al
AutoOutll ....
Cru aulom3ilcamenle un esqueJN! JIII ra el rango especificado, 51 el rango bene
una sola celda, Microsoft Ucel Cr1la un esquema para tada la hojI.
-
En un esquema, aUme<1ta el nlvel rango en 1'1 esqI.leJTU . EI rango debe s,,,
una fila 0 una entera 0 UIl fango de mas 0 de coiumnas.
Para un ra"iO dlsrontinuo de un Informe <Ie tabla reaK'upa 1'1 nonat'.
Para una ,mica celda del Jango de datos de un campo de tabla dina mica,
realiza un reagn;pamiento nunWico 0 cronoklgico t!Il el tampo.
"_.
Prnmueve un rango t!Il un esquema (es declr, reduce su de esql.lema), EI
rango especlficilclo debe 56' una lila 0 una coium"" 0 bien un rango de mas 0
columna$. 51 1'1 rango "" eoclJt!lllra en un infot-me de tabla eI
los elementos incluidos en ej rango.
Ii. Metodos que se relaclonan con I. herramienta de Auditoria
NavllateArrOW
Oesplaza una flec;ha de ra,l"", del r.ngo especnlcado hacia fa 0 fas celdas
p...cede!1tes. depeooientes 0 que prnvocan un error,
ShowDependt-nts
Mue:ltr. las lJechas de rastroo que seIIalan las <:f: klas depeM>eotes direc\as <iej
rango.
5hDwPrecedent.
Mueslr. las flechas de raslreo que seIIalan las celdas precedentes direct1l$ del
rango.
I
i
,
!
i
,

Objetos de Exre
ShowElrors
las fiechas de rastmo 118m de til estruclura en Oe las
precedentes a la qo.le orlgioa el etror y doevueNe el r,"'go que la cootiene.
h. OtrO$
CIIkllllte
c",lcula 1115 f6fmulas de todO!l los libros ab4ertos.
CaIc<tIIt.RowMajorOrder
c",lcula el rango de ceklas indicado partir Oe 5U esquina superior izquie<da y
M.ta Ia esquina inreno. derecha en el O<den fila..:ampo ,
.'"
Indica que el rango especifteado se recalcuia ra en la proxima actualizac i6n de
Ia hoja.
ElportAsFixedFonnat
Publici los datos Oe un fango de valores en foImato PDF 0 XPS.
PrintOut
Imprime el rang<> de celda ...
'""
Ejecuta una mac",.
, ....
Crea una tabla de dat'" a partlr de los valores Oe entrada y Oe las f6rmulas
dell"",,a. en ,,, ... hoja Oe dlculo.
"
capitulo 4
E. Ejemplos de uso de los objetos
I, del importe de un premio
=
,
CA1CUlO DE _lOS ANUAU6
o ( I ,ango de celdas ' 06:014' debe rec ibi, oombre VN,
Cuando el usuario hac:e clic en el botoo de comando Calcullr pmnios se ejecuta,a
el procedimiento Calc Premios, fste procedimiento selecciorno 'a'J de celdon
lIamado VN (celdas ' 06,014' ) 1 llama "I. fuociOO Premio ,,",a calcul. , I. prima 1
ar.iSnarla la cekla de la derecha.
Sub c..lc_., .. looll
Dl. dbI Vli ooo Ao ooublo
Dl . Ao ... "..e
. el.ool611 .... 1 "_ U,.'do ""
...,o ( ' ",,' I . eteu;o ... "... . Sol"",
d.l .010 .... 1. ool.oel'"
dbl V1iP,_ 1JV.1uotel" VUA<:;>: I"") ' I . . . I ' . ,
I
i
,
!
!

Objetos de Excel
. . . I . . .
..,0 ... I col"". do h .. 10.:<16<0
"'" pr ...... 1 ... 1_ '9"" 1. ... la .... .., ....
FOr od<la In Seleotlon
,,*11.1001<1.0 . """. c .. 14 . 1)
r .. dblVNpro.)
Nex t ."do

La tuncicln Prom", Cilk:ula el premio en luoci6n VN (valor negociado) y
premedio de 105 oIrns VN .
..!o ... ,,,,,,,140. ... , 10,,"'''0 VII'
s",,,,,t "" ... ""I'm
Co I. < 100
Preo!o 0
eo I. < ,.'.0.
Preool O
Cu. 10 < .soooo
Pr Jo \000
c ... U ..
,...,10 :l000
Rn<I Sol..,t
5' .1 VOl ",,"0. 01 --... ..
p . ... o d. 10
If (\1)1"" <!bI VNPr"" Then
Pr_l0 P,n10 '"""

,
capitulo 4
2. Asignaci6n de comentarios a las celdas
RES/,MEN Of IINTAS
Cuaodo el usuario hace che en bot6n ComtnIarios, se ejecuta el procedimiento
MO$trJ' c-nlior\o$. Este procedimiento llama al procedimiMto Compo V.1or
- -
comparllr cada una de las celdas coo III cetd8 situada a 5U
izquierda.
Sub IIOot<",_c.-nt nlooO
DI. <"Il' ... "'''!Ie
01. nlgl Ao "'''!Ie
1)1. rngC\l.n< U ROr.ge
01. 001 Ao Obi'""t
1)1. , Ao
01. i Ao
.., ... I". ....... <10. y 10 .... 110. d. 1 I .. old1o ..,.ud
Sec rngCur .... n< _ TM.IIOrkbook .IIOrk.h ... to( "V.ntao I .... "!I.,CS , c .. ,
rng<."uen,
.Cle .", rn<o
.'ont. 80' d _ 1
. _
. 80r de< . _ xl Lin. Scyl eKono
o.oon. I .. 001_. ul .. ol"",d ..
C<IooI>&<& .1 .... lor de c&de cdde de 10 001'-&
com .1 ... 10 eel'" 01 ......... ....... <de
YO< I I . Col.-no . CQunC ... / .. ,
I

t
,
!

. . . f ' . .
eo1 . CO).-n.ll)
'oc j 1 t<> coI.Cell . CoIlnt
Set ""91 eO) . OOllolji
Objet05 de Excel
$<t t Cel UITn91. ' Qw. r"91 , CoI."" - 11
eo.p.a. vo lo< <ng'. <ng,
" e at j
N_ .. I
Knd With
A1l1amar a la IuneiOn Campa,a. Va/or redbe como ''iumentos las celdas que hay
que comparar. En funci6n del p<ln:entaje doe evoloxi6n loegativo, < 20%. > 20%),
se asigna un comentario un Iofm.to a la pri""" . celda.
Sub Ao ""I\<J'O, ."'12 .... ""ngol
DI. dbl1. db12. dbl1 A. Double
DI ,,,avol .... String
10. ,,'oro . ... """ , ..... y ... po. ....
W1th rog1
db11 . r"",_vol
. vo l
dbll (db1, _ dbl" / ",,11
otrtvol Po,...tl..". I <lI>UI. 0.00 , . )
Sel ec< ea dbl )
C ... I 0
,Pont.lioold =0
.MJo:-.oo' ,,,tonoJ6n, 1><>< d."'jo ... " trlfv<>l
C ... IO<O.l
, P<m<. " . lIe T ......
, lo.(I<leo-<nt .!on, per 0",,1 ... <Ie o<rEYol
_ "''''ero _ Lln.otrU " ,COn<l o."",.
O""olen'., po. onel_ de
_ Soloet
_ _ J.th
Capitulo "
C Capitulo 5: Cuadros de dialogo
A. Presentaci6n . .. . . . . .
B. Cuadros de di;logo integrados
1. EI objeto Oialog .. , , ...
180
180
180
2. Los metodos GetOpenFileName y GetSaveAsFi leName lSI
C. Cuadros de ditilogo predefinidos

184
1.
La Iunci6n

184
2. EI metodo InputBox . . .
185
3. La fuociOO MsgBox .... 186
4.
Constantes usadas en los cuadros de
190

capitulo s
A. Presentacion
EI objelivo de los cliadJ<lS de diakl&<! es el intercambio de infm_
m<ld6n con el <JS(llIrio, mensajes, pe<ji, injo"nadoo, vi!Jl! y entrada de
dan)!!, etc.
Uisten Ires lipos de cuadros de dl3io1!O'
los cuadros de lIamados eu.ad,os de dl"OSO Integ,ados, Q...e permileo,
PO' ejemplo, abri, 0 guarda, un archivo, defini, las opciones de xcej, impriml,
de caleulo, ordella, datos, etc.
los cuadros de d.aIOSO predefinldos, Q...e pe,milen rnostra, 00 mensaje, h.ace,
una al usua,io irNitarlo a introduci. una InfomlaciOO,
los cUidros de personaliZidos formutatlos, q...e pe,miten most ... 0
introducif datos en una inlerfaz amigable. La crear:iOO de Iormula.ios
persoMlizados se explica e<I el capitulo sill\lief1ta.
B. Cuadros de dialogo integrados
I. EI objeto Dialog
Los clladros de dialogo integrnOOs soo objelos Diaq J)ette"""""'les a la m!ecciOn
Dialop del objeto Application.
Sintaxi.
-) Pa'a most,., un cuadf{) de dii\.klso, use el metodo Show see"n la slgulente
slntaxis: Application. Dialogs (x lDh.logl . Show
doode xlDh.log es una coostante Ucel que indica el cliadro de d.aloeo Q...e
hay Q...e mosItal.
I

t
,

!
I
-

Eiemplos de constames 11Dia/ofj
Cansu.ht.
xlOialogBordel

xlOialogOispley
xlOialogDelioeN a me
ulooGoto



Cuadra de di"ogo
""'"
Fuente
CUildros de dialogo
Opciooes de visualil ad""
Delioir un nombre
Ir
""',
Guard.r como ...

2. Los metodos GetOpenFileName y GetSaveAsFileName
Los mlilrxlos GetOptnFiietl.me y GetSaveAsFiIeName objeto Application
mueslran, respeclivamente, los cullClros de Abrir y Gllardar como ...
men(, Archivo.
A dne<encia de los objetos Dilq. correspondlentes (constantes x/Open y xlSaveAs).
eslos metodos no rea!izan nlnguru accoo; permnen reclljler"ar el oombre
introdocido 0 por el usuario.
Sinu.xl$ del nMtodo
(FileFilter, Fl1terIndex , Titl",
8uttonText, Mult iSelectl
Trxlos los a'llumenlo!; son
Fll e Fil t er
Filelndex
Title
ButtonTAxt
MultiSelect
Criterios de l ith-ado: nombre del fi kro seguido de exten<.i6n.
PDf ejemplo: (" .hlm; ".hlmll ."_ htm:"_html"
Indice del criterio de filtraOO par delecto.
Tilulo del cuadru de
Eliqueta del OOl6n Abrir para Madnlosh).
Indica si .1 usuario puede ..,iettionar vario$ _ _
C;!pitulo S
Sintui. del mitodo GetSaveA.Fi IeH.ITIII
IIppl icat ion , Get Save As Fil e Na me (I n l t laleFl 1e . Fl h l' ilte r,
Pi l terl ndex. Title . l!u ttonTextl
T odos los argumentos son opcionale!..
InitialeFile oombte del archive que """rea en I. rona de teJ<to Hombre. Si
oe omile este argument!), Exc<O ...... eI nombte del lib", activo.
los alms .rgument05 ""n los mifJllOS que los del metoda GetOpenFileHalTlll.
fjemplo
Em ejemplo permite:
mostnJr eI cuadro de Abtlr coo I. posibilidad de selecdooar varios
archivos,
guard.! en una matrkz los nombres de los .fd1;YO$ ""'eocionados coo extensiOn
xls que 00 se """ ... mlren ya abiertos,
"""",a, un mensaje que indica k'H ard1ivos que hay que aboi"
abti! esos . rchiws tus pedi' <:onlirmad6n.
"" .... Lib"". II
1)1 ... '<vU ..
1)1. d o, I
1)1. b lnAblorto '" 1IOo1ean
1)1 'rKon j _ '" String
I)i . wbk Ao Workbook
0 1. i Ao Int ..
0 1. j '" In, .,.. ,
....... n o! <_a'" dUl .... .......
'U .. . "Ppl
I fllofUtn . "Arch l vo. ",,,.1 ( - d I, . xl ..
10. or c h'vo. quo hoy quo ohrl." ,
",,1 t i Solo<:t , . t ,.o l
. _ _ f _
I
i
,


!

Cuadros de di.ilogo
- I
...... .u. 01 10 ",hl_ h&.o . 140 .oloccIOtlo4o.
It Type ...... \.U'ilUI _ ' V.<lant\I' Then
xIFllcoIUBoYnd(., II 11
I _ 1 ..., \JMurull.cr. lleol
""", ................ 150:1 4401 .....
"RlgMI."fllulll. 11 _ ..... Then
." .... ...... c"", y , ... I ...
blnAblono _ 'alOe
.bI< In
" ""' .foth \ , ""k."_ t,'I1UIII Thon
blnAb'o,to _ T .. o
"
","x, .bk
Gu.o .... 01 ........ d o l d ............... <xl<
If Not blnAb to thon
j - j ,
.. ,Il".llI _ .u." ,,)
.trMonoaj . _ .trMonaoje , 11 ,', VbC,
It
1<><1 If
Ne", 1
lob . . ......... , ..... cbl ..... ...,.1 .... CCIOIU ... oI6co
Itj>IThen
....... n j. , =rl.- 10 'pe,tu,. de 100 o",h,_. "
VbC, t .... n .. }.
If !U<jIloxlotnoen"l". v\>Yco.110 vt>Qoeot lonl _ vbYe. Then

workbook . Open r llono .. ,.xl,ll lll
"n' I
"
"
"" _"""' "N\"9'in .. hi ...., ' o<ei""""'"
-"
in<! lu\>
capitulo 5
C. Cuadros de dialogo predefinidos
1. La lunci6" InputBox
M"eslra vOla pregunta y devuelve el te.to esc, ito por el USUllfio.
InputBox (prompt. ti t 1e. de fault. ><p08 . ypo8. helpf 11". cont"xt I

title
default
_.
he lpt\le
context
Cadena Que aparecerA corm mensaje.
Cader\II que apa'ead enla barra de liMo.
Valo' tomado PO' delecto.
Pos,,=i6n horizontal del cuadro de (eJ(jjI nlo en twips) .
Pos,,=iM lIefIital del de dilllol:> (expresado en twips).
Nomb'll del alChivo de 8)'uda contextual.
NumelO del COO\e)(\O de a)'llda.
Est.. ejempio muest". un cl1M1m dial"", Que pm el nomi>re de las cek/as Que
/lay Que I>ofrar (la. cekias rec!1>en el nomINe de clJda
""b lIOu _C.14 _" OO1br. " .. I)
1>1. opc:lO<I 1<4 SIt><j
..... .l _ . ..... boy ......... uor
II .l _ roc""""., ....... , , ..... "" _
.. ..... .... rra .... _.j .... '0<
opc: l"" InputBoz I _
Prompt ," Out .......... >
Tltle, . ' ''''., .014&.'1
J.ppll.ulon. _0 .......... ""., . opc: lon

bl. sub
1 " 09Bo' ' No pu. 4 . .... 'nr. f>OOIbro de col do lnod".n'o'
Cod Sol>
I

f
,

!
!
-

Cuadros de dialogo
2. EI metodo InpulBox
Acriia COfn{} la tuoc;oo InputBox !)eft> permite controiar el tipo de datos que hay
que imroducir.

helpContextID,type)
EI objelo es obligarorio. y debe set un objeto Application.
pron-.pt
title
default
left
,.,
helpfile
help
ContextrO
''''
,
,
,


"
..
Mensaje mosl rOOo.
Titulo del cuadro de di6loeo.
Valor romado per delecto.
Posiei6n horizontal del cuadro de (en punlos).
Posici6n ...enical del cuOOro doe di81oeo (en puntos).
Nombre del archlvo de ayuda e!1 lloea.
Numero del contel<1O de ayu.
Tipo de datos que se devolYefa:
f Ormula
Nilmero
Valo< BooOean
Refere...,i. de eelda
Valo< de <'f!Q(
Matn: de valo"", en II"" ""lecd6" de
y
capituk> 5
o Para &eeptil r varios t ipos de datos, haga II suma de los valores. Per ejemplo, si
la zona de entrada puede aceptar texIo 0 un numero. indique el vakil 3 (l
+ 2) como lipo.
fjemplo
al usuario seleocionar la 0 las celda(s) Que hay Que pintar.
S"" C.'cI.o o_A_ Pintu O
DJa . t<Rep Reng@
cI.o <ojo
. i .... <. <Uo ... coae.'", .......... 1 p<.,..,o4.I".n,o
Oft 1 0< OOTo 1
OC <R_p Applioulon.'""", o,,,, , _
.. , . o'.' ''''c10'''''' 0 U .,. Ida, ., quo "",,y quo
T'U. , .'C.lda que "",,y quo p'n,u' . ""'oult oU ' .
... Rep.ln,uio . Colo<1ndu . ,
, ."" O-..b
3. La furn:i6n MsgBox
hi. funciOO mueslr. un mensaie 1!!1 un cuadro de di'lofIo. Puede incluir un icono,
y de uno a Ires botOIle$.
Slnt.nls de II instruction
U....ta cuando un unico bot6n.
MBgB<>x <"""ua9'" I, <Utl", ll
SlrU.ls de II funci6n
Usada cuando aparece mAs de un bot6n. Permite saber qllt bot6n lIcti116 "I usua
rio, " Ira""'" del va'" devuellO.
MsgBox meuage> , l<buttons >l1. <ti t h.J
[. he lptlle . cont ext I I
menage T .. xlO del mensaje que apare en et cuadro de dlAIofIo.
I
i
,
!
I
,
title
hd pfil ..
Context
Cuadros de ditilogo
Upresi6n nurnetica que representa Ia suma de !os vilores qllf!
especificall!os boIones que hay que mostrlr , el tipo de icooo que
hay que usa,. II ldentidad del bot6n por delecto, y Ia moci;,lidad
del cuadlU.
Texto "" II b.orrl de titulo.
An:hiYo de ayuda que hay que usar.
Nurneru del COI1texto de ayuda.
Valorft del MJumento Buttonl
CooNntl simb6ta
V.lor
SllnifiQdo
Numtto y lipo de bot6n
vbO+(Only
0 Muesl ra sol"mente el boI6!1 Ac.ptar.
vbO+(Cancel
I Muestra los botones Y Calle lLif.
vbAbortRetrylgnore
2
los tx>tooe5 Anul ... Reinlentllr
e linorif.

3
MueslIa los boIones sr, No y C.nceIa .
vbYesNo
,
Muestra los botones Sf y No.
"""""' ..
5 Muestra !os botones Reinl. nilIf Y
Cancela .
vbMseBoxHelplMton
16384 MuesI1l un botOn
Tlpo de !cono
>ibCritical 16
Muestra e\ icono O.
"""""..,
32
Muestra e\ icooo 1..tJ.
vbExclamation
"
Muest.a e\ icooo &.
vblnfomlatioo
"
MuesI,. et icono "iJ.
BoI6n pol dtie<;to
vbDelaullButtonl 0
Prime, bot6n.
CO"
I ,
(apiWlo 5
Constant. simb6liGII
" ..
Sia;nificado
vbDeIauitButton2
256
Segundo bot6n.
vbDe!ault8utton3
512
T_ bot6n,
vbOelauitSutton4
76'
Cu.arlO bot6n.
Mocilliad
vbAWliGlltion Modat
0
Aplicadoo modal.
EI usuario debe re5!)OI1der II rTM!rWie
que apar1lCe en el cuadro de mensajes
antes de seguir trabajando en '"
aplicati6r> actual.
vbSystemModal
'096
SislelNl modal.
Se su,;penden 100105 las aplication ...
hMllI que elusu.ario re5pOnda al
""", ... je que aPI'''''''' en el cuadro de
men ... jes,
'"""'""'"
,,_ .......
65536 Muesttl la VIlfltana del cuadro de
mensaje en primer plano.
vbMsgBoxRight
524288 Alinea el Ie.to a II defeel\a.
vbM5flBoxRtI Reading
1048576 E."...ifoc.a el orden de leet'"'" de
defecho a ilquierda pa r. 1m ,;stema.
hebreo y arabi!,
Los vaiores devueltos tambibl se defioen mediante constantes' .
Conllanl VIIor dllWllilo Bollin .lqido
. ,,"
I
'-"
.!>Co"
2
c._
.""'''
3
AnuLa.
vbRetry
,
Rlllnttntli
vblgnore 5
Ilnc .... '
I
0

,
!
I
,

Cuadros de dialogo
Constante Valor devuelto Bot6n elepdo
vbYes
,

<0
,
"
fjemp/os: usa de fa funci6tl Ms,eBox
.cr..." _x I'o<>r favor. """U ..... "' .
'"""" ... ol/m,
o
StTII...., "-llaox 1'<0. ... 11"0<"' " 10.
bY_do vbQu tion vl>DefauitButt.on2.
confi .... ol""''
Conll'TMCl6n
, lie d
Usa de la ;nSlr/Jcci6t! M!i!!8o>
.,
-
I
capitulo 5
[jemp/o
Pirie usuario que sele<::cione las coIumrnJS que se elimi nar (lit sele<::ci6i1
de coIumnas pUf!de hacerse partir de UrnJ 0 ",Is celdas de columna), y que
confirme I. eliminaci6n.
Sub COnfl ... c'"",11
D. _ Cu.ol C<>' A . ...
., .. ,. , "
&<It eu.1Co'. "PPUcat'on.,nputBo.1
p.......,t,. , .cclono I .. eol,.., .. quo do .... U o lna. .
T.tlo , .UI1' 100 col,,_oo' , _
Typ<o, -'1
... , ",. lCo' Cu.o l ,,<>' .r>ttin<:<>l"""
........... , ".-... T p' .... _11 ..... 600.
ACOn " "" M09&O. 1 _
Praopt,.Conliroo I. do lao ccluanao.
<'< , co, .......
Sutt""" ,. vt>TeoNo .... t1"", vW>elou ltBu"onli
If Ac"",11 ... r bTeo Tnon ouolCol.Deloto
in<! sub
4. Constantes usadas en los cuadros de dltilogo
En los m<!I1S11jes de los cuadros de dialogo, JlUl!de usar las siguientes oonstootes
pa-ra insertar algunos carlClefeS especiales
.
o.K_
... .s..uinsertar
.
uivalente.
RelOmO de carro Y Sllilo de Uoea
"""
CM13) + CM1O)
Salta de
"'"
Chri13)
Saito de linea
"""
Chr(10)
CarI>Clef oulo Chr(O)
Dilerente It urm Cltderm de Iongilud nullt lIbNullSlri"ll Cadena que lie""

valor cero
T Itbulaci6l1
"blab
Chr(9)
Retnxeso
-,
Chr(SI
I


,
!
I
-

Cuadros de dialogo
o Estas constantes poeden USIUse en instl\lCCioroes lIdemM de los cuadros
de
Ejemp/o
mostrllr eSle cutK/ro de
l)<Iod ."
se uII/Iz6 e/ slguienle procedimiento:
Sub '<1On<Ulc.clonO)
Ooudoo so..t.ol
t>J<b ... D<I
_BoX ee ,' vbC<, vbT.b
, """Uc.Uotl.u .. "' .... _
, vbCrLf , vbTab , AP\lUc.tlon.OI"<j.nl .. tI""" ....
Capitulo 5
,Wi
~ Excel 2007
o Capitulo 6: Formularios
A. Presentacion .. .

194
B. Crear un formulario , . . .
. . . . . . . , . . . . 194
c. Personalizar un formulario .

204
I. E s c r i ~ r procedimHmtos .

204
2. Lisla de eventos .

. . 204
3.
Eie<:uci6n y derre de un fOffllulario

209
D. Ejemplo de formula rio personalizado

211
I.
Presentaci6n ,

. . . .

. . . .

.

211
2.
C6digo asoci ado al botoo macro de la ficlla Empfeados
213
3. C6digo VBA asociado allormulario . .

213

capillllo 6
A. Presentacion
los Iormularias (lamb;en lIamados cuadlOS de personalizados, formul anos
pe.sonali zados, OOja. del u .... rio 0 U..,rforml de Interj,_ de
",uarlo si mples y .mipbleos pa ra la Introduccil'in, la 0 la vi.ua lizaci6n
de datos.
los fofmulano. personalizados soo wad"", de ... sobre los que 5e puede:
- Ubic" ,ontrolH Ac:!;v.)(. tales como CUaodlOS de entrada de texto. listas
desplegables. botor.es de comando, etc.
- A$O(:lir , 611110 IIBA pa,a responder a distintos eventos del u$Uario (d ie sobre IHl
boIOO de comando. inltoduoxi6n en vna lOIIa de texto. serui6n en una IIsta
de5PIegable, etc. ).
B. Crear un formulario
Un "',mulano se c,"", en una OOja Uvrform.
-) Pa,a insertar una tlc)ja UserForm. i'lCCeda a MiCrosoft Vi$Ual Basic, y luego
selettione la. OjlCiones InvrtM UDIf ... m.
Se una Iloja lIamada Use<F ... m n (IXIr ejemplo, Use'Formll, apa_
'h un formu lario vado y eI cuad,o de J)enamientas.
-) Pa ra most,e, Ie ventan. de lIfOI)iedlldeo. seJecciooe las opcioneo:
11M [F4)
Ventana propiedNes
I
Formularios
-
.
......
. ,

(Na .... )
Nombfe del formulario.
C.ption
Te.to en la barra de tituk:> .
) Para dimen";oo,,, fit formut a,"'. set"""i6nf.1o y a"aw.. los cont .... adores de tao
mallo 0 i rodique las propiedades Heilht y Widt h del formula ,,,, .
. i 0 OJICi6n Controles adicionales permite ottO!; controles desde I. t>a,,"
:t; de hefJamientas.
!
I
,

I ,
y
capitulo 6
Lisla de QIOlroles
Crear un control
EtKjueta
Cuooro de te;<to
Cuadro oombinado
Cuadro de lisla
Casilla de verilicaci6n
Bot6n de opci6n
Bot6n de altemar
Bot6n de CQrnando
Barra de t.bulaciones
UstSox
Frame
mUiliple (seiecd6n de Mullipal/El
'===--+=,-----
ScroilBar
BotOO de numero (selecci6n de SpinButton
valores)
Imagen
RefEdil de rangos)
Selr:cione el control que desea t.ear y anaSlre el puntero pa ra delinir un '.ea
rectangular.
I
i

!
i

Fotmulalios
4) AI solt.ir el bot6n del rat6n, 8paf8Cefa el control y la herramienta Seleccion.of
obJetos ill PII"",fi ft $e' Ia herrarnienla sctNa.
t) Pa,a dibuja, varios controles del mismo tipo. haga dOOle eli(; en Ia
corfeS!>OOdiente.
Oe$cubrl. al,unas propiedades
(Nlme)
Especifica oombre del toIltf!)j.
Caption
Inditll ellexlo de una eliqueta.
ControlTipText
Crell uM etiQueta intorrnativa.
Vi$lble
Espetif;ca 54 un control esti oculto 0 vfsibie.
"" .....
Detet"mina 54 elloco puede esta' sob,e ej contf!)j.
Value
Define el est.1do 0 el conlenKlo de un control.
ControiSoufce
Vincula un control a u"'" celda (cuad", de 1 .. 10) 0 un f8r1ffO de celdas (cuadro
de )i.ta).
capltukl 6
Detelminal el acceso i un ( ootrol
Par. delinlr el rntien de taool!lti6n, !;eletc""'" las opdones:
,,,
Ordoon dot tabulac:iOn
P. ,. desactiv. , la de usaf la teela (Tab) para accedef 8 un control,
selecciooe el control e indique F. IH en la propiedad T.stop,
-) Para '"'&nar una tecta de acceso fiipldo, seleccione el control e indique ta teela
de acceso en I. propiedad Ace.I.,Mor.
o S< el l!CX'eso se "plica a control Lobel, el control que siS"" I I label
en el orOen de recibi,.1 el loco y no el oontrol label pmpiameme
dicho_
Dimenslonar un conbo!
P. r. el tamal'lo de oontrol, !;eleccione los y Bf,astre el
COnifotador de tamal'lo 0 seleccione el control e indiq"" las prop;edades Heithl
Y Width que <letefminan el alto y el ,neho del control en puntas.
P.,. los ta mll\o$, seleccione los controIes qlle desea dlmenslona r.
Formato
1,Il0l11' tamaflO
En funci6n del tamaoo deseado, elijl Anello, AMo 0 Ambos.
Para el tamal'lo, seleccione los controles q"" desea ajusta' y ""leccione
las opciones Formato Ajusla, tlm.fIO . 1 contenldo 0) tlmaoio II
eu.adr/cuta.
Ubicar un control
Pa,. delinir I. de un control. ""Iecdone el control que desea movef Y
. ,rastre el rat6n 0 el control Y '"'8Jl" IllS propiedades left Y Top qlle
Indican la distaneia entre el control y el boie izquierdO) Y SIlpe,.;or Oel for mula
""
FolIlIULarios
.) Para al ioear conlroles !1ltJ1! ellos, selecciooe los cootroies que desea alioear,
Fomllto
A1inor
Seg(K1 eI control de rell'rwcill, e+ija: Izquierda, Derecha, Superior, M ...
dio, Inferior 0 A la cuadricula,
.) Para admlnistra.r el espaciado ent re controles, sel :cciooe los cootroIes.
Formato
Eipaclo horizontal 0 rsp.cio vertical
En funci6n <:lei espacio doeseado. seiecciooe las opciones Aumentllr,
Oi"",l .... i. 0 Quit .
) cent.a. un control en el formul ario, selecciooe el control.
,-"
en eI formuIario Horizontalmente 0 Varticalmente
Apnear formato
Asigne las slguienles propiedades:

Delioe la
",.Cd
eI colo( de fondo.
E'f!eCifica eI colo( de "';mer piaoo.
I BorderCoior
i
el color del borde.
BorderStyIe
! Especijlca el t,po de borde,
I
-

y
,
Hidden page
Hidden page
capitulo 6
RHUmen de propiedades por objeto
Hidden page
Capitulo 6
C. Personalizar un fonnulario
1. Escribi r procedimientos
.) Para mosIrar doe t6d;go de un cootrol :
<lob .. clie eo el control para el que desee asigJ1;lr un t6d;go. 0 selec<;lone
el COnlroi. y selec<;lone las opciones;
"-
COdigo
(Fl]
.) Para insertll r un nue'l'O evooto. abra Ia !ista de la doerecha y selecdone el
""""to deseado.
o Si no indica un evento, el evento 5Ueerido para 18 mayorla de los controles es el
evento Click .
) Para voIver a ITlO$lra r un control. selec<;ione las D!lCiones:
Vet (1.111)''''] (H]
ObJeto
2. l lsta de eventos
Act",.t.
Ocurre cuaooo se acliva la hoia.
AddControt
Ocurre cuando se InsertJl 00 COOlrol en una hoja.
AflerUpDatt
Ocurre IniS datos.

Ocurre cuando se est6 eje<:utando una operad6n de arrastrar y
I

t

!
I
-o
FonnulariOs
BeforeOropOrPnte
OcUrfe cuando el USUBrio a punto de <.:Oloc;ar a I"'&"r dat<>s en un ot>jeto_
BeforeUpDllte
OcUrfe antes de Ia modificacooo de datos .
tho""
Ocurre cUBOldo 51 modifica ta propiediiod V.lu._
Click
OcUrfe cu,mdo el usuario I\ace elic en un coolrof 0 cuando selettiona definili
varnent. un valor para un controf con mh de un valO(
DbIClick
OcUrfe CUBOOo el usuarlo I\ace doble clic.
o.Actlv. le
Ocurre cUBndo la hoja deja de st' la ""n!ana actwa.
DropButtonCllck
Ocurre cada vel que 51 muest,a a st QCulta una lisla desptegable.
Enler
OcUrfe de que un coolrol redbo realmente el loco <iesde un conlrof de Ia
miMna hoja.
"""
""
Ocurre CUBndO un controf delecta un effl)f y 00 puede devolve, inlom1aci6n
enOl al proe,ama que 10 hi! Hamada.
Ocurre inmedia!amente antes de que un cootrof pierda el loco en fa\'Of de otro
controf de la mlMnI
InltlaliH
Ocuffe de que se carga un objeto, peru antes de que se muestre.
I: y
Hidden page
I


,
!
!

Formularios
SpinUp
Qeurre cuando UWlII10 hate en la llechll superior 0 dereclla del conta
"'.
T" mlnate
Qeurre l1as I. dese. rga de la hoia.
""'"
Ocu' re t ..... ndo cambia el de la Zoom.
Resumen de eventos flO! obJeto
Hidden page
I
i

I
"

Formularios

51 la fecha Inlroducida es ioconeera, se cancela el /!'Vento Oil, el cursor queda
silu.ldo en 18 lOO8 de lex/a.
Privata""" ' K,,..o,,,,.ln h lt l.,.v., Co<>e<ol ...
IIS"'_ Rotu",...,., l nl
II 'o>rulll U tFe<:iuoflnl n.an ox l. sub
II '.l>It.'tx oo"".lnl n.an
"f ec"" Inoorrecta", .berl'lcal
canoel _ True
h l < """
1""- "
Lo f..,"" cIo U .. -.. .a. _ ,..,ba cIo 1".010
It I>Itov. luoltxtroeha.lnl I>Itovoluol t xt f echa'nll n..n
.... gBox " La foe"" ... fin Ont a rlor a 10 .. e .... d. Inlclo", vbCTi Uc.l
COnea l _ True
h 1<O""
I n<! II
In<! sub
o SoIamente los eventos BeloreOrag(lvl)r,
DblClick, E.<it, E,ro, a""tyClose tiene<l un a'llufTII!nto Cancel. los demh
eventos 00 pueden cancelarse.
3. Ejecuci6n y cierre de un lormulario
-) Pa,a ejecutar un formu lar'" desde de la hoja UsetFo<m, seleccione las OpCio-

"""",
Ejacula. SubIU_Form

[F5]
-) ejecuta' un fo.mula.'" desde un m6cMo. use el metoda Show 0 la
instrucci61"1 load .
Cllpituk:l6
+ Show (metodo)
SintuJs
ObjetOU . .. rFo .... . 91>o ..
Mue!.!ra ~ objeto UHrForm iodicaclo.
+ Load (instruccl6n)
Sintuis
Load ObjetoUaerForm
Carxa el ob;eto sin m<>$lrarl<.>.
~ ) I'&.a cear un formula"" . ...... el me!O<Io Hide 0 la In", ... c:dOn U ...... d.
+ Hide (metodo)
SiMla, il
ObjetoUserForm. H1d.
Oculta el Immulario sin Oescargarlo.
+ UnlO6d (insb"ucciOn)
Sin .... '.
!.Into.d ObjetOUGer l'o ....
[Iimlna el formulario de ~ memoria.
I



!
I


FormulariOs
Ew:ntos Invocado5
Los metodos e instrucdooes de ejecuciOn y de derre de kmnularios desencadenan
los siguientes eYent05:
M"odo 0 instrucci6n
SOOw
L""
H'"
U,""
Evenlos
Initialize
Activate
Initi! lize
Sin evento
"""" ...
Terminate
o. Ejemplo de fonnulario personalizado
1. Presentaci6n
Este ejemplo mlleSt .. c6mo crear un for mulario para introduci r 0
moc!ilitar "empleados.
Ellil)ro Empleadouts contiwe <los de dlculo y un klrmulario.
u hoja "Empleados" CI)(ltiene I. lis!.a de
'iI';"


,
,
,
,
T. ,
,

,... " ...... ','11,
=- ;;



,





"
" ..

- -
..

y

'So<. 0
,
Capitulo 6
La hoja "Sefvici",, contie .... 18 lisla de servic:ios,
- .
. ,
EI formu lario Empieados permite,
- mO(laica, la informaciOn de un y .1Ctuallla, la hoja EJceI EmpleadO$.
- c",,", un nuevo empleedo y Igregarlo 8 II lisla de Ia hojl E>;cel Empie"",,"_
La liSla de servicios se lee desde la hoja Servic:ios.

--
00


, ..
-..
Co
'"
,.,
'"
-
1-
'"
...
1-
m
'"
-
-. .....
-
,
, ... ", ..
,.,
......... .-.
-..... --
.. ...
-
-..
"""(101

I

,
!
l

de controles del tormulafOo [mpleados:
"
Tipo de control
..
1
Cuadm de lisla
lt[mpleao1o
2
Bot6n de comando cmdNuevo
3 Bot6n de opci6n optSra

Bot6n de opciOn
""'"
5 Bot6n de opci6n
".s,
6 Cuadm de Ie. to txtApeilido
7 ClJadm de Ie. to
,
ClJadm de lista
IstSer;icios
9 Bot6n de comando cmdAcepiar
10 Bol6n de comando
cmdCemlf
2. COdigo asociado al bot6n macro de la l icha Empleados
E.le c6diso esU en el mOdulo de cldse thisW",kbool<.
"" .. ,u-"o"",'o,'ol)
....... 01. 10 ..... 1 .. 10 ""P''' _
_ loo<loa . s"""
rnd
3. C6digo VBA asociado al formulario
Opt l""
1l0III>.-. 4e 10 . p Ucocl6n
conot u , 1.p"". _ ' l nuoilucd6n -"ludco'
Dt. Ao 8QQl o
Prlvote eub Uou.ono
01" "'\I '" "'''!/'O
01. "" .'ng<
. ..... , . I . u ... <Ie .. ,vleloo
With Thlo"",""""' k. ""' .... "" ... Isuvlclo. )
.
Set n>\I ' _ .... "9.I ..
O.d .... I.,. rvlo1 ... poT 0 ' ''' """"eo
r"9.S<><t Key" . ... n90( u 1
10tSorv!c l QO .Clo"
. or coli In rng
Formularies
- -I . .
~
-
-
,
"
"
oj

0
-
00
<-
: ~ _ 0
0_

- -
- .
-

j
-

~
,
,
0


0
- ,

0
-
!
0
0


,
..
0-
'0
-
-

0





,
"





l


i
I

,
;
.-
..
.,. .. n
-
,
-- '

... n "
." -
2
1
":' !
.. i :;
- ' .
d
; .. '"
. --
" -
"
r
-
!
! ,
!'
- -. ,
_.
- .
..
.. ..
f : pg.
- -,
.'", gb
. i "

" "
,"' .
l - , -
o ...
-, .
..
... -
:; ..


I; ..
-..
' H
it :0
., "
" -
!
!
-!
:
"S!: - "fI'

-, " , -:-:- ....
" I - . -
' ;J "
' . - - -
... ; , ....
ii ' ! i ll .
'" ' , .... :; . . . " . .. .
. . "
." ,
, - , ,
.. ....,. ..
f
f
.. ......
;; ::: .
"


., --
-. -
. -, . .... .... . ,
...... .... .. , ....... ..
.. .. .. .,
., ' _1._.
0
. ... nO_
........ .. x 0
n .. Q.... . ' "1 """
...... ., .... , ,, .. ...
_, .... n ...... ft" " ..
.... ... ... ... ," n "
-1 ..
n
g-
-=- ... ,
- -. '.' -,
!
g: g=
.. .... l! . ; . .

,

" ,,,0
". .. , .. ..... .... "
.. . .... . . -
.. .... . .. '" ,
.... .. .... - ..
H
" .. 6 .....
.. " . .... o .
. .. $ ... .. .-
- ' I
;; ng
, , ..
- .
. -
, -

1
_-
i
-


I'
-
I
-- ,
,

,

I
I II


- . - I _
p.iva '.
Sub O<<len.o' __ I .... ...,..O
,,-
rng ""

,
O.d .... h U n. <Ie _loado.
po. 01'.11160 y"'-"


Wo,koh ,o'_'u_") . ""ns- ""l" .C\>noou oglon
,SOrt
,,",yl , . ... ,'B", .
0 , <'<0'" . z l .....,."..,'''II ,
-
...
-
Heod", ,>zlv ..

,."
p.lv."
,."
Iniohli ..
_ _ ,..0001)
,,-
,

10'"90<
,
Im Uu .,
.0 .... '..,.0
..
h ".600'_
'm -...I6a
Ki.h
""P'''''''
t xtM, .. ,,,
..
t xtApdli""

..
optS,
Yol
op'Su

.01 ..
optso

'01.&

,

,
To 1 . tSorvicio . t.1o,Coun,
, ,
l otSuvl< 10 . selected I I)

Fai
Nut
,
Ind W1tO

Privot.
,.,
In""PI ... "".o cl '"k,)
,,-
,
Into90<
,,-
,
10<090<
,
......... ..
_'.ado
'oed"".""
bNuovo
'010.
,

1 _lo._. t.lotlftdex
,

WHO n.lolOork"""' . IIO,Uh u I "_ ' .0",,"' ,
Sol""t CO"
,C. ll.f1.
"
C ...
Sr,>,
op.sr

,.-
C ... Sr . " , optSr.

,.,
Coo,
S"o,,
optS,ta

,.,
-
S.,.."
_IUdO . <x,_<.
.""11.(1.
"
...,leo""o.,x'Apellldo
. Cell.,I.
U
'0<
,

o To _ , .. """ ....... ""ct<> . t.i.' CoYnt
,

"
b pl _ .10";" ..... ' " . Llot I j,

.C.Il.U.
"
Th,
""",1 ... _ . I otSe ..... 1 ct"" . Llot 1 ode.

,
.
"
M ,
,
BndW1tO
Bnd SUb
o Capitulo 7: Mejoras en la interfaz
de usuario
A. Presentaci 6n ..

B. Ejemplos de barras de comandos
1. Barras de henamienlas personalizadas
219
220
220
2. Grupo 'Comandos de melllJs' eo 100000ata Office 2007 220
3. AgregiI r un comando a la barra de herramieotas
de acceso rapido , ........ . . . . 220
C. Barras de comandos
. . . . . . , . . . . . . .
1. Terminologla .

. Barta de comandos ...

b. Control ..

2. Crear una tJa rra de comaooos

3. Elimina. una barra de CO'llllllOoS
4. Most'a. una barra de comanclos
D. Controles (opciones 0 botones de comandos)
de las barras de comandos .... .
1. Agregar un control
2. Especificar el titulo (Ie un control
3. Eli mina. un control.


221
221
221
221
222
223
'"
22.
'"
225
226
Capitulo 7
4. Asociar un procedimienlo a un control
5. Otras propk-dades ..
6. lisla de asociadas a los botO<le5 de comando
E. Ejemplos de mentis personalizados
1. . . . . . . . . . . .
2. C6digo de los ejemplos .
3.
C6digo del m6dulo de clase ThisWOl1lbool\
4. C6digo de la hoja ' Nota de Gastos'
5. C6digo del m6dulo ProcMenus
6. C6digo del m6dulo ProcAcIion ..


226
226
228
230
230
232
232
233
233
239
I



!
I
-

Mejoras en III Interfaz de uSUllriO
A. Presentacion
En Microsoft Office 2007, la interfaz de de IllS I'ef5iones de
&eel p:.>' de llenllmief1\<1s y de menUs) se reempllza po< la Cinl.l
de opcionn, rompeslll po< difeJe111es fichM.
De todas "'",nas, LI coietti6n C<>mmandbars (coietti6n de las barrn de herra
mientas y de menUs de &eel) sigue tunc;o.r.aOO() en fxt:ej 2007. Esto permne
accede, al coojunto de barras, paneles de ta,eas y menus de (barras de
comandas. !>arra de estado, barra de i6fmulllS, menuS conl ... luales, Jl'lneles OOice,
etc.l.
EiIlCCe5() a esta coIecci6n pefmile reaHza' las siguief11es ()pefacitlnes con Ia ayuda
lenguaje VBA:
- crea, !>arras de r.erramientas persooalizadas: estas ba,ras se ubiean auto-
IMticamenle en el gNp:.> B ..... u penooaJlzadal de II ticM CnpiementO$
{ullima ticha de la derecM) Y SolI aspeclo es eI de las barras de r.erramienias de
LIs wrs.iones anteriores de Excel,
- crear barras de menUs pe!5OOlIlizadllS: se ubiean en la '!eM CornplemenlOll 0 en
una hoja &eel bajo Ia forma de menUs conl ... l uales (menUs ' p:.>pup' ),
- crear un./l barra de comandas personalizada en tormalO de OOice 2007,
- personalizar los comandas aslgr.\ooates macros.
o TOOas las barras cre.adas se Insertan en la !lella ComplenM-ntO$ de la cinia de
apeiooes. Es en la WIlOi6n 2007. oculiar () reorpnilllr los comandas
de las !!ehlls de la cinlll de ape",,,,,".
capitulo 7
B. Ejemplos de barras de comandos
1. Barras de herramientas ptr$onalindas
.:S "" eI III
"'"" ",,,,,,,,,,,,",
o Se (!os !)arras de comalldos: una !)arra de tlerramient<lS y una balTa
de menUs.
g r. .. ,_ "" . ......
bl,""" ",_ eI ""' .. ,
. . , 111 ,._
c., .. " '" .... "'"
3. Agregar un comando a Ia barra de herramientas de acceso r4pldo
Las !)afl <lS de comandos asl creadas pueden hacerse acx:esibles desde la balTa de
tleITamient<lS de .CCHO .apkto de la siguiente mane,a:
UbiQue el cursor bajo la barra de comandos y haga clio: COIl el botOO derecho dej
rat6n.
Seleccione la opcl6n A&reta. a Ia ba" a de her.amlentas de KCHO .ipldo.
, ,to' .. t, 'L __
- - ... -
S" ... ":I' ,,"'_ ..
- -- ....... - '-- ....
,,-- ... - _.,.. .. _ .
..1_. . . w_ !OJ .J. .c:. ...1 ,_
" '"' II!
< "
..
., _ .. _.. . .. _-
, .. " .h __ ... __ ........ _ _
...... ......... _H .. _. ___ .. ...... _
_ . .-.. -
MejOras en Ia imerfcu de usuariO
N""""lmenle, las barras de com.rdos son acces.ibles trave. de botones de
agrtgados a 18 de herramientas de . e<:tsO " pido,
Bl rril'S de h9n'.mICflUls
-
;;;;;; ..... . _ ..
ComarH:iOl <Ie men(is

C. Barras de comandos
1. T erminoiogfa
I. Barr. de cGI11andos
,
(; ....... "0 .. 0 ,
,
(II ,,_,
I
RePfeS"nta las boorra. de r.erramienta. de Excel, las boo ,ras de herramientas pe.w-
nalizadas y las barras de menus.
" b. Control

!
I
,

Representa un comalldo (bot6n de comalldo. opci6n de menu. etc.! de una
de comandos.
Hidden page
I
i
,
!
I

MejorilS en la interfilz de usuario
.( ...
c.u ..... b ..... 40 !>on_lont .. lh"d, ......
Sot aun" 0:-.""",".0 Ad<I IN .... ' . " ... nu' .
po.ltlOrt . _..-Top)
Cn<I
o Atenci6n, 54 el c6digo est! escrito en el rOOdulo de dase TIlisWO<1<booI<, es
necesario indical el objeto Application (ejemplo, Application,ComOWldBars).
3. Ellmlnar una barra de comandos
Expreulon
E;q>resi6n Que devueIve eI objeto CommandB.! q...e hay
que eli m;"",.
fjemplo
flimirnor bam> de menu y la barr' de (jlldispensable antes de
crear la$ barras).
.Hat .... 'u bu ... d . cOF,ndo. ",,_' " &<1 ..
AW' icotlon. Co 'n<I"'.o I ... nu' ") ,,,.,ot.
Appllc .. lon.Co..ond8.0 .. I ... nu.") .". ....

barr". de comandos Umbi(m plJeden referenc;<>tse pol e/ de 13 va,i.-
b/e olljelo.
U.n .. ,,,. ....
u .c.' ."'''

programar en Excel: Macros y Lenguaj e V8A
HII
Hidden page
Hidden page
Capitulo 7
3. Eliminar un control
Exprenioll Exp,esl6n que del/ue""" el oI.>jelo CommandBarControis que hay
que elimina,.
4. Asoclar un proc:edimlento a un control
.) Use la propiedad 0nAct1on del control.
EI nomb<e del procedimiento que desea asocia, al conlrol Oebe indicarse
comillas.
o Pa,a mosl,., I. lec la de meloda del procedimiento asociado. use 10
pmpiedad ShortCutTut del ob;'to ComrMndBMButton.
5. Otras propledades
.) Pa,a activa, 0 desactiva, un control. use la propiedad [.;ootid del control .
) P.,a aSpeclo de I. imagen de un botoo, use II pnl!>iedad Faal ld
del objeto CommandBal1lutton.
o uta propiedad define el aspeclO del 00100 Y no 50 lunci6n,
ijemp/os
Agres-a, un botoo de comalldo pefSOtfa/ilado a /, bat'" de herramien/as Menu2.
iSle botoo abre e/ cuadro de diJ/oeO Gualdar como.
sub
Dl. _.""uon .. C_tu1aa.III.'otI
............. ,.,.40. ... ,. ku ......
Sot _,Button Appu<auon.c:-" ..... <a ' ... , 000010."""
ITypo, . " OC'cn,,,, IRu,'otI)
. " I '
!
t


I


, . / . , .
,",,0 I.s.. "c>u.o.do
_."uuoa.OMct lon. """._.ee-"

Prrxedimiento GlUJrdarOimo
au.rdue.:- H
MejOfas en la interfaz de usuarlo
"""<lro d.o 4!.UOOlO gu .. d.oT _
,Show

/liregd' 1.'1 menU Alchlvo Y la opci6n Guardar CO/Il(J ! la ba"a de COOI8ndos
Ml.'lIul.
Db Monu Ao" .n ...... .-eon'<ol
Di _Option Ao "'"""'nd ... .-<:ont<ol
A/rr*\l' .. _ ""'hbo
".Mom. . Appliculon .",""",""""<oI"M.nul "1
. "'nt> ... A<h1 11'yp<O, ..-ocon,rol PO{luP)
" _Menu . Copt lon chivO"
'-11"00;' 01 l>ot6a d.o '=0""0
Sot __ OptlO<l . .. _ ......... ,control . -'<W
ITypoo , _""'n' t'OlButt 0tI1
"_Optlon,Coptlon . ...... ""', c.,., "
10""" c>u.o ..... ,
",_Optl<><l , P.CUd " )
,""tI_
".o"tl<><l."""cHon "c>u.ord.orCOOlO

Programar
I: Macros y l ef1gllilje
capitulo 7
6. Usia de asociadas a los botones de comando
f.I siguieMe procedimiento mlJllstra, en 1.1 /toja &all !!:tiva, la lista de imagenes
qlJll se pueden 3SOClar! los botones de comando (propiediJd Y $II numero
correspondienle.
5"" ""00._' ... '1'"'" II
ci. " ..... '10 U
ci. nUlOCoI A. ,nt'90<
01. ,ru, .. Ao Lon9
ci . ... ....
01 .. ""tt"", .... ec-.""""rC<>nt...,1
Cn ....... b "" ,.. -.1 ....... . _rol
So< ,""pllcatl"" . C_ndlI<>ro.>4<!
11'<>.1. I on, oQQ"'rFloatl"ll, te..,., ... y, .True)
..... "'11. "" ".,"'" .,. <", ..
Sot Butt""l "'nul. 1:0<1, rolo.M<! luoccntr<>IDuttool
......... H '_On ........ 060 "" , . , "
Y I . copl . u ....... Ida .><cal
Por """,,,<>1 To .0 2
' 0< " ...... 11 1 To 10"
"u.''''9&n 1
"uttonl . Po".'4
C<)pyT.C.
"<tiveSh""t, Cdlal"""IIo , no-="II "UO''''90"
"<tiveSh t . ..... Cdlo(nuaUh, m-CQI 1 )
H.xt "_l1a
No%t ,,'*">1
.... ..n omo 'a. col..aa.
Col""". (, A , W" I . SoltC.
S.lcct !on.c<) l u-"M\dth
Ull11 ... 10 ban. <10 l.ur .. 'OCI' ..
M&nul .o.1.t.
I
,

!
I

capitulo 7
E. Ejemplos de menus personalizados
I. PresentaciOn
.. ~ .......
-
, ~ ..
..... "
~
I [ ".:--.
- ~ - ' ..
I

i
,

!
I
,

Mejoras en fa Interfaz de usuarlo
Este ejemplo cJf!a las !Jguientes tlarrlS de comaoo05:
_ Una barra de menu con el titulo "Menu GlStos" que permile acceder a lIS
!Jguientes opciones:
_ VII ' fonut.
Q !i<'o, ....
!{K".'_'
...... ..

Una tlarra de menu con el "Gast05":
Un grupo de COIDandoos con et titulo "ComaooClS de menu":
... eu.. ... , _ _ , ..... .
.1 V"t "....,., m a ... ..
III ,,_,
Co ... d. """"
I' .... '
Una tlana de menu conll!rt ... 1 que aparece cuando el usuario se posiciotlll en la
zooa Itamada "Empleado" y tIICI'! die con et bot6n secuooario del ratOn. Los
empleado$ se ertr&en de II tlase Access Empleados.actdb (base disponible con
los ejemplos dellibro) .
,"n,,'" ,_,
---
,
--


""' ..... _
-_.
--
capitulo 7
2, C6digo de los ejempl05
Para crea, los menus del siguien! ejemplo, .., deben ",al iw la. siguierrtes ope'iIi-
clones:
cJt!a, eI documento El<cel ;
delini' un de impresi60:
delini' un flIrogo de celdas coo eI nombJt! 'Empieado' que inclU)'a las celdas
Apellido y el ninnem de
delini' un ,arogo de con eI nombJt! ' NotaDeGastos' que incluya las celdas
que hay que imprimi. ;
asigna, 105 ';guienles nombfes a 10>$ ceidO>$ que COflIienen la infom1acoo 0eI
empleado: apeHido, numemp, funci6n, ciudad:
ag"","' un m6dulo e;t.\nda' l!amado ProcMtnus; este m6dulo los
llfocedimiefl105 pa,. crea, las dlle"",tes Dar/as de comandos:
agJt!ga r un rn6dulo est.\ndar lIamado ProcAcciones; este rn6dulo 105
prOCedimientos personalilados asociados a los botones de comandos,
3, C6dlgo del m6dulo de clase Thi$Workbook
option 5><plLclt
"" .... 0 1". .,. . ....... , .. &&>
.... <."""' I.ar _ bc.l
, .,..

Prlva Sub Aa 9oo1e.n)
Pi40 ooa ....... &. 401 r. 40'
II _""xl',""'u "orrOr . 1 "brQ",
vbQu .. tl",, ' vbnoNQ, ' Hoto "" o..toe' ) vb ... Th."
, ......... 1.00 4. ",,001
. .. taunT_5><cel
UN
Co.ncel
Orul ..
_M
I



!
I
-

MejOf<lS en III interfaz de usuario
4. C6digo de la hoja ' Nota de Gaslos'
P<lv>.<" Sub Targot "" """.1 ..... 119
caneol .... IOol ... ")
II 1. p<I_ odd .."h. port.....:. d ......., 11 .. ....
_,_ .... , _ .... r .1 _ <iii. _I .......
If 1,)n!('" (T. rg.L "'09, 1' ''' ' ). Ilang<l ' _1 ...... ) ,.A<\.J,...
, AM .... Tbon
"'-""""r.I lhOpl ....... j . S_Popup
<:ooC., Tru.
KIld II
Kn<I Sub
5. C6digo del m6chllo ProcMenus
.... 10 ... 0140. d.o ... 10101
,>I. ,"_"""U "" COOfNod .... l>opup
P\ ___ "'H, "" "'-"n<IDa.
No . _Optlon ... 0: ....... re<mtr ol
1>1 ... _"utton "" Cc ' "" .... Qut t O"
Sub hraon.ll ... _ """.lll
Dl. I ... '"t."".
, ... _ ...... y c ..... _ porOOCl.U, a40.

_tur _ _ Mura.i.nt
Mo4t r. '_B. r c._OOD&n .....
__ """ . ... , .... , L do _",_
Lioto __ l.ado.
... , .. barr.. d. ' 6.-.' .. , d t.o ....
y 10 ""..., _ d ... 10 Y col ......
Appllc. , i"".Dlop loyf o<WIluar , .10.
I\ppUc. ti"".DI. p'.y.,., ....... . .... .
>. 1
!n<I 9ub
Sub Reot. u"'" b e d, 1
01. 1 A4 Integor
01. ,".CUI ... c.-<><'80.r<:ont<OI
U l al ... )"" r bun. d ' FOnd
e

on Error Roou_ .... xt
J'.pplic.lion. "-MS .... ( ' '''nQ a .. to.1 . o.loto
- - . / ...
capitulo 7
. I . .
Appl loulon ."",",",,"""a<o 100.00<0&') . Do'ot .
Appl ."""""'MR." o . Doleu
on .rrOr Go"ro 0
." ....... 100 00" ... ..... . ..... " .-
... 1. ..... __ ,. " hu ..... _
'Or e.ch " _ C"trl In too .c.-.ndIlon 1'1"0010'1 . C<>ntTolo
I t NQt "_Ctrl.8Ullt,n Thon
" _ctrl . ""lee.
"
","xt _ Ctrl
"".'YO _Or.., ' .... b.r ...... t6.-1 40 ,ado
Y I"" .",,"",ado. '" fll. Y eol_
O""Uc .. lon.Oloplov.o ..... , .... r T"'o
A""llc.tlon . OI.ploySt.tu.Bor Truo
True
hd !II>!>
$ub _0<_"0<<0_*""011
on "or Roo_ Nu<
U! ....... 10 har" ... _ ... ro '.., . ... '1.
Appl louien . C'-'''''",r. I .... to., . t>e l no
on <Or <IOTo 0
C, 10 b ....... _ ....
.. , . _ .... r . . .... plic. <\on. C':-O'nd80u .Add (M._ .. ... "U Gooto..
_, t lon, .-..o"' r1"opJ
...... ". 1. d . _"" .r .....
App) leoti"" .0-.""""" I ... nu <>00<0.'1 . yl . lbl e T",.
"" ..... . 1 _
$et . _ nu _".o<ra .Control. , M<l11Yl'o,.. , oOonU"oIPopllpl
. _ ... nu .CopUon , " rehiyo
""" .... 1. ... <_.,de. 401 ,",,<hi_
... 'cd"" ...., I ... .. po ..... "",-"
Sot "_''I''lon _ ... nu .C<>n"olo.Mdlrypo, ... oControl ..... tton. 'D,. "
. _Opt !on.On.l<:t I"" Qu,<I.orec.,
$et '_Optlon _ ... "u.controlo. MdITypo,.._tUll ....... on. 'D,.)O.)
set o_Option 0_"""". ""n,,,,10 .MO.1Typo, ...."""t1"01"""on. 1O, . OJ
.. t . _Option , . _ ... " . COnor-o . Md ITypo .... <>Con<r-olAu<ton. 10 , l QfI
.......... , _ V.r
s., . _ ... n" _ ._ . o< .
. _ ' Ver'
"" ..... 1. lio< ..... p,_,. d _
... t __ Option 0_"""" .Cont""' ''.AM (Typo, . 000000000trol""""""", . 10, . 17H!
""" .... '0. c...,""" .... , _ .,.
_ . , U .. .... I ... p""' ... Iai .... .... cd&'
.. t _ Op<lon 0_ "," u. """orolO."""- (Typo, ... """ncrolllu<toni
l.75 . . . / ...
Hidden page
Hidden page
I


,
I

Mejofas en III interfllz de uSllilrio
. . . I . . .
...
Kn<I
"""
Sol> ""'otnr. "'ru.eo..ndooll
Cbjo ... '1'>0 .. pro ...... I. bun'" ,.. ............ "Tool. "
Soot _ .... >.wllcoU.,.. .eo-.n<lilarOI"TooIo"1
""0\10 100 bo'ouo .so o-...so th4u-.. u ,. hr .....
hor ........
Set ".lhIt."" _ ... u . . M<I
'Typo, . NOCotI' roUutton. Il), ., I
... Button.C.pti.,., _ "<lou,,,,, , c.,.;>
Button _"""". I.,.. _ "Ouo.""rec-;. "
Set ",'utton " ,"rro.Control . M<!
(Typo, .uoCon.",IButton. II) , . '001
'", Bu.ton.c>ptlon "Vin. p ro u ,,"
" .Button,onActlon V.o'oProll .lnar"
.ot ",Button Borro.con'rolo. M<!
ITypo . . ... oc:ontr<>lSutton. rD, .,
",Outton . CoptlO" ' ''' prlo l<"
" .Buuon . On>.ctlQn _ ", ..,.101. "
AQ' .... 1_ ... Upo .o ... to
So. ", Button orro.oontrolo.Add
(Typo, .. ocon'r(>lbt.ODI
WHh . aun""
91
.On>.ctIOQ "futnte"
. TooltlpTeKt _ ","on, ."
.Captlon "ruon'O"
In<! o ith
Sot Button ..... rn. <:on.rolo ,"""
(Typo , ..
__ Bu,ton
, eOld 110.
, 0000tlo" "110<<1<. "
.TooltipText "oordo. -
.c"pUon "001&. -
End with
S." M_hotO" M_ ... rro . C<mtrol . -'<I<!

With ",_Button
, ,.,,,,Id
, onAction
.TOoltipToK'
Programar en Excel: Macros y lenguaje VBA
. . I . . .
fiN
Hidden page
I


!
i
,
Mejoril5 en la interfaz de usuarlo
6 C6digo del m6dulo ProcAction

Aju,"11
I.j ..... , .,

de. r ....... ".-de -""taD.O .. tGO-
Appl'c"'Gn.Goto
"" t 1 veIIl """" . ""'"
Truo
"""90 (' _n 1<1<>- )
. S<I)OCt

Sui> ""0<".' _ l eodo("'-"'P ....
-,
,)1. Ot> ... o.tobo ...
Dl. rot_ "" 1tO>I . ..
,,1 t<SQ) ... StrlB9


, . UbI. _,,_
Sot Db
"
Ope_toboo. IAcUv.>lQrkbook _ O.th do .
"rSQ'
"
-SlL.t<::t
. _ ..." doo
,."
d ...,1 ... _1
" " "

.n
<ot_ Db. Op.OI\ocol t(.<rSQIl

........ , 0_< ..... _ de, _, ... 110 ' ..,el_. 110
,," ...,( _1I1dO )
uc .... ,rot_'..., .. UcIo"

" "

-
<ot_, _ ... ,
"""90<''''-' )
"
"OU",,'I ' M' .... ..., ... ...,. . ,

rot_I ' '''''''lon' l
hn90 ( ' CI\J<Io6' )
"
"t_I'Clu,,"d' l
elorro '0. <>bj o. Aee ...
.o<_. e.oo.
!lb . Cloo.

sob ""ontoll

... _t ..
"ud.o "" dlUogo ........
App"c.tlon.DI og'l olOI.109o ...
fruI Sub
10' .... (1

...... <0 ., ""edrG d. 6"'<>8<' _ .
Appllc. t'on.DI"09. IK1C' olQ980rder)
In<I

T . ... O

........
<""dro d. 4"'<>8<' Tr ....
AppUeoti"" . 0101090 lolOlalogP.turmo' _ Show
. - -, .
Hidden page
o Capitulo 8: Administracion
de eventos
A. Presentaci 6n ...

B.
Escritura de eventos .
I.
Evenlos de li bro, de hoja (I de fOfmulario
2. Eventos del objeto Appl ication . . . . .
l .
EvenlCl asociado a un gnlfk:o incruslado .
C. Eventos del objeto Application
O. Eventos del objeto Workbook
E. Eventos del objeto Worksheet

F. Eventos del objeto Chart


242
242

242

244

247


250

253

25.

257
"
A. Presentacion
Un """,,10 "" Un;! acci6n del u .... ario 0 del siotema reconocido 110' un objeto de
MK:rosoII Excel. EI f!Yef110 d"",ncadenII un pn'lCedimiento a..x;iado al """,nto del
objeto activo.
Eslos lIfOCedimienios 10 pefmitl!fl """,ia, un c6digo peno""lizodo en respuesta 8
un eYeI110 que Sf! produce en un oo;.to Excel (iibm, hojl, /ormulario, 8,Mico, etc.).
.... ,'" ,,'

" .. -

....... .... , .. ..
B. Escritura de eventos
1. Eventas de libra, de haJa a de farmularlo
b ....... .
E ...... B
....... c
-,
Usted po.>ede 1ICCede. a 105 procedimientos de """'nias asoclaclos I un objeto de II
siguiente mane,.:
.) En 18 \'ellian. upioriKIor de PfO)'tdo.. haga dOOle elK: en el objeto d.ndo
liibr<l. hoi;l 0 Io,mulariol Pl'''' I. v.mlan. de e6digo cDrfesporI
diente .
) Ab" II Ii$la deo.ploglble a II izqUiertll de II vent."" de c6digo Y oeIeccione
Worksheet 0 UMfForm. .. objeto .
) po.>ede selec.cionar un """,nto vinculado al objeto en II
li"'a d""plegable de II derecha p.o r. asoclarle un c6digo personaliz&OO.
fltJ
VBA Exce! 2007
I
i

!
!
"

Admlnistraci6n de eventos
o La ejecuciOn de los procedimienlo5 de evenlo5 pooOO Oes.1ctivarse en cualquier
momento el valof FJ1M a la propiedad ENbleEvenlJ del objeto Ap.
plic.lltlon.
ijemplo
isle mUf!.ta. c6mc ob/ener un Iis/1Kio hisUxico de /ados "'" hipervincu"'"
vi$itiJdos en I, hoja de dlculo activa.
4 _ .- .. _ ,_ .....
- .. == ... ,:;:;.,.,. ,- -
....... .... _ ...... _,.,,, ...... ,, ..
" ... , ..... ' ... _.h .. T
........ -
.... "', .. ,. .. -
....... _ "",, ,,_, .. I .... "
.... " ..... ,,_ .
... .... -, .... ,.< .......... ..
... " .... .., ... co_
,oJ"''''' .. , __ .. ,._
,oJ"",,,. " - y_ ... ....... . .
' olio"",. " , .. .
,.H.,"I . ., _ ' .. _m_ ..... _.,
.... ....
Programar en Excel: Mocros y lengu/lje VBA
-.
lUi
capitulo B
ResuiliJdo en &eel,
,
2. Eventos del objeto Application

""

. "
'_H

''',
...
Se ne<:es;tao IrIlS etapas 1II escrilUfa Y ejec:uci6!1 de 105 eventos del objelo
"--liar

Eta". 1
.) I"",rte un m6dukl de "lase,
Inserta,
M6d1l1o 6& cIase
o I b,. la liSia lei Y haga die en M6dulo de cia ...
) UJ\II "'" insertado el m6dulo. ,.Jgnele un ro:.>mbre.
Ejemplo
Dele el oombre ObjAppJiutiott al mtx/u/o de clase.
Etapa 2
.) En el m6dulo de "lase. un objelo Application ""'" el c6(1igo,
Public WithRvenu NomObjeto A. AppUcation
I



!
I
,

Admlnlstrad6n de eventos
fjempJo
ckl objelo MiApliudo/1 como ap/icxiM.
I ..... . 'tUT""," ... Appllc.tI_
El objeto asl creado Queda diS!XInib'" en la lista de la iZQuierda del mOdulo .
) Selecciooe eI c",ado en la li!>!a de I. izquiem. del mOdulo y luego
seJeccione el evento esperado en la lisla de I. derech . u.:riba el e6digo de los
procedim;enlos que desea gE!l1I!filf.
Eiemp/Q
CtWlCiOn de rJos ck """"'as, el primero realiza I. in"",dOn de una
nueva hoia; el sesundo. I, ctellCiOn de un nuem libro.
P,ivou .. , . pllC.C' ''''.1I<>r.".,., ....
IR,.,...' lib ... Wor kbook . ",.,..d SiI ... OOj oc.)
01_ HOOOI!oj . ... $t<I ng-
C .... n ....................... "'j "Id , u .... lo
la. adA , ........ .. t
_ l . _ ' ''PUt_, ,ntrO<!u.c ' n.,..,r .... 1. bOj"1
."ctlvoSl>eo'. N_ ","",oJ_
Act In.hut . ,.".. Af'ar, . "" .... ISh ..... Coun')

Prlvat. SUI> " 'Al>l!coclon .... " <"kboo., ."". 1 lib ... 1I<>,kbo<>kI
01_ KbHoj A&
01 __ ' u. 1 ... 'n._.
0\_ 0 1'0"""; l nt_.
Po. c .... lib ... .
cll.tt ...... 1 " .... "0 10 ........... de "'j
...,.u. . 1 ."0, .............. 0 .U ......... , ...... j ........ ul
Nl>HOj ... "Pplicotl"" . '''PU'''OX _
... IIOj .. , " , TypO .. ,)
Loop WII Uo NbHoj .... 01 ..
...... c'ual _ "" ... to.count
OH.'.nch _ """"' uol . HbJ<oj.. .., / ...
I'Togrilmar ef'1 Excel: Macros y lenguaje VBA
lUi
Capfrulo 8
. . I .
,. ........ , .. ""'oa d ...
$up ' Ooo d. ''''' , d.o ...... eOG .,
d.o _ ol>t'Ur """'" u h .up.",Ooo doo "",
D<> While oU.,.nct.
,""o11eoU"". Dlop' .yA 'uta , . , ...
Sheno . 1t_IDHue",,'" .s.'""t
.. t . o.l.,.
oll "ncl. oll onel. 1

"" ...... ""lao ....,
d.oouth ... I ....... too por.
Do Whil . DH nol. < 0
J.ppli".tIQn ...... b .. 1
Sh oe," _,"""
OHu.nci. . Pif oronc i 1
-
... oU ...... omt y . ..... .
Appllcotlon. Bnobl oOVont Truo

nd Sob
Etapa 3
.) Active un m6dulo cualquiera y cooecte eI objeto declBr&do en el m6dulo de
clase con 01 objeto Applicllion para In s;gulontes Instrucclooes:
Ilia 1I0000Variabl e .... 11_ NomModuloOeClase
Sub NornProced ()
s.t NOII\V"ri"bl e .NomOb j eto Application

Hidden page
capitulo 8
fWnp/o
Dele el oombre ObjGt1l lk:tls al m6duio de tlase.
Elap:! 2
4) En eI m6dulo de tlase, cree un objelo pala eI 5<aulenle c6di20:
Public IIHhIvaDt . NOft(lbjeto ,.. Chart
f jemplo
Creac;oo del objeto lIamildo C/I,t11 como IIrMica incruslado.
1 ..... .... u. ..... O>.a.<l ... a.u:.
EI objelo ar.l CfMOO queda d;spooible en l.! l;s!a de Ia Izquielda Oe! m6dulo,
4) Sebcc",,,,, oIljeto cre.ado Go la li.ta <Ie la izqulerda del m6dulo lueao
el evenlo espe.-.do eo to l;sta de la dereclla, Escriba eI c6dlgo de los
p,ocedimief1tos que desea !l!neral.
fiemplo
Creacloo de dos procedimientos de el'e/ltos: uno deS:tiva el tI,MiW, el 0110 espe.
cifica ws dimensiooes.
"",jon bplJeH
"""lie .. O>.a.tl .... ""
o<i.n. Sui> Chact,_"".ctJ.n.Ol
oj. Reap""'" ""
c ..... quo o. 4 .. oot h 1 gritloo
p ........ , 1 by quo "" ....... . , 111> .. 0
Re.""uu " "-9"",xlo.<Juo.r<Ior 10. cublo.?", vbYeor<ol
It Oeo""eo" " vbY .. Th.n ,",U..,IIO.kbook, &o",
end "uI>
. . . I . . .
Hidden page
capituk) 8
FiMlmenl e, /i,,= a! pror;edimif-nto /ni tl./iAplicllCioil al ,,/)Ii. e/ libro (m6du/o de
eld"" TnisWorkbook),
O,jvate Sub
Inlda! haO<&!ieo
,@
AI abfi. esle Hbn), los procedimlentO$ erudos du.ante la etapa 2 se
autom.ticamen!e y se re<ii men5ionanl 0 sa desK;t;"'a.1I el IIralleo situado ell III
segunda hoja de clllcu!o, Estos procedimiemos se draM;"'''''n itl cen'ar ellibn),
C. Eventos del objeto Application
Calcul.teUntiIMyncau.riHOone
Ejecuta todas las consul1ll5 en eurso en las tUO!f1tes de datos OlEOB y OLAP.
NewWorkBooio
Ocum!! al erell. unn""", libro,
SheetActNate
Ocurn! " I ad;"'ar una hoj" .
SheetBeforeOoubf.click
Ocune "I hacer doble elic en una hoj" <If: caleulo, antes de la acci6n predete.-
mlnada para el doble clic.
ShfttBeforeR IIIItCI ick
"I tIaceI elie con el bot6n secundafio (atOO en una hoja doe c.1oleu k:>,
"ntes doe la ICCi60 prodetermi nada,
SheetClIc"'ate
Ocurre cuardo se recalcula toda la hoj_ de "-'Ieuk:> 0 des"""" de que "" ""w,,
un gralico al modmc.r sus datO$.
I
i


I

AdministradOO de eventos
SIlHtChq.
OcUffe (\lando las celdas de una hoja de ctilculo se modifican por el usuano 0
por un vinculo exteroo.
SheetDeadivlt.
Ocurre II desactiva r uJ\ll hoja de cllculo.
SheetFoIIowHyper1in k
OcUffe cUlirdo elll5Ul1rio hace clie en un hipervfnculo en Microsoft Ucej .

Ocutre al acluali1.ar fa hoja de informe de u,," tabla dinamica.
SheetSeltctiGoChanC'
OcUffe cuando cambia 18 selecci6n eo cualQuier hoja de cllculo (el """nto 00
ocutre si la selecci6l1 se kate ..,bre u"" hoja Oft gr1fico).
WlndowActlvJt.
Ocurre al aclivar U"" ""ota"" de libm.
WlndowOeActivat.
Ocu.re (uando se <iesactiva una ""ntaoa de libro.
WindowResiH
Owrre al cambia. eI tamallo de una ""nlana de libm.
WorkBookActivate
OcUffe cuando se lICti';a un libro.
Wor1<8ookAdd In Instill
OcUffe cUIIfldo se Instala un libm bajo Ia forma de una macro complemeotaril.
WortIBookAdd inU ninstlll
OcUffe cuando se deslrtStala una macro complemema.'a.
WorkbookAltttXMLElport
Ocurre o:!espuo!s de Ufl archi...o XM L.
Programar en Excel : MCICl"OS y VBA
'fil
capitulo 8
WorkbookAfl ... XMlImport
Ocwe despuk de un XMl.
WorklklokBeforeCkH.e
Ocur", justo antes de "",rrar un libro,
WorklklokBeforePrint
Ocurre antes de impl'imir un libro
WorklklokBefOl'<lSave
Ocurre antes de guarda, Ufll ibro .biello,
WorkbookBef""XMLEltport
Ocuffe antes de exportar un arclliYo XMl.
W orIIbooIcBri"" XMlI mport
Ocurre antes de importar un arclliv<l XML.
WorillkIok()e, ttiv, t.
OcUffe ClIlU'I(Io SIt desactiva un libro abiefto.
WorkIklokN_Sheet
OcUffe cu.ndo ... erea una nueva hoja en un libro abiello.
WorillkIokOpen
OcUffe cuando se abre un li bro.
WorIIbaokPivotT. bIeOpenConnettion
Ocur", al ablir la de un infOfme de tabla dinamica con SII luente de
datos.
WorilbooIcPivotTableClos.eCOfInection
Ocurre . 1 cerrar la cooexi6n de un IllIorme de tabla dini mica con ... fuente de
datos.
WorilbookAowsetCompiete
Ocur", cuando el u!oUario ext""" el juego de gr.>baci6n de una tabla dini,mic.1
w,.
Administr0ci6n de eventos
WOI'kbookSync:
DeUIT\! al r.inctOOizar I. C09i. w i 00 ...... hoja de dk:ulo hecha a partir 00 un
ifN doe Irabajo con Ia copia e!1 el seMdof.
D. Eventos del objeto Workbook
Actlv.te
Ocurre euarrlo ... el libro.
Addlnlnstall
Ocurre cuarrlo ellibro ... instala bajo Ia Iorma de una macro complementsri .
AddlnUl"llnslIli
Deurre eualldo e! libro ... desinstala bajo Ia Iorma de una mac:ro complementa
ria.
AIt,"XMluport
Deurre despues de e>:poru" un XML.
Aft .. XMlI mport
Deurre r:!espuk de importar un .",hivo XML.
,- -
Deurre ant"ll de cerrar eltibro. 51 eI libro Iue modWicado, este EM!111O '" produ
ce antes de irrvltar II usuario a guarda, los cambjos.
BlllorePrint
Deurre antes de imprimlr ellibro (0 cualquieu de sus partes).
I BIIIonS. ...
Ocurre antes de ""bar e! !ibm.

BllloreXMLExport
!
I


Ocurre antes de exportsr un archivo XML.
B.ror.XMlImporl
o<;Ufl'll 00 importar un a'chlYo XML
Oe.,tivlte
o<;Ufl'll BI desactiva, un I ,Mico, una hoj. de dlcuio 0 un libm,
,_ .....
o<;Ufl'll euando se erea una nueva hoja en libm.

o<;Ufl'll euando se ab! IIbro.
PiYotTableOpenConnection
o<;Ufl'll . 1 lIb,i, la de un inlo'me de tabla dinamica coo su fuente de
datos.
PivotT bleCloseConnection
Ocurre al cerrar la toneli6n 00 un i nforme de tabla di..amica am su ruente 00
datos.
RowsttCompiete
Este ev.!nto se desencader\ll cuando el ....... ' io ""lfae el juellO de gr.bad6n 00
una tabla din.lmica OLAP.
SheetActivate
o<;Ufl'll cuando se aetiva urll hoja,
S'-tBeforeDoubleClick
Ocu,.., . 1 hiloCef doble cHe en LI<III hoj. de dlculo, antes de t.l iJCCj6n preOeler
ml""d. 1"". el doble die.
SIlMtBefOft R lahiCI ick
Ocum! 81 Ilace, cUe con el bot6n secuodario ral6n en una hoja de dlculo.
ont!!!l de 10 aooci6n predelermiMdo,
SMetCoIcuI.ta
O<;urre cuando se rec.alcul a toda fa hoja de calculo 0 despues de qll!! se recal
cul a un Ilr.!:fico al modijlcar sus datos.
I
i

!
I

-

AdmlnlstradOn de eventos
_.
Deu,", wa""o I ... celda. de """ hoj& de dlculo ... modi!ica n PO' el "",ario 0
por un ylnculo e:xterno.
ShH1DHctlYltt
Deurre cuaodo se desact;ya uN hoja de calculo.
Sheetfol JowHyper1ink
Se produce II clle en cualqL>ie. hipe<Vinculo en Micmso!t E.o.ceI.
ShHtPivoi T J bIflJpoUole
Deurre a l actualiza. la hoja de! infomle de tabla
SheetSeltdionCtIanp
Se produce cuaodo cambia la se!ecciOO en UN hoja de dkulo cualquiefa (e!
"""",to no ..,produce si fa sel cj6n en UN hoja de grllf;co).
"'"
Ocu.re sincronizar la copia local de u"II hoja de ctlculo hecha a I'o'rti. de un
i'e<! de t.abajo eoo la copia en el servidOf.
WindowAclinte
Ocuffe al activa r 00 tibm.
WindowDeActiYate
Ocurre al desactiva. un li bm.
WKldowR'''ze
Deu,", cuaodo c.mb>a et ttmallo de fa IIf!ntIJN.
,
capituk) 8
E. Eventos del objeto Worksheet
Actlvat.
Ocurre wando se activa un !ibm, una hoja de d!culo, una hoja de gratico 0 00
SrBli<:o 'nc,uslad<').
Befor.DoobItCllck
Ocu.rt' al hace, doble clio: en una hoja de cirlculo 0 un 8'.ffico ,ncrustado, 3r1tes
de fa aoci6!1 predelelminada pa,a eI clic.
8tfor,R/thtCllck
Ocul,e al !\ace, clio: coo eI bo!iHl secundario ,at60 en una hoja de dlculo 0
un grat;co ' nc"""O><Io, antes de la aoci6n
Clrltulllle
Ocurre al recalcull ' la hoja de dlcuio.
Cha",.
Ocurrt' cuando als u",", "",da. de la hoj_ de c.tIculo ..,;tin modificoda. po< eI
uSIJano 0 pot un vinculo e.te,rlO.
DeolClNate
OcUl,e.' desactiva, el la hoja de dlculo 0 ellibro.
followllypor1ink
Oc .. "e.1 hace< clle en un hlpervlnculo de una hoj. doe dolculo.
PiYotTa bleUpdllt.
Ocu,rt' de actll3liza. un informe de tabl. dln&mlca en una hoja de
dlculo.
Stt.woncha"lf
Ocurre eUl ocio c.mbia I. selecci6n en "M hoj. de dolculo.
AdmlnlstJadOo de eventos
F. Eventos del objeto Chart
",. m
Ocurre CUllOOo se activa una de 0 un grMico incrustado.
BdortDoubleCllck
Ocurre al hace' oobte clio: en un I'M"", incru5tado I) una hoja de antes
de la aa::iQn p,edetefminad.i pII ra el <Ioble die,
BeforeRightClid
Ocurre al hace, clio: con '" bo!On secundario en un graf"", intf UStado 0 Ulla
hoja de grM""" anles de la aceiOn pteOeterminac:!a to,respondiente.
C.k:ulate
Ocurre <iespues de que grMico se COlI datos """""" I) modffk:ados.
DtactiYII.
Ocurre cuando se desactiva el grMito, la hoi. de C31culo 0 e! !ibm,
OraiO'oer
Ocurre al arrasl r.r un rango (Ie teldas sobre un grMico.
'n.'"
Ocu,re al a""5Ira' y toklta r un rango (Ie celdas sobre un grMOco.
Ocu're al presion., el bot6n izquierdo 0 derecho del ,.160 cuando el P\Jntero
I
esU sob", un &,Mlto .
. _-
i Ocurre al cambia/la posici6n del punte..., d!!1 rat6n sobre un gralito,


!
-

capitulo 8
MouseUp
Ocurre al $(Ilia, ~ botiIn izquierdo 0 derecho del ratoo cU3ndo el puntero est'
sobre un grMico.
Resize
Se produce al cambia, ~ tamailo del gnffico.
So ...
Se produce al seleccionar un eleme<' to del gr.ilico.
SeriHCllanae
Ocurre cuaOOo el lIS"",io modifica el va ... de un punlo doe datos cIel gr.lfico.
C Capitulo 9: Depuracion y
administracion de errores
A. Oiferentes tlpos de error.

1.
Ermres de sintaxis .


2. Errores de compillld6n ,

3. Errores de e;ecuc06o
4.
Errores de l(igk:a . .

.
.
B. Depuraci6n





I. Preseotaci6n .

.

.

.
2.
L ~ barra de l\erramKlntas Oepuraci60
3. EI objeto Debug

. .

.

..
C.
Administraci6n de errores en VBA


I.
[I objeto Err .


260

260
261
262
262

263
263
263
264
26'
268

capitulO 9
A. Diferentes tipos de error
Se distinguen diferenles tipos de eno' en !enguaje VBA:
- errores de si ntaxis ,
- errores compilaciOO,
- e,rores de ejecuci(ln,
- errores l6gklo.
1. Errore$ de sintaxis
Los errores de si ntaxis se delectan l.rtoo1atklomente I medida que se introduce eI
cdillO e<1 VeA.
-) Para activar la comprobaci6n sinlaxis, e<1 el menu Htfrimitntu, selecdone
Opeiones. lueao selecdone II ficha Editor y marq"" II cotSi lia "-
lintalls lutomiliel .

.... " ........ , j ,. >0, ... "v
.... "._ ..... "' ..
00 ... "" . . ...
" ... _ ..... _ ..
IC",... I _
o Los tfrores de lintaxis no OOfregidos prOVQCl ,an un error de compilaci6n, aM
eI mensaje q"" lparete.
I

Depuraci6n y admlnlstraci6n de errores
2. Errores de compilaci6n
Los efJOres de compilaciOO se detectan cuando Excel trata de compilar eI c6digo.
El c6digo VBA puede rompilarse de do:. maneras,
- a pedido, al selec:cionar Ia opci6n Compllir VBAProject del menu Depu,aci6n.
En este caso, el c6digo se compila eo su IOIalidild.
- automaticamente .1 .jeculllr eI c6diIO. En este eMIl , solamente se compila eI
c6digo COI1tenido los ptOCedimiento:. cuando son lIamados p:.>I' primelll vel.
Los procedimientos no Ilamados no se
o So! recomienda compilar eI programa antes de ejecutarlo ganar l iemJlO eo
Ia aetu.lilaci6n.
fjemp/o
.. ,_" ....... _._ .... , .. " .... " ..... , .... <b,oc'
., ....... --
. _ .... -_ ... , .. , ,. "", .. ,",-
, .. <I ,_,
00 . .... 40"" .. ,
" . _- .. ..
....... .... -
So. r .. . ",,,
.... "
00 . ... . 0
.. " ....
d} ....... . .
I ....
-
- I
0 U posible anlicipIJr los errores de ejecuciOO dehidos a las variat>les no declara.
If das U!OlOOo Ia instrucci6n Option UpIicit. Si Irata de usar un oombre de varia-
! bIe no declaraOO, se produce un error durante ia compilaci6n.
I
-

Capitukl9
3. Errores de eje(:Llcion
Los erro<es de ejecuc;oo "" delectan cuando UceI I,ata de ejecuta' el t6digo. UI'III
una ope,aci6n, uM lIamada a una Iu",,;oo, etc, un
efrO' de ejecuci6n. 1'0< ejempjo. el USC! r.Se un irdice err6neo en uri!! coIecciOn 0 la
asignaci6n de un valOl' 00 numerico a una variable numiirica pueden proyoca' un
eflOr r.Se ejecuc;oo.
fjemp/o
U /toja de cjlcu/o ' f""ro' no e. is'e en el Ubro activo.
", ...... --..... ,"'" . .,. " ... , .. ..
... , .. .. -
... -"'j- " .- .. ,. _ ...
.. .. ,_ ... _., ..
" ... _ ..... _ .. ,...
_ .... _ ... --- , .... , .. -...... ,-,,-
' ... _ ..... "'., ..... '._,-."." ..
I .. "
I.u
........
.... .. -.-
_ ...... -
-
_.
4. Errol'e1 de !bglca
Los emlres de l6sica tie""" q"" Yet coo errores de razonamier11o 0 coo una mala
traducci6n de un razonamiento e<1 t6digo VBA. 1'0< ejemplo, un algoritmo de
10 poede prodllCir un error en eI resultado 51 en S\I l,aoscripci6n a VBA. 50 se omite
o se t,aduce mal una ope'aciOn 0 50 el algoritmo es ero6neo.
Los errores de IlIgica """ los mb dificile$ <.le r.Setectar. En general, 00 prod...."., un
l'f'llf r.Se eje<;uciOn: pero producen un resultado distinto <.leI esperllCio.
VBA Excel 2007
Hidden page
Hidden page
Depuraci6n y ildministrad6n de efrores
Print
texto en YMlana Inmedlato,
.....
Sll5!"'nde de forma coodicional Ii ejecuciOn de la linea en la que aparece el
metodo,
Ejemplo
[';r\nt_ s"" IIor _ _ S ..... '''''tlvau\.yVaJ On'" Clbjoct)
.......... J ..... , ...,jo ....... u b v _ ..... I_Io.o
DebUg.orln' On,No04
If "h ,No .. . "Re.u.on" Then ...
RewltiKJo en I" 'len/ana Ejecucioo:
C. Administracion de errores en VBA
Cuando 5e prodl.lCe un error, VBA genera un error de ejecue:i6n que intefJumpe ..
aplicaciOn, Otros errores pueden hacer que eI eMilIO VBA 5e coml"lrte de marlefa
!
Imprevisible.
Para evilar esto. es posible ITIlInejar eI error con la ")'uda de In siguientes irlStrue:
i clones y tuncia""",

!
!
-

+ On Error
I inutrucd6n)
Indica unll secuencil de InstJUCCiones que 5e ejecularA en caso de error.
'"
capiMO 9
Sintuis 1
On Irror OcTo 11Ma
Acliva ,ulina de adminislraci6rl de e,rotes qllE! comierua en la lioea indicada par
el a'llUmenlO Hnea.
EI argumenlo 1 inea debe 5eI UN ebquet! 0 m\mero Oe linea.
la linea debe pertenacl!' 31 mismo pnxedimiento que la instllled6n On [m),.
Si el argumento lin ..... e!I un numero Oe linea, <iebe se, obligatoriamente eI primer
ca'acle, no vaclo de Ii linea.
Linea ,
instrucciones
It """,
La inslr..::ciOn RHUme permlte continua, la ejecuci6n del c6digo cuaodo termina Ii
rutlna Oe adminisl,aciOO de errores, es decir, una vez resueilO eI problem. que
produjo el eflPl.
HOly Ires sint"xis diterenles para RHUrM:
Resume 0 reanuda Ia ejecuciOO del c6di80 doode el efro, se produjo.
Resumro Next .... nuda " parli, de la inslnlcCi6n que sill"" ;nmediatamenle a I.
q"" genero el e,ror.
RKUme Unu reanuda en Ii linea par el argumento Linea.
Para Impedl' Ii ejecuci6n Oet OOdigo de admlnlSltaci6!1 de ef10res cuando no hay
"'rores. un. instrucci6n Elcit Sub. Elcil f unction 0 Exit Properto; inmedi.\a.
mente antes de I. rutina de adminislraci6n de errores.
Sintu il 2
Especifica que, en caO de e,..,... I. ejecuciOO debe conlinua,.
!
t
,
,
!

Depuraci6n y 1Idmlnistrad6n de elTOfe5
3
On Irror GoTo 0
Pe,mile Inte ... ump. la ooministrac06n de etn:>tl!S cuando el procedimiento esu toda
vi. en ejecuci6n.
E(emplo
Sle procedimienlo s.elecciona cada hoja y Ie cambi, e/ nombre (por medio de un
cuadro de dWoeoJ COIl una Milia de adminisuiM de error Que se eje<:uta
cuando e/ nombre e/egido es inc:crrecto 0 COfresponde a un nombre exiSlente.
Sub .rror
Dl0 Hoj_TeO. Aa Nor t
DI . "" ____ TO"" St ring
.., ...... "" I_ ",U ... ........ d .. nd_n ..........
On tr r or GoTo
c ..... bojo l.ccloaarl. y oc"c".' wo no.b
f or t In Sheet.
Hojoteot.S.lect
1 I""", .ox _
Ipr """" . ..,ciba ., """".0 "" bojo ootivO",

.01. <leI p.",,04llL1.octo 01 .1 uouoo ....,,0 oliQ 00 .,
1>0_ C.,,<o1 0 "" '''''-'co d"""" ...-ro
It """"""<>Abc - , beD h it Sub
Hoj.T .......... . ....

n ... rUn 10 &4 10.1 .... <1 .... 4<0 ....... .
On ! Hor GoT<> 0
... ..,.,.011& 10 p<l_ 11010 Y oJIUINo .1
.no.t.ul .... lect
Jletl .. ..,.1<book. Sov.
hi t &c>ll
... "" ...... , d .... 0 qu ..... 0< ..
"" j. 1 ...... """ l.o U ....... _'0 I
'
"-9IlOX _r. do bojo lneon.eto ...... tente
.. -.

Progfamaf en Excel: Macros y VBA
'm
Hidden page
I


!
i
-

Oepuraci6n y admirlistrad6n de eITOfe5
H&lpFikl
[Ieovuelve mill c.!dena de CIIfactf:,es que contiene Ia ruta doe !l(ceso completa
doel archiw doe
"."""""
un c6digo <II! em" de .;.!emll producido po. una llamada I """
bibiOoteca de vlnculos dinamicos (DLL).
,-
Devuelve 0 establece un valo. nUnH!rico que e5jleCifica el numero del errof.
Source
Devuelve 0 estableo:e 11M cadena <II! ca.<lCleres que especm.ca el
00jet0 0 la aplicaciOO que genef6 e-I effOt.

CIe.t
Borta todas las propieOades establecidas del obieto Err.
Raise
Permlte geroem errom. de ejecuci6n.
jemp/o
fl siguienle c6difIO mueS/fa un mensaje que infotm<ICi6n sOOt!! la n.luflIle-
za dt!1 error.
Prlva , a SYb 'Ao v <lyV., s. Object,
!)I- '''II "'"'}<I
....... a W> _nj lo boj . 0< ........
1 ra._ cIo ..... t
on "r",r GoTo "'<"Or
II $h.Ka ... . " . ...... n Thon
... """. ". ,, __ 0 de 1 .. "Uono,"o ""lao '. vb.""Io ..... lon
Set r"9" ' 110 _'.,. """' , . ... "9"01""0"'
If . . . f ...
Hidden page
Hidden page
Capitukl 10
D. Comunicaci6n con Outlook desde Excel

288
l.
EI mooelo <Ie oojetos o..Uook .
288
2. Ejempkl . . . . . .

289
E. EI protocolo DDE

.



290
l.
La inicializad60

291
2.
La vinculaoCi60

291
3. La clausura . . . .

. .

293
F.
Objetos vlnculados 0 Incrustados

29.
l.
M ~ t o d o s dej objeto OLEObject
. .
295
2.
Propieo:!aoes del oojeto QlEObject
295
G. Metodos y propiedades retativos a los vincutos
con Excel . . . , . . . . . . . . . . . . . . .. 296
1. Metodos y propiedades del objeto WOfkbeJol( 296
2. M ~ t o d o s y propiedades de otros oojetos . 299
I
"
t

!
!
"
Vinculos entre aplicaciooes
A. La tecnologia Automation
I , Presenlaci6n
Automation, Ilamad. tamb;e., OLE (Object lJnkins and Embeddins) u OI.E Aut.r
matioo, es una tee"". que mooipular los objetos doe otta apHcaciOn
directlmente desc!e Utel 0 de VBA E.otel.
Para poder iuocionar, AutOtMtIon necesita un ctiel1te y un servidOf, namildo HM
dol' OLE. Et se!Vidor es la aplicac!6n 0 eI componente que "". Iiz. los """"itios al
cllente. EI cliente (tambiOO lIamado controlildor) u!KI esto:s !\eMcios para pllotar la
aplicaciOn servtdOf y manipul" objeto:s. Por ejemplo, si "" ejecuta Utili com
binacion doe co,respondoenc'a Word desde VBA Utel, Excel es eI cliente y Worn el
servidOf OLE.
Una biblioteca doe objetos es un an:hivo, genefalmente con eru=nsi6n que
provee I. informadoo para manipuillf los objelos puesto:s a disposici6n PO' un
""NidOf. Se u .. , el xamioador de objeto:s para examina, el contenido doe
Un;! biblioleca de OOjetos.
Para teoer acceso a los objeto:s de ott. aplicaciOn. "" debe refereociar s.u bibliotec.a
de ob)eto:s doe ta siguiente maoera,
Selecciooe 18 Q9CiOn R.tertnda. (Ie! menu H..-,amient.l . Apam:e eI cuadm de
d.a1oeo Refeffl,,;in VBAProjed con lode. los servidores OLE guard.dos en la
!)ase del registm.
capitulo 10
_ __ " t""
-
-
.-
.!J
" .. , ,
-
.!J

't+: ,', ( ,\Oodd " .... .,. ...... __ '""\ , d, "
-, . ..-
.) Active 8 oontinuaci6r: las reierenc:ias deseadas,
I
o EI n"mero indicado con eI oombre de la biblioleca de oojelOS corresp<.>nde a la
vefSi6n de Microsotl Office (9.0 para la vetSOoo 2000, 10.0 para la ver
siOn 2002. 11,0 para la versi6n 2003 y 12.0 para la versiOO 2007).
2, Usa de la tecnologia Automation
Para manipular los oojel0)5 de ol ra aplicaci6n, proceda de la stguiet1te maner8:
.) OefiM e!1 el c6digo VBA una variable objeto .
) Use ~ func:iones C,nteOb;ecl 0 GetObjed para hacer reierenc:ia al obje1o.
'14'
VBA Excel 2007
I


!
I
-

fiemp/os
EjecuUtr Wom'
oi _1 .. ""joec
Sec .",,1101 _
,
Re{erenciil iI un rJocu=nto WOfO' e!Vslenle
VlnctJlos entre aplicadones
S< hay IrlSIalada m& de una wfSi6n del mismo PI'O,ama, se ejecuta,' la ultima
YI!fSi6n QUlJdada en III base de resistro.
S<n embargo. u.ted puede pmcisa, la III!niOn del PI'Orama que desea ejecuta"
Ejempio
Inicil' II aplici/ci6n WOfO' 2000
01 wwel ""100<
Set .wwel _ c.:_'_j ... ,- we l.1opp!icaUon.l0- 1
Los slQuienles describen c6mo maroeja, distinlos programas de Microsoft
Offoce usando Iii Iecr.oloE1a Automalion.
o Los objelos, cclecciones. rretodos y propiedades de los modelos de oIJjelo de
Microsoft OHice ..,., muy numefOSOS. SoIamente se describen a continuaci6n los
mbs usados.
Programar ell Excel: Macros y Ieoguaje VBA
'1401
capitulo 10
B. Comunicacion con Word desde Excel
I. EI modelo de objeto Word
Extracto del model<> de objeto Woot
AMi
v ~ Excel 2007
I
2. Objetos y colecciones Word
Ooxlllllllnt$
Viowlos entre apHc.adones
CoIetti6n de todos los archMn WDI (objet.,. Document) .tertos.
Dictiona.ies
C<>lecci6n de los die<::ionanos. per.;onales i>CIillO$ (ol>;elos DictioNry).
EmailOptionl
Objeto Q"" contiene los atributos globales II"" Micn.>soI! WDI usa eUlllldo o;;e
crean modrl ican me!1Sol)es de COfrt'O electronico y las respuestas a !!$OS men-
Sol ies.
""""""m
de los convertidOres de archiYo (obje'tos f lleConvert) para
abn, Y JIUIIrda . archivos.
fontN..nes
Objeto que contiene la li$la de nombres de /<.oentes
l.&na:UIIIH
CoIecciOO de los Idiomas (objetos l.&na:uace) usados en Word pala ta compro.-
baci6n lin2ulstica y eI fotmato.
LlstGalltrie,
CoIeceicln de las biW"tecas de modelos de liSIa (con vifletas, ninneros, ;era.
quiad6n).
Mli(MHSIIle
Objeto que represent.1 el mens.a;e de eon-eo electr6nico i!CIivo si WOrd es su
edilot de eo,reo electr6nico.
, "" ....
l;: Representa tao opCione. de apiicaci6n y de documento de Word.
!
I
,

Selection
Represenl.a la selecciOO actual en IK\II venta'"'" 0 ..... panel.
capitulo 10
System
Contiene informaci6n sobre eI sistema de su orderladof.
TempiltH
CdeeciOO de lotS (ooietOS TempI.t.) lctualRlef1te
3. La colecciOn Documents
La coiecci6n Documents e-stllom!ada po. los objetos Document abiertos en Word .
. ...,.
'"
Crea un nuevo docymento y 10 ilirega a la oolecci6n DocurMllls.
Documents.Add
C ...
Cierr. todos los documentos Word abie,tos.
Documents.CIose
0_
Abre eI docuRlef1to especifo:ad(o y 10 agrega a "' co4eo;i6n DocLlnlllflls.
Ejemplo: Documents.Open ReadCW)": . T rue
...
Guarda trxlos los documentos ab-iertos.
Documools.Save
4. El obJeto Doctlment
EI objeto Document I\ace referencia a un documento Word. ActiveDoc_t de-
sigO"la 81 docURlef1to activo.

M .....
Activit.
un documento ya abierlo.
E ;emplo: Oocuments("Compt8s. doc' ).
C ....
un documento Word at>erto.
E;emplo: Oocuments("ComPfas. doc' ). Close
o ActIve[)ocument.Close
PrintP,eY\ew
Muestra 18 vi$\a pre/imina, de un documento.
Ejemplo: Actr.eOocu ment. prj ntPreview
.....
Devuefye un ob;eto Rln,.
vfnculos entre aphcacior.es
E;emplo: ActIveDocument.Range(O. SO).BoId _ True
....
Guaf'da un OOcumento.
Ejemplo: Act;';eOocument.$ave
.......
G ... f'da un OOcumento con un nuevo nombre 0 otm "'rmato.
Ejemplo: Actr.eDocument.$aveAs FiIeName: _ strOocName
Objetos y cole<:ciones
.f MailMert
e
:;j; Y combOoaci6n de oorrespondencia en Word.

I
I
,

Pa,eSetup
Opciones de confilluri>Ci6n de p.'lgiM,
Hidden page
Hidden page
capitulo 10
ResultMio en Word,
. c . ~ _ . ~ . _ ~ _ ~ . , . .
--
,
(J
,
~
"--
---
"--
"
.... -
--
-.
---
-
-
,----"--
... -
----
-
IllSllU.OO DI n ...... Dl2007
-
I
i
,
~
I
,

vinrulos entre aplicadooes
C. Comunicacion con Access desde Excel
1. EI modelo de objeto Al::cess
Extracto det modeIo de objeto Access,
lot,ot<:o
Capitulo 10
2. Ejemplos
a. Usta, tabla! de llna base Aen
ES/e ejempk! cOmo lief /isla de lab/as de /a base 1tccess
NorIhwind 2007.accdb.
Sol> T,,,U,]",,,,.,,,,
"I AoO* Appl l e . tlon
01_ I , j ,.. 'n' .... or
UA I6a Kle<o.oft Aoe
S O< C .... uOObJ.<t( ""e .... . pplle.tlon'
o .. t I. ".t. d. tobl ..... o adQ
I. coleoc'&o ." tob, d.1 Obj.tG o..raDtn.t.
"'eh ...
. OpenCUr ront""t . "'., (""I. " Qr" _ O.th \No.thwf od 200. _0<0<:""'
, " ,
'or i 1 Tc ,CU.r.ftt""t . U1T. bl" . Ccunt 1
If ... ft IlIC ol . CUrrOnt""t . ll Tab' Ii' .Na_' , "
.. MSYS" Th. n
Roo,.... ' ". ". " . CU.ron ,""t . llT. I>l .. I".No_
1 j 1
."" If
I
Ond wlto
.... d. ..... 110""'60. Aoo
w>-<;co .. . QY.t
.. 1A-Id.U ! ObJ.t<>
Set Nothing
End soil

.. (0' 4 EHI _ 011 ,..,," , .."
I" . " '" ,

.... .. .. 0 "
g
,.
, . , . .
-
.. nn
, "' .. . .... . .. . , ... .. !" < . ..
8

., . ' . ' .. . ""I'I'.I ... ft '"
"'" - ;1 ", . "
.. .. . .. .... ..
,.,03 . i
' ,','" 0" .. .... .
.... n ............ i .. -- . , ."'
.. ,.. .. . . . .. .. "
n . .. ..
,.., "
"' ... .. ._0 '"
.. .. " _......... n .... .
!

,
!
,


"
I
"
g

"ft "
o 0 ... "'e. _rt n __ '" .," .
"" "_, .... . on ... _ _ ..
, ' ,., '< - --"", - 1"
.. ... -. >-
... "" ..
__ _ . ".
... .. .. < - "! " . .. .- . ..
... .. ... t , ... .. ... ,

.. .. ... '! ,. ". , .
" , ... .. .. 0 .. , "
... .... .. ... .. ..
" "" '; .. I
" . . , "'
.. .... ... ..
.,. ... __ ._ ..
. ;- . ::1
1
'j " ,'
.. .-. .. , '
'
0 ' "'
i
-
o
' " ... .
.. 0 .. n
.. . ... .. ,
. . "
" .. ,
.. "
"' .

0

"
,
"
2

,
,
"
"
.s <:.::!

' . -
'" f; C


" ::0 ..-
i&1f
o
<, '
- .
- I '
" ,
.
Q"!-
2-
lt
..
. ,

-lh
<.

. ,

['

"
, .

II
"

f
,

r
!
[





Hidden page
i





I

,
i
,


.,

,
"
0

,

t
,
o

;
I
s '
-,
'0
'

" ,
, !
. ,

0,
8CZ
.>
n
"
I
,
,
,
-. ;'
"
, ,
. ' .
.. -
'!; I
. ,
0 . '
o ,
'f' <
.. '8 I . !

'.'Ii

,
0....
" ... ... ..
I '"
.... ,. ..
,
. ' !" . - .. - .. :..
j
.... Z.<: I .... . .. '
.... .. -
.. .. ':; ' ".
"j .. , "V_y
., .....
" 'j ,'1 .! " .. ';! o; ... .. t: .. ,, /: !!'
,

,...IS ......
-.: !!' '; O .'l. : !i! "
" J .... . . . "' 0 0 . . .. .

I


,

,
,
,




,


UM-;: .. . . . .


.. . " . ...
", ,' ca- :
.. ' '' " "0" . '0
... .. u o o ",.
,'"
I!!.ll ... . . ... ... I ......"! .",

II
,
I ,
.. ,, it= . ... t-. M(l a., ..
<l;:;"" .....
,
" !! M _ = j
,

!
!
0
]
0

!
,
,
,
0
!


,

t
,
i
:s
.,
,...= .. ..
,
Hidden page
Vioculos entre apllcadcmes
2. Ejemplo
Este ejemplo p<mnite mensajes (mails) OurJook y en. i'r el libro ;JClivo como
d,/o Mjunto.
SUb Rnv l .r._UII
0\. oppOutlOOk "" OuUOOk .Applie.tion
0\ Oy" ... OU"OOk . ... illt_
01. oyRoeipient ... Object
, ...... "" I&' Iller ....... o..tlook
Set o .outIOO" . pplie.tlon' )
, Cr "" n......, _.j.
set ..... g ppOytl""k, Cre.t olte. lol ... 11 It 1
N!" .......
T to, Do. t IDA,or loo, 4otoo adjuoto. 401 ..
, SubJect 01 VItH"T",, '
.Do<!y" 'Brl<:uentn 0:>00 ""'" A<l j ,""o.1 no"I . _ "" 1 VOtt do 10<1' . '
CIlrlllJ "oton'.-nto," CIlrllll
' U O'I'Jlpo Co .. ",chl"
. "'><ty", .... , olYo<aa<lmu,
. RecloiOfit . And
. "<l<j ( "Jt.WI OO\WI ' I
. thioMQrkboQk f.th " \ "
le.[ 1 j
. Sand
end Kith
, ado 40 '0 oplleod6e , ... , ......
oppOutiOOk , <).lit
, .. Idd&lh
.ppOytlOOk
I Sub
i 0


!
!

Para probar este ejemplo, "",mptace los nombres Martinez y juan Durin
po. nombres que en SU 11m de CQt1tactos <II! Outlook.
Capitulo 10
Resultifdo en Outlook:
................


,
,
CoC_",, ' ,_ 40<0 ., ... I _,'<0'
"'''01.
A,""'_.",".
<1 ... loo ..
E. EI protocolo DOE
DDE ([lyn.tmic Data Exchansel es un prolocokl de intercambio dirlAmico de datos
enlre d05 apHcaciones Windows, una Ilamada Cliente 0 Destination, la Ol.a llama-
da St.I<ldor 0 Sou..: . EI ..,1'nculo se rompe 51 una de las d05 apHcaciones se cOer'a.
Un ..,1'ncukl DDE compreocle Ires lases princlpales,
- Inlclaliuei6n: la aplicaci6n Destinalion busca la aplicaciOO Source y establece
con ella un car.al de comunlcaciOO (vinculo).
- COII\IHSXi6n, se intercamhlan !os datos en el C"". 1.
- clausu.a, se de .... el canal de comunicaciOO.
Hidden page
Capitulo 10
+ DOESend
La lundcln DDESend ent.bla Urla conve'Md6n DOE con 01'0 oplicoci6n, err;io un
o.iernento de in!ormod6n esIa aplicod6n de5de un conlrol en un formul a,;" 0 en
un inlol11'le.
SlntaJ.is
<RUbr ic,,>, <Elemento>, <D<oto. >1
Apl1cac16n
R(ibdca
Elemento
D<ot08
-+ DDEPoke
Exjlfesi6n de caderla que identffica urla aplicaci6n.
An;nillo dotumento 0 art;nillo de
Referend a I un dato de I. aplicac:i6n Souru.
Cadena 0 expresi6n que cooliene los datos que hay que enviar a
II aplicad6n Destinalion.
Uo inslrutci6n DOPok, envia inlormaci6n la .plitaci6n Source po< un canal
abOerto.
Slnuo. 11
DDEPokeNumero de canal>. <Elemento>, <D<oto>1
Nll ..... ro de
canal

Dato
WI
W de canal de'l'uelto po< I. func:i6n DOE.nitllt..
Referencia a un dato de II aplicaci6n Source.
Dalo que hO)' que .. , I. aplitaci6n Source.
VBA Excel 2007
I


~
i

viocukls entre aplicadones
.. DDERequest
h rondon OOEReq .... 1 pide in/orm"d6n" la apiicacioo Soun:e.
SInW.Js
DDBRe qu ... tl<NUmftrO d .. " ana l> . <le .... n t o ~ 1
Nlimeto
de ""nd
Elemento
N" de caMI de'.uello poi' Ia funciOO DOEl nitlal .
Refefl'ncia " un dato de la aplicaciOO Soor<:e.
.. DDEExecute
La instn.o::ciOO DDEEI;K uj. envla una eadeM de COlTlllndos a la 011. apHcaci6n
que se encuenlta vinculida.
5intul.
DDBExe"ut .. Nfimero de "anal>. <Cocnando> I
NUmero
de ""nd
Cocnando
N' de canal devuelto 110' I .. Iunc i6n DDElnillll .
~ que conti\!ne un comando tI!COI'IOCido PCIt la OIra aplica
tiOn.
3. La c la us ura
+ DDETermlnate
La in.trucci6n OOETerminile eMml el Cllnal de comunlcaci6n DOE.
Sint.ll is
DDE'I"erm\ nate Numero de """"h)
Programar ef1 Excel: Macros y lengua)e VBA
capitull> 10
W de IlOf I. /unci6n DOElnitiaie,
DDETermlrnrteAli
UI insll'ucci6n DOETfimlnateAli cierra todos los canales de comunicad6n DOE.
Slntul$

Ejemplo
Est! !jemplo mue.tfa c6mo copiar Et.cel al priocipio de un documenro
W"".
$""
DI. Co .... l .... Variant
""t. "" e .... ' ...... _rd y obr ' __ BtO _'''"00._
C ..... l OOI!:lniti . t .'.W, . M' n,,<>rd .
' opic, . Tbla"<>rkb<><>k. \c...l u"". , """".,
... , ............. ."" ...-
wOrU"". t .,Tro ... 001' , .... "\Iel_I .. <Io.' , hl. ct
Cop" .l '''"'t-..'''' d ..... , .... , . ,. AI ..,ri r 0' , ,' , .. . o rd
""i ""U conal . ,""""'f"",,. '01...," ""
T ..... n .1 .. e_io DDII
DOET.nolnoto Conal

F. Objetos vinculados 0 incrustados
Es JK)Sible manipular los objelos vinculaoos 0 incrustados 8fl t,!Ws doe I.
Dl EObjec:1s de objet()S DlEObJe<:t.
EI objeto emparent.ldo puede _ un objoeto Worksheet 0 un objeto elYrt.
Hidden page
capitulo 10
Application

'"""
BotlomRiahtCelt
Count

Enabled
-,

Interiol
""
Linke<.lCel1
UstFiliRange
"'Od

Object
Parent
PlllCemenl
PrintObieCt
''''''' SIlapeRange
.. -
SourceName
TOO
TopleftCell
Visible
Width
ZOrtie'
G. Metodos y propiedades relativos
a los vinculos con Excel
1. Metodos y propiedildes del objeto Workbook
-t OwIngeUnk

Modifica un vinculo OffiIre do5 documentos.
ChangeLink (NAME,NEWNAHE.typeJ
NEWNAME
vinculo que "" debe mooilica,.
NoJeYO nombrt' del vinculo.
Tipo de vinculo Q"'" hay Que dev!.>Ivo!"
xlLinkTypeExcelLinke.
xlLinkTypeOLELinka.
I
Unklnfo

Vfnculos entre aplicac:iooes
Devuelve informaciOO 0C<!fC& de 1& lecha y el est8do de lIctuallz""ilm <iel viJICulo,
Llnklnfo INAMB,LlNKl NFO, Type,EditionRef )
LINKINF()
Nombl'e del viJICulo,
Tlpo de inlormaciOO que hay que deYO!ver:
(xlUpdateState 0 x lBdit1onDate).
Tlpo de vlJICulo que se IIa de devolver :
(xlLinklnfoOLELinka,
x lLinklnf oPubliahen 0
xllinklnfoSubscribera).
EditionRe f Si el viJICulo es !lflii edici6n. "'''' l"5IIeCilie>o la refer
a la ediciOO.
Devuelve 0021 matriz lIi ...... 1 Bas;: con los viJICuk>$ <iell ibro,
LinkSourcee l type)
Tipo de viJICulo que hay q"" devoIver:
>< 1 J;;><ce lLink., ><lOLr:: Unk., ><lI"ubU .hen.

.i OpenUnks
,
(m!!t odO)

!
!
,

Able el docume<1to Source de un viJICulo.
OpenLink. IN1IMB, rudonly, type)

Capill.Jlo 10
Nombte del vinculo.
Re.,donly
Apertura en modo s6Io lectura (Til .. 0 FilM) .
Tipo del vinculo,
l" l ex""lLink., x lQLELink B, xlPublhhen, 0
xl Sw,.crii>er") .
.. SavellnkValues
(propiedmd)
Propiedad que devuelYe Tru& 51 Microsoft Excel guarda los valores de los vlncuios
extemos oon eI hbro .
.. setUnkOnData
( ... hod<> I
Crea un ptOtedimiento qUI! "' @jecularilcada vel qUI! Sf! aclulilice un vinculo DOE.

PROCEOI Mlli::n"O
.. UpOateUnk
(mlitodo)
Actualiza un vinculo.
toombre del vlllCIllo.
toombre del ",ocedimief1to qUI! '" debe ejecutar cuarodo
Sf! actualiza eI vinculo .


Nombre del vinculo.
I
Tlpo Oe vinculo <) xll.inl<Type-
Ol.El.inka).
2. Metodos y propledades de olros obJetos
.. AskToUpDateUnks
(propiedad del objeto J.ppl1cnloDI
f'roPedaocl que devuelve True 51 Excel .1 usuario " actuallzer los l'inculos
t\laOOO se abroolos art:hiYOS Que los contleoen .
.. UnkSource
Ip rop ledad <leI objeto DocWHntProp.rtyl
Oevuelve "deli"" el OIig''" doe una propiedlld de "" documento pe""OlOi)zado con
vlnculo$ .
.. UnkToContent
(propied .. d del objeto Docu..ntPr_rtyl
Propiedaocl que dev\.lelve True sI el valor de uOlO propiedad de documento
zada vincutada al contanido det documento contenedor.
.. ActIvilteMicrtl5Of'tApp
lm6todo del objeto Applicado.nl
Activa una eplicaci6n Microsoft.
. Application. Act! vateNicro.oftApp (INDI!.XI
,
!
I
o
Aplicaci6n Microsoft que hay que actiVI'. Algunos ejemplos,
x lMicroaoftllor<l , xlMicroaoftAccen.
xlMicroaof t Project. et c .
y
Cilpitulo 10
o Capitulo 11: Internet
A. Consultas por Internet .
B. EI objeto QueryTable .
1. del objeto QueryTablB
2. Ejemplos ...... .


303
305
306
'"
C. Publicaci6n de ptiginas Web . . . .. ..... 312
1. A50ciaci6n Oe un elemenlo de libro a una p<\gioa Web. 313
2. Publicoci6n de la pagina Web 314
3. . . . . . . . 314
O. Los objetos WebOptions y DefaultWebOptions .. 315
1. Propiedades. . . . . .
. Opciones de la ficha Geoeral . . .
b. Opdooe5 de la licha .
c. Opciones de la ficha Arcllivos .
d. OtfilS propiedaOes ....
2. Metodo olel objeto WebOptions . ,
316
316
317
318
318
319
Capitulo 11
E. Importaci6n, exportaci6n y asignaci6n
de XML

31'
1. . .

. .

.

320
2.
M6tooos del objeto WOfkbooll
321
3.
doel objeto Worktlook .
321
4. ME\todos del objeto XmlMap
322
F. EI objeto HyperLink



323
1. Propiedades




323
2.
Metooos .

.
.

. .






324
.lty
Exce12007
Hidden page
capitulo 11
jemp/o:
I sigwenre I!jemplo impotflt rk I" 801M rk V,/ores rk l.IiKJrid
de5de el5lrjo
_....... ... '"
.... , _ ..
.", .
I


!

Internet
Resulrado en &eel:
"."

""
"' .n
. "
""
" . ~
1.j9 lUI
"."
ur
2 11' 1:16
""
'Ui
u
. ~ w 'HI
. "
'"
1'9U2$
"" '01>. ' $ .'.2'
06t.I"
lUI
"."

1.09.1 106
""
" ~
u. mm 'HI
11l6.19 1.A
2 Jl1 1(11 1119
II.'
" . ~
11 19
n .61
Hun,
'lSI
n ~
1M. 152
11 !,
11 It
IB'
B. EI objeto QueryTable
1 objeto QueryT,bIe {tabla de (OJlS<Jlta) representa un .ango de datos eide.oos
tontenido en UM hojII de dllculo. Eslos datos pueden proveni. de un origen ext",
no, como una base de datos Microsol! Access 0 SQl Setve. c de datos extraidos
con una consulta Web.
EI objeto QueryTlbie peotenece I Ia colecd6n QueryT,bIes del cbjeIn Worbheet.
Hidden page
...
L
2.
3.

5.
6.
,
I
8.
9.

10.

n .
,
12.
I
!
13.

I _
_.-
,

,

ea_ ... .... , .. ,,.....


,.-"-.. -.. ,,.-..... - .. "'.,
_._"" ............ _-_ ... -
0_. flo< "" ... _--. "" _ .. _
-1-"- .. __ .. ___ ._._ .. _
"
I """,.
Propiedades Valofes devueltos

Cadena de caracteres
Sawf'assword
-..
Backgroundlluery
-..
Refreshf'efiod
Entero largo
RefreshOnFileOpen Boolean
SawOata
- ' "
FileNames Boolean
Row-Numbers
-,"
AdjustColumnWidth Boolean
PreseM!Columnlnfo
Boolean
PreseowF ormattll'ljl Boolean
RefreshStyle Coostante
Coostantl!S .ltnsertDeleteCl'Ils

xlOverwriteCen.
FillAd jil>Ce<1tFOfm ulas
-'"
,
Internet
Hidden page
Internet
5.
6. WebDilollbieRedi redions
Otra$ propIedades usadas par las consultas Web
CDIlhtctiool
Cadena de COr&CtefeS. URL del origen de Web.
OestirWi<ln
Objeto Rarce. DevueIve I. celda doe I. esqulrno """,rio< izqL.Oetda de
datos exte'no.
EditWebPace
VlII"ialli. URL de la jl8gina Web.
EnabledEdItlna;
Boolean. Indica ej uwario poede modilicor la coosulta.
EnableRetresh
Boolean. Indica el pllede aclualiza, los datos rango doe datos


Bcde.all. Indica I. oo .... xioo al Of'&en de datos eJlternos se mantie .... despues
de I. actuollzaciOO y llasta qlle se cle',a ei libn>

Nombre del 'lingo de origen de datos eJltenlOS.
I
QueryType
Constanta. elli! de consulta qlle Microsoft Excel ulillza pa'll rellella' eI
.i Ofigen de datos extemos (xlWebQuely las consulta, Web).
:;; ResultRuce
!
!

Objeto Rana;'. el A'ea de \a hoja de cilculo ocupada PO' origen
de ex\e,,,,,,,.
capitulo 11
WtbSeMclionTypit
Establece un valo< qlle doetennilla quo! pa,rte de la plgitla Web se
importora, todl la IlBsinl, tod la. lablas doe II plginl 0 0610 .Isunas ""
Con!;lantes .IWtbEntirePilil
W.bT.bIes
dWtbAlfT.bIes
.lWebSpecifiedTabies
Cadena de earlCterl!'!i. UsLl, deHmitida pol comas, de los 110mb .... 0 n"me""
de de las tablas qlll! hay qlle Importar.
C.ncelRtfresh
Cancel. todas las coosultM en segurrlo plano <ieI raneo de datos extl!fno
cilicado.
<>Om
Elimina eI raneo de datos e.lerno
,-
Actuali:a eI rango de datos extemo.
ReselTirner
Restablece el tempori:ador de actu.Uzaci6n Ulillundo eI V!ilmo W>-
lervalo establecido mediante I. PlO9ledad RefruhPeriod (frecuencia de
zacoo) .
... ""'"
Guatda el orltlen de los datos externos como arthivo de coneli6n de datos de
Microsoft Ot\ice. (extensioln .ode). No /unciona coo las consultM Web.
Hidden page
Capitulo 11
- . - I .
r.u
. lIebCt .. blel>.edl.oe, l<mo ' 0'0.
100 dot04
I>.et . .. h "'0"9<0,",''''Q .. 0.,., ,.Ue
""" "Hh
I"" Sub
ffrmplo de /I,mado del procedimjemo : importlf III tabla mlmero 1 J de III pagina
web www. inl obaISil.es/v2002fhomefhome_"sp M I, lIoja del /ibm ItCti.
w.
Sub 1"""" .. OO'_Te.I)
0,. .... ""ng"
0,. Ur' AO Str'ng
0,. Mo_ .... Gtrl"'l
01. I Ao 'n'egor
c&neel o 1 """0.,1< ..... 10 .... , .. bo ... 100 do'oo
n ""tlvoSheOt.Qu<lryTObl ... coun' > ThfIn
Po. I ""tlv. 'h .. ,.OU.<yTob' To , " op _,
1 vas ...... Qo.>o,-yTOb' UII) .... 1
"'''90' ' U : Xl OO' ) ,0.,.,.
I
.n<! I t
L' .... , p."" ... l oJ._to " . ... tOO-. .........
Ud . "URL;httP: " ..... . In'<>'", .u!v20n/_'1lO<Ioo .up'
M ... . . _ .
Sot rng ... tot-""c,ono. - ) , ... .-.qa'A' '
c.-. .. o"e_o.y U<I. N . ... . <!>g. "

C, Publicacion de paginas Web
Es posible Clear y Web II parti r doe un Hbro. <:Ie UII/I hojll E>al ,
<:Ie "'" srMico. de un rango doe ceidas ...
Para publica< UII/I pAinll Web II parti r de &eel, hll8ll clie eI bot6n Office Y
luego Guarda. como . Otros formatos, Dentro de I. opc;6n Tip<>, haR/I die en
Pillna Web, Hap die en el bot6n Publiclr para los doe
pYblicaciOn,
Elt,
vtIA Excel 2007
En VBA, para asociar un Oe un libro a una pag;na Web, .., debe crear
un objeto PubiishObject (IMndo el Add de la coIeceioln Publish Objects).
Para Pl'blitar la Web, lues<> deber6 \6ar Publi$h <lei objet<>
P\IbII,hOt>jtct.
1. Asociaci6n de un elemento de libro a una pAgina Web
Sintaxi.
Publl.hObject . Add ISourceType. FileName. Sheet. Source.
HtflllType. DhID. Title)
SoIamenle los argumen\QS SourceType y FileName son I>bligatorios.
PublhhObjecta
SourceType
Sheet
Source
Nt .. lType
Expresi6n que dewelve una colecci6n PubllshObitcts,
Tip<> de eleme!11o que se Oebe publica!'
SourteRange, xlSoofCeWOl'kbool<, xlSoolteCharl , xiSource-
Que!)'. xISootcePivotTable, .,).
Nombre de la rooja de o;6lculo guardad. como pagina Web,
Nombre del elemento q"" hay q"" publicar 51 .., lrata de un
VMico, de un in!o<me de tabla dinAmita " de una tabla de
consulta.
Especiflca 5i eI elemenw publicado .., guarda como compo-
nente de Micmsoft OffIce Web int..ac1iYo I> como texto e
im;!,genes esttitic ....
Dlvld
1 Title
Iden)iflCador exctusNo lIIilizado en etiqueta OIV de HTML
para i6eolifica r el elemenlo en la pagil\a Web.
Titulo de pag;na Web.
,
,
!
!

Capitulo 11
2. PUblicacl6n de 13 pAglna Web
Slntuls
Pub11ahObject.Pub11shlCreatel
Pub11ahObject
Create
3. Ejemplo
Expresi6n que devuelve un objelO PubUs.hObjteI 0 una
colecci6n PubllshObjectl.
Si este atgumenlo lieoe .. I valor True y eI archivo IiTMl
ya elUsle, eI mismo es rftmplazado. EI valor par defecto
es filM.
PubliciICiM dellibro Emplfoados, ... , .. libm t ~ " . . rIDs hoi.' de dlculo .. Emp."',r1os
r Sell'icios.
e ... "" oI>jeto po g\larc!or W>& p.l.g1 .... . . b
Set wob go " Ae'lvowor' book . PuDlIOOQbj eot o. AOO _
(dS"",,,.""""""' . Thio"" .......... . . . . h \ ..... 1 .. .., . h._I'
, , , xlU'.'Sutle " LISTA "" .... "._.(
~ I I < . 10 ~ I a .
with web ......
. p.,bll oh (T..,. (
Ifruj _ ith
."" sob
I
Vis!! pre. ia Ih /a pSllill!J Web EmpleMJos.html cruda.
_.- ......... _--
.-, tl c',-

-
.-
"""'"

sN<o;H."
--.
.
-
-.
-

<>_ 1 __
0000
1_ ...
1
,,-

C_' K'"
C ... _od
-..
.....
D. Los objetos WebOptions y
DefauttWebOptions
Internet

Los objetos WebOptions y DelaultWebOptlons coolienen los usados "or
Excel graw, un documento como pagi na Web.
EI objelo DelaultWebOptioM cootiene las opciooes Web per defeeto de la aplu-
ci6n E:eI: su conlerlE.'do, es eI objeto Applution. Las propledades del objelo
a los al,iOO\05 lOCCe5ibles al hacet' ctlc en et boI6<1 OffIce, Opclones
de Excel - Avanzadas y, en Ie secci6n Gentfa!, en Opc:iones Web.
.. EI objeto WebOptions contiene las opc:iones Web del libm espedicado: su conte-
'. r.edo, es el objeto Workbook. Ln propOedades del objeto conespoode!1 a los atrioo-
\05 accesibles desde el bot6n HenamientallOpcionH Web al guarda, un libro en
! Iormato Web" .
I
"

Hidden page
Propiedldes llel obJeto OeIlullWebOptioos
I. SaveHkldenData
2. LoadPiclu.es
_ ..
Boolean
b. ()p<:lones lie ta fic:hiI uplor.oo.es
.--... -
......... _------
Propiedldes comur:es I .mbos ot:jetos
I.
Conmnh!
2 2
L
msoT ... .tBrow .... IE4 liES 0 I(6)
i 3.
Al IowPNG
'''''''''''
ReI)'OnVMl
msoT ... .tBrowNfV3 (0 V4)
." ...
80elean
e::<lean

!
Propledades del objeto Dtf.ullWebOptlons
I
-

5. SaveNl!wWebPa&II,*;sWebAtl:hiIIes Boolean
,
Intetoet

Hidden page
Internet
'''''"'"'''
de earBCteres. Sulijo del a,chMl usado PO' Excel al gua ' d.l, docll-
mento \:Omo Web.
Plu'I$Ptl lnch
[ ntero 13'l1O. Doosidad (ea ntidad de J)ixeles pDf pulgadal de las imaaeoes y
celdas de tabla" de una pBgIna Web.
"""'''''
Constante. Tamallo mini,,", de pilntll iia ideal (arlCho por allo. en pI>:elesl que
debe al ve, eI documenlO con un eJ<PlOfador Web.
(ejemplo: msoScreenSize 800 600. m'iQScmenSize 1024 x 768, etc.).
Propiedades del objeto DefaultWebOptions
AlwlySSavel nDei lultErK:odI rc
BooW!an. Indica si se usa la codificaciQn predeterminada al guarda, una
Wffi
2. Metodo del objeto WebOptions
UseDeiauilF oIderSuffix
eI wlijo de ea,peta pilra eI libm eo<respoodief1te al
idioma que haye 0 i .... talado.
E. Importacion, exportacion y aSignacion
1 de archivos XML
En Ie versi6n 2007 de El:el, relaciooarse oalo:s en formalO XMl con las
I cetdas 0 listas de dalo:s )(eel .
,
. EI Modelo de Objelo )(eel XML preseotado ""lui describe los objeIos que
! peml i!oo ca'll.' datos en lormalo XMl ... los libros >cel.
!

capIWIo 11
I . Colecciolles
UstObjects
Colecd6n de la. list... de una noja <Ie caiculo Excel, [sUls lisla. poeOen coole-
!ler datO'l XML.
ListColurnns
Colecci6n <Ie la. columnas de una Ifsta >:eel.
XmlMilps
CoIecci6n <Ie los objetos XmIMap <Ie un libro. fstos objel", .. u .. n para 00 ...
trolar iii retad6n enu., las raneos de celdilS E>:<.::el y los elemootos de un esque
ma XML.

CoIecci6n de los esquema. XML conlenidos en un objeto XML.
XmlNilnMSp<tCH
CoIecci6n de los espacios de >lO!l1bres XML incluidos en ellibro especificldo.
I

2. Metodos del objeto Workbook
Xmll mpol1
Importa un XMLMa p a un &r(;hivo XML
.rub IOIpOrtJDU. ( 1
oi. "'pCliOtlto A.I "",I ... p
. ,-or. 01 .<'Ok< ..... U ." . al on I . boj. ocu _.
Aotlvo_or" book . ""I ,..,.,rt 1]r1, _""tlv. WOrkbook . Patti
\CHente . DOl '. 10000<<MOP ' . ... pC11""U.
<)y ...... ! to, ."true. Ce.t '''''t Ion ; _ltOn"" ( "AI '1
. NO.. _ Cllent ..
i<o<l
S.vWXMLData
Permite e' porta, los datos de un XMLMap 8 un archivo XML
_r<o . 1 ........ p al ... b1_ e ll ...... >._

.".".._ " M tl . attl \Cllent ... . ... ' " .
"'p, _""t lvt WOrkbook.1A1MapoI11
f;ob
3. Eventos del objeto Workbook
AIMfXml E."cpol1
Internet
Ocur"l \'IIS guama, 0 exporta, Mkro.oft Excel datos del libro a un
Bn:hiYo de datos XMl.
: AItMXmllmpol1
Oc u,,,, (,as actuallUlrse una wnexi6n de datos XML .... istente 0 Importa, n...e
! vos datos XML . ll ibro especi!icado de Mkrosoft E:o:wl.
I
-

capitulo 11
BefoNXmlExport
Ocum! antes de suardar e:xportar datos dellibro a un arco;..:> de
datos XML
BeIor. Xmllmpolt
Ocum) de una cooexi6n de datos XML oistenle " alltes de
importar n""""" datos XML a un li i>ro de Micmsofl
[jemplo:
Sub IOQr 't>oo . .. Iter""u....,nlavv ...... p x.\I<.P. _
Bvvo l ....... IIOoI.on yVoi .... ult u XIX.l '....,R. OIIlt'
I' Reo.lt Then
MogBoK ",,,o<U<i611 nit"..
U ..
M09Box ' Probl_ con .. i....,ruoi6n ... , <reM<> . . .... p . M._
In<! "
Ifl.d Sub
Private SUb Mor.t>oo._.e!oreX. ll....,rt ISyV.1 Mop ... "IRap. _
ByVOl Ur ' ... String , ByVU IORe"U_ ... !!OOlu . COnee l .... 8OO1O.nl
It .....-("Do.U e\ .rch lY<> . Uri > ".
vbQuuti"" vl>'eoNol """" "'.n
""900> " 1....,< .. ci6n ca""ohdo' , vbE>:I . .. tl""
Ca""el
4. del objeto XmlMap
..... ,
Permile ouilar un XMlMap,
Ejemplo, Acti'leWorkbook, XmIMaps( 1 I,Delete
'm""
Importa los datos delarctWo de datos XMl especifiQdo a las ce!das asigMdas
al obje1o XmtMap espe"ifi cada,
Ejemplo, ActiveWorkbook.)(mIM.JlS{1 I,Import
Internet
"'"'
&p:..u un ftrdllVl.> de dftiO$ XML el tonlet1ido de teldas asignadas
obi-to XmIM. p espetificado.
Ejempio, ActiveWorkbook.xm I MIll'S<" 1 ).Export ' C ,\Em pleados.xrnr
F. EI objeto HyperUnk
EI objeto ttyperUnk n!j')feSeI1ta un hipl'l'llneulo contenido en una hoJ. de
un "'Iljp de celdH 0 un grM;co.
EI objm ttyperllnk pem.nea a Hypertinks de los obtetClS contenedores
Rance. WOfkbook y Ch"t.
I . Propiedades
"'.-
Cadena de ClIracteres. DiI!:Cl;i6n de I. <;ekl. que tontiene eI hipervlnculo ""I""

EmlllSubjed
Cadena de caracteres. Te>:Io de 18 tioea de a!.Unto de COfreo electr60"Oco del
hlpervlnculo espetlflcado (propledad con los hipervlnculos de los
;e. de <:Om!O elect.onico).

Cadena de ca<acteres. Nombre del hipeNillCulo.
I
Ranc'
Qtlieto Ranp. vinculodo al hipervinculo.
....... '"

Cadena de ClI ract\'fe$. Te>:Io de etiqueta inloflnativ. del hipervinculo especili.
""0.
,

!
I
""" Ob;eto Shape. Fonna vlnculada .1 hipervlnculo especilicm.
o
,I
Qlpitulo 11
SubAddrtu
Cadena de caracteres. lJ bicaciOO denlro del docurTlI!f1lo a la que hace ",tt.<.
eocia hipe<Vincuk\.
TextToDispiay
Cadena de ca'3Ciefl:'5. Texto que se rnosl rara para eI hipeMoculo psl ......
''''
Entero Tipo hipetVlncuk\
2. Metodo$

Agre@:a un ace !.O directo al hipelVioculo "" la carpeta FaYOrilo$.
CINl. N .... Ooc:ument
Crea un nuevo documento l'ioculado al hipe<Vlncuio
"' ... ,
Elimina el hipervloculo .
.. ""
Carga eI documel110 (Ie destino asoo;iado al hipervlnculo y muesil1l
el documento en ta aplic.JoCi6n aplI'lIliada.
en
m...Excel 2007
o Capitulo 12: Programacion Windows
A. Presentaci6n de las API . . . . . . . . .
B. Llamar a una funci6n de la API Windows
1. Sintaxis de la instru<:ci6n Declare .
2. Paso de argumentos .
C. lista de funciones API Windows . . . . ..
D. Ejemplos de uso de funciones API Windows
1. Recuperar ~ direclooo Windows
2. Abrir 18 calculadora de Windows .....

E. EI objeto FileSystemObject

1. Metodos . . . . . . . . . . . . .
2. Propiedades ..... .
3. E j e m ~ o , copia de arthivos &cel
32.
327
327
328
328
32.
329
330
332
332
333
333
capitulo 12
A. Presentacion de las API
La interiaz de programaci6n Windows API ().ppIiution IntMIJCe)
ofre lun600es q...e W! controlar los mas Inlimas ..."eclo$ del ';fo!em.,
Usted puede e.teocier y per50nalizIIr .... aplicaciones Ilamando a funciones
Windows API de5de VSA. Si !)jen :<eel continUa ewlucionando y su de
l""II"'maci6n nativo (VeA) integra tooa \I1!Z rrm lunc:iones de sistema, pa ra tlenas
tarNS .., deben u'-M funciones API.
U"", APt as UI"III MrlfI a funclotllS que se puedoen US&/" para trabajar too un
romp!lt"'"nte. una 0 un sistema operativo. Se tQ!!I9OOe seoeralmellle de
'""'" 0 mas ard1iw$ Ott WyMmic Unk 0 bibliole<:1 de vlnc:uIos dinamicos).
ta API mas usada es Ia API Windows q...e Inch! lots OLt que Ioml3ll .. si"'ema
operativo Windows, Cada apfbci6n Windows InterDCIUa directa 0 indi rectame-nte
0;:00 I. API Windows. Esto prantiza U!1 oompol1amienlo c:OOerente de tooas l.ts
aplicaciQ ..... que lundonan bajo Windows,
Las OLt de la apilcatiOn Windows mas usadas son las siguientes:
KMlt'I32.dll lunc:iooes de bajo nivel del sifo!eml operativo, tales oomo la admi
nislritCl6n de memoria y de re<:urws,
UMr32.dll lunciones de admlnlstraciOO Windows, tales tomO el tratamient!l
de menSlljes, relojes. menus romunicacl6n,
G0132.dll biblioteca GOI (GIlIpltks Device Interfe) que contiene las runcio-
roes de hitCia los 1,M"ooos. 0;:001,,10 de l'isuallza
eiOO y adminf5t racio\n de fuentes).
Existen OIrlS API, romo per ejemplo Ia inlenaz MAPI (M"il
mjtlfl mterf;w:e) que permi\e IpI\tlona de Con'lO eltctr6nlco.
Eta
Exce12007
Hidden page
Capitulo 12
nom_a11n del pr:edimiel1lo de II fune"'n en la OLl.
1 h ta_ (Optional l8yVal I ByRef)(ParamArrayl nonwariabieWIAs type)
ngumentoB (-..:or upltulo 2 : Ellenguaje VSA).
Qertas OLL no proveen un nombre para sus procedimientos y fin::iones, 0100 un
oomero ooIinal. La declaraci6n de estos procedfm>e!1tos fin::iones USII la misma
sjmaxls, pero se debe delinir el nUmelO on:Iinal a nMeI alias con un ca rkter
numeral 1# ) seguido del n.:me1O (ejemplo: Alia. "# 52").
2. Paso de arplTltmtO$
Las fu nciones y procedimient", de Ia. OLL esjj n printipllimente en Iffi&ua
;e C y hac:en, IXlf 10 ta nto, refer.....::la a '" sintms. Por eso, el paso de Irgumentos
a un procedimiento 0 will funei6n de una OLL desde V""",I Ba!sie no siemP"' es
sjmple. A nivel de las DLl II"" "",n la oI nlHi. de "'"suaie C, todos los ItI'goo-oen.
!OS se pasan por valor, salvo 185 matrkes.
l as Clldeoas en O!ngua;e C se oonsldefan como matrices de cafiICteres.
Ciertos ",sument", de procedimientos de OlL poe<!en acepta r distintos lipos de
datos (a ... mejanla de los VarianU, deben ser dKlMados como tipo Any (e;etnplo:
variabl .. AS Any). Para este tipo de argumento, Visual Basic considera q"" l!I
mismo se pasa pol referenci.; 51 hay q..e pasarlo pol valor, se 10
debe exphcit.ar a nMeI del lIamado (y 00 de Ia declaraci6n) prooedimienlo 0 de
II lunci6n con la menei6n ayVal.
Por delecto, V;'ua l BMic paoa los arsumentm. por referenda.
C. Lista de funciones API Windows
Esla lisla inclll)"! las rune",nes de la API Windows habitualmenle ..sadas. los
ejemplos de usa de algunas de estas funclones se en el s111\1>et11e parrafo.
GetWindow$t!iredory()
DevueN9 la ruta oompleta del directorio de Windows.
c.tSystemOi rorctory()
[)evuer..-e la rulll completo del difeCtorio de oI"'ema de Windows.
Hidden page
capitulo 12
Ultm;>(/O de la fo.mci6n API,
... , ....... 1m. vu. d.o ...... lY. 01 41 .. "t.odo . ,_.
DI. 'trR
DI. "t'. oofl', St.<I"9
StrReou1.t 0 Strl"ll"ss, 0 OJ
St,f<o"" ult. 2SS1
Oort. 1. ., pr ... r .0."' " DOl o
It .... roflle <> " " ;he"
St.R u't Trl.(StrR@O.'t)
0 'nStT", GtrR .. "It, vtf<u"CNo., "
....
<Jo, WlnO.t.h 0
M. "
1M. Furnoti""
2, Abrir la calciliadora de Wirldows
Est" ejempio prueba si clticuilldora WioOOws estI activa, y lit inicia " 00 10 estI .
Aq ul SO! usan dos lunciortes API, lit p.-;rne,a, findWindow, bo$ca lit l'enMa 'Caley..
I1ld00a' , la 5t'gUIlda, FlndEliecutablt, busca la ublcad6n del arclWo Calc.exe,
DeciaraciOn de la fUrlCKln API
............... API Iou. =- Ynto,,..
.... blic DoOI ... "",,cUen " IDdMInd<>w Lib ".".)2" ",b.
'.,....0' .pC .... ,,-. M Str''''!. 9""'0'
' p"I_o_ M s,n",!) ... Long
t o I""".&. .01 lou "" uchho 'jOC"tob'
.... bli< Do<lOr o "'''''tien 9ind&x"",utoblo Lib
UIU leyvo' 'pf ll ..... Slng, _
&""'0' 'pl)I.""'tory ..... '''9, 1,....01 lpR.o.'t ....... Ingl .... Lono;I
Hidden page
Capitulo 12
E. EI objeto FileSystemObject
Elobjeto FileS)'$temObjtct propoJl:iona acC'so al slm",. de .rdllvos de un "'lui,
po. Perrnite buscar, crear, ellmioar, move. aJl:hlvos 0 carjlf!las.
1.
CopyFil.
Copia UIIO 0 mas IJl:hivos de lusar I otro.
Crwt,TItltFi Io
Cn!a un nomb<e de aJl:hlvo especijic:aOO y devuelve un objeto TertStream que
se puede ulillza. para leer 0 escfibi. en un aJl:hivo.
DeleteFi lo
Elimina un aJl:hivo esped k:ado.
FileExish
Devuelve un valor Boolean que indica s.i existe archlvo especijk:ado.
Movt!FUe
Mueve urw:> 0 "'<is ar<:hivos de un lugar a otro.
o-:T' XIFile
Abre el archlvo y devuelve un objeto T ex!Stre3m que SO! puede
ulilizar para leer el arehM.> 0 18regar <.ilIto:s.
relatlvos a las earpetn
CopyFoIdtr
Copia una carpela de un lugar a Olro.
C,nteFokIef
Crea una carpeta.
I


,
!
I

Programaci6n Windows
DeleteFoIder
Elimirlll UrIII carpeta junto con $OJ conteniOO.
FaldftExists
DevueIve un Boolean que indica si exisle la caf?eta especificada.
M<MIFoIder
Mueve 0 mob caf?etM de un luga' atm.
relativos a las unidadn de disco
DriveErlsts
Devuelve un valof Boolean que indica si existe la unidad especificada.
"'''''''
Devuelve un objeto Drive que COfresponde a la unidad de la ruta especdicada.
GetDriYeNamo
Devuelve urlll cadena que contiene eI oombre de Ia unidad para una ruta
.
2. Propleda<les
0.;,"
Devueille UrIII coIecd6n formada par k.>s oI.>jetos Orin: dispor1ibles en eI equipa
... ,.
3. Ejemplo: copia Oe an;hivos Excel
fl siguiNl!e busca !odos 105 archivos tlCtlI que hay en la mi SfIM carpeta
que el/ibro activo r /05 copia en el directorio 'C:\Archi vos beer.
Sub CopI"'",hivoelJ
DI. r oo"" Obj..,.
DI. o'r,ll. ',r'ng
erN ..... u .... d'n.,torlo , .. 100<> q..o. y ....... 1
Se' foo _
y
. . . I . . .
Ci!piWlo 12
. . . I . . .
If No' f .o .'Ol< ... "" .... IC.\."'hlvo. "'en
f oo. ... ' %lCler (,C ,IMCh'voo """,el 'l
KIld If
"000 100 ""col y 100 oop,> ... , dl . ...... o
O<<flle . Dlrl", ..,rkb<>Ok . nh. vtIOo,..., 11
Do n il. o<, rll. "
foo.copyUI. "' .. worl<l>OO . '" \' . o"filo, ' C,IArchl""o "",0011'
.h.vu oiqu'en,.
otr'11 oir
o Capitulo 13: Codigo
de una miniaplicacion
A. Presentaci6n general .......... .. .. .. 336
8 . Descripci6n de la aplicaci6n
GestPresupuesto



337
c.
M6dulo ThisWorbook



338
1.
PreseotaciOO .

338
2. C6digoVSA

.
339
o.
Formulario NuevoPresupuesto



341
l. PresentaciOn .

.

341
2. Usia de contmles

342
3.
lisla de celdas con nomore del modelO .
343
4. C6digo VSA

. .

343
E. Formulario BuscarPresupuesto .

34.
l. Presentaci6n .

346
2. Lista de controles
346
3.
C6digoVBA

347
F. MOdulos ProcActions 'J ProcGene



350
l.
C6digo 'ISA del m6dulo PmcActKlrn;
350
2. C6digo '1SA del m6dulo ProcGeoe

.
351
Capitulo 13
A. Presentaci6n general
La aplicaci6n Excel presentad/l en e5te up/tulo permite admin;stra, presupyestos
realizados coo Excel .
La. priro;i""l.-s luro;ioMlOdades de esla apiOcaci6n SOIl:
- creacilln de un nuevo presupuesto a partir de un modelo,
- bilsqueda de presupuestos ~ n IUrH;iIIn de criterios (cliente, lecha), con la
posibilidad de aOO, 0 de elimil\ll' uno (I rna. Pfe5IlPuesI<>s.
- creaci6n de n........os client"" y bU!queda de cliefltes.
Todos los ard1ivo:s necesalio$ para Ii aplicacl6n deben inr.tl! lar.;e en el mi"""
directorio. ~ an::hivos se entregan con los ejemplos del lill<o y soo los .iguien_
~
- EI artl1iYo que cont"'" el c6diSO de Ia aplicaci6n Excel : GeslPresupuestO.lIsm,
- La base de datos Access Q .... Iro;lll)'I.' la labia de clientes y los Iormulari05 de
oo"lueda y de creaciOO de un cliente: Presupuesto.a<:cdb,
- EI rTICl<!eIo Utet Que sirlle de base a la geflefati6n de ptIl5upuestoo;:
Presupuesl0.dtx.
Los p<ellUp"",l05 gene,<ld05 se presentan como arthivo:s Excel denomlnados de Ii
";suienle ma"""" lecIIac de creaci6l! en la forma MMMMDD y ex1ensi6n m..
(ejemplo, 20070410.lIsx). Est<1S "" seneran en un subdirectorio de Ia IIjllicaciOO
qlle lIeva el nombre del chdiSO de cliefrte (ejemplo, Al.fXl, ANATR. etc.).
Hidden page
capitulo 13
- <los Iormularios BusearP ....... puestD y NuevoP ....... puestO permiten. respec_
tivamente. buscar y crear un nuevo presupuesto.
- <los m6dulos el m6cMo Prdctlons conliene los procedlmientos
Itam.xios por los comancios de menu de II aphcaci6n (estos
procedimientos eshln I5OCiados a las propiedades ooAclion de los ditet'el1ies
COII\IIncios del menu); el m6dulo contiene Ills variables pilblitas y los
procedimientos generales de la aplicaci6n.
C. MOdulo ThisWorbook
I . PresentaciOn
Este m6dulo permite:
- los comandos de menUs", la l ictla
- modifltaf la p<eSentaci6n de Uo::et: oculta la bal1'l de fOrmulas y los encabe2ados
de filas y columnas.
- restablecer el entorno Excel cuando se <lesactiva et libm: mueslrl la bal1'i de
fOrmulas y los encabe2ados de fil;u y coiumnas.
- suprimi, los comancios de menUs de la aplicaci6n cuando se cierla et
libro.
Hidden page
M
-

-
I
! .
. ,

. '
" , o
"
" " !
., ,
0_"
8 1M '"

. ".
'"
:id
!
"
1
l
i

,
-
- .
. -.
" "
;
-
> "
ii ' .
'j ' "'
, .
lJ j 5 H
n
"
-.

. .
I
"- .


'" 'II ..

.:: . .,
"- -
" .
II

, "
. '.
" ".
-
I

,


-
,
.... ......
-
. 2 :2 8-
0" '"
- ! '"
8 ..
i" : .:
2 .
_'.d . ,'0 .... Q;
1
I
,

... ,. "',.
... I ' '" .,
Q"' . . _ ...
- :; 0 .. , J :11_
, I"" " . 0 ;0 ..
-
'" :1 1 "" " .... .. ,., .... 0
, . jOJ
..
B
" "I" " I'! l" '"
... ... .. " . . ... ..
.... .. c.. .. " ... "
. " .. '". "' ""
"
" .. -- " ... -, .
" r"! ' - .... . . " ... '" . ..... -
..
... i ! .. : jl ! <l Q "
.... -.. '" . 0.",0 .. . .... . " :
I


,
I


C6digo de UJ'Ia miniapHcaci6n
. . . I _ . .
... -..
Set <>pt __ """"trolBu .. on.
10,.II .lIdQn . l)
op .. caption oUonto-
opt_OnAeUon ""\I<ogo_CUento'
opt.T<X>ltlp1 t -CU' un cllonto"
"'.ea. eU .... o
&<It O\lt .. oC,)n.r<>l"ut<<>n.
'11,.1109.
O\lt_OoActiOG "BuOOor_Clionco"
opt . Cop.lon " -.uoeor o,lonto -
O\lt . T<X>' U pText " - Bu&eo un dio"'. -
end Sub
D. Formulario NuevoPresupUestO
1. Presentaci6n
Esle m6.Mo penTIile,
- cre.lIr lin nuevo presupueslO a parti/ del modeIo PresuPlIe$i{I.xJb:.. V guarda r el
presupuesto en el subdi/eCtooo del cliente,
_ los datos cliente en las celdas con nombre (CodCli, Emplesll ,
Direcd6n, etc.) <iellibro,
- aplicar al hbro el lema en el /ormulario.
Programar en Excel : Macros y lenguaje VBA
Ihi
capitulo 13
2. Usta de controles
c ... , p ~ u p ... ,.
NomINe del control
l} cboClient
2) txtFecha
3) cboTema
4) cmdCfear
Dol ... .... ....... , ...
-.
I
1t1l...IiCiii3
" ~
I
11/01/2001
' ..... M ~ . ,
I
. ~
3
,-
Dnglpo;i6n
Cliadro de tim. desplegable
Cuadro de te><lo
Cliadro de lisla desplegabie
Bot6n de comaOOo
IXI
_.
-
,
,

C6dgo de una mini(lplicad6n
3. Llsta de celdas COfi nombre del modelo Presupuesto.xlb:
I. Presupueslo 5. Direccion
2. Codeli 6. CPostaI
3. F...,1Ia 7. Ciudad
4. Empresa
8. Pafs
4. C6dlgo VBA
(>pHon hpllclt
.<lv.t.
0"" u rro<w_,nltl.II ,j

...... ro .. 11"0 do o l l . ~
"Ioto_CU ,oo 'H V<>pr .. u"....to ,

...... ro

,_.
. 1o.oft O<floo
Ho.tr . r_T .... _Offlce

..,he po. dor..,to
' X, r OOM
-
'0,-,,""0. "DII/ ... ',...,...",
I
Sn<I 5 . ~
Prlv.t. 5"" ' xt . oc'" _ ""! oroup4a t. 'ByYol C.ncel ..
-
MS,o ..... 1<O'"roOOOI.o.'


" " " , . ~ l
..
, ~ ..
I n.o4uol40
"
t x"o<:'"


"I"lIen COnc.1
-
~ ,
m>
"''''''"t .o'''')
-
l

!
~ , ~
. , . I . . .
I


Programar en Excel: Macros y lenguaje \lBA
lUi
capitulo 13
. . . 1 . . .
o,lvne
""o'n,. T-.o.OU leo I)

"ro h ".
String
,>1 ... <rUI .....
String
0
....... ro
'"
110<.40
_. Ilier.-..t
O'''c
ebOl'e*o . cl U r
0
40 ""c ....

... p ..... >lh
onp h
l-ert ' .... pllco.lon . n". ""nl .... ollc lon_
Po.b)
.
"
-

' \"""-ont

1>\'
tr""

D'r lotrO.,
"
....... ,
0
_ ...... 1 _r. 40 .rchIY"
...
' ...... .....

Whll r f ll.
. ,
..
cbOT __ ""'I' ... ... ,.I.trfllo.
""n(.tr'U.,
.
"
.f U ><
-

P<1v".
01. """
h
""rkbo<>'
0>.
wl>kH._ ....
s.rlng
... Uo ... ot>j.o.

."T"._
.... 81"9
0
Colo.", ..
...
latro<lu.I_
"
o"""lIon.

..

.... ..,,,.
,
..
-.
Mogiox
"<:1 'on"

.. obllg orl ... ..... lon
xl.
, ..

"
0
c ..... , ,,.
" br ...
'.,..op'"
........... M
.,
... b.h 0'" In Mo"boo,,"
"
w.k, ,.. ...
..
n:.taWC,kbooJ; .M._ TIl'n
..... <:10 ...
.
"
Nex, wbo
0
VodUc ........ 1 11 .. ..., yo .... .......
--,
.trf.,ld-.
cboClion.

""

Rlghtl.X.P"" ....
"

-
MldK.h ..... 0
"

..... {.1 .. '"" ....
"

.d . ..
"
l>!r{ob'N._I ..
..
Th ..
*.-
. "
lib...,
"
-...

0
..
.K ....
"" .... I0 .... lon
b"

-
"
0
1I>r. "" .......
lib ......... .so .. I. pl&.O.lIl
.... _ to.KI
.. ,
"
.... rkboo . AddITa.p , 'PQ'4or
..... u"" ... o. x" 1 ' 1
.
-I _
o r<liliom!N! . 011 ,.." , _
if
'0
, .
h

, -

a
!.
",
.'
n
:t"
-.

,
!
i
1
<
,
"!i '!.
,- , I ,. "

.,. .8

.. .
.. ..
.....
- 1-" " -
.. ,...
.. ,.. .... ..
i
_! __ oj' " _
... .. .
" ,,0 .. _0 ..

,
... . ",., ..
...
. -... ..
. .. ...

...... .. a
. ". ,
i
.. ..
.. -
Z:: t
,
.. -
, -
-,
..
.. .
,

-
-

,
-

,

!
-
;

..
-
..

I
-
,

n .. ; :
;' ...
'" :0
.. . ..
, . -
:: :;:
"
.. " ..
.. 0 ",," .

i .
- , --
.... :: ;- 0
.,:; H t
.. -
lI"
"' 0 .. ..,, -
c. . o n ...
- ,--'
;;0 ,.,.il "
:.:. .... :
;- 0 .
i
- 8

..
. ..
1
- .. ,
..

.-
i :
.. .
-.
"
..

. - ..
-
,

..


&
3

Capitulo 13
E. Fonnulario BuscarPresupuesto
1. Presentaci6n
E$te m6dulo pe,mite:
- busc.ar presupuest05 en tunciOO c6digo de clie!1te y/O la fecha del pre-
$Up;JeSto lis. no 5e indica ningtin critelio. sa mlle5tran todos los pteSUpuest05

- abo-i' 0 etiminar uno 0 mas pteSUpuest05 en Ii hsta de presupuestos obIenida.
2. lista de controlM
au.CoO> ., .. u....... ,x;
Nombr. del control
I. cboClient
2. cboOpe
........ _ ....
<--".,,_ ........ ,
< __ "0' .......
<. __ ,to. ........ _
<. __ .JOIft_..-..."
<. __ "0 ..... .,. .....
DelCl"ipci6n
Cuadra de IiSiII desj>legable
Cuadra de I;sUl desplegable qve contiene
los operadores de rompa,ao;iOO (> .. 0 <; - ).
I
,
,

I

C6digo de una miniilplicad60
3.

5.
6
Wfecha
cmdBuscar
cmdSIJ)lf
cmdAbrir
Cuadro de texto.
BolOn de comanclo .
BolOn de comaOOo.
Boton de comaOOo.
7 IsIPmoup
Cuadro de lir.ta desplegable.
3 C6dlgo VBA

",,<Ion
.""Uol<
HIYlte
Sub Uoe<P<l"'_
)nltUlh.11

"" ... dor par ,
,-
..,h
eb 'os , . Mo:IJ<_
e_.Mo:IIt_

,
I.l..,e<-.. ...
p ... u".. _

, 1_, tlSdoe,,,,,,tl
,
...... ra
ell ... ,
"
I . u ... d"plo-gol>lo
LI ...
Clien. 1'u.e.<P ... u ..... no !

P'lv.t.
tx.hlOhO_""lofifl!lp<loto
(''''''0'
COned ,,"Po ... . h. u <""""I Un )
,
C-'.Qlo

'_b
I ..............
"
UUoe,,""
"
..... n Ca",,"
-
c1
_ P.chO(,x, ehO)

P<lvote
Sub CIodAhrlr CliCk !)
,
U ..
100 pro.upuo.tQ
' '''01"",,_

0. ""1"0 "
-,
, ,
o To 1.tPr up.LI COOnt
,

"
'.tPr .. up . ".cUd I j I ..
"<><kl>OO ... . Op<on
lOU.oouP .LIo. I j I
-
"
..
,
lrror 001"0

"",0.<1 ...
- "
.
I r"
,
-
....... om .... d ...... pr ..............
_ .... __ ..
,

h .1_ opUe ... I(Ioo
... ".1
"
o . Nurobo.
-



r.Deoer'p'lon
-
"
y
. .. I .
Hidden page
t

,


-

i
,
,

,
I



1 1
-
,
,
"

I
I

,
-
-
I
E
,
-
"
:: . .

..
..,
. .
,, !>q
.", - .. >
t .. ,
.", !'l

t
,

.. ,
, . - "
.. ..
/)
.
j .e . , n;,'::'::
..

.. .. " .. 1':
.. .. . " Ow w
."" .. .
" "
.... _u." w
....... ...
0.'" t::::
I

g.]

-.,

III
-

-
"
-
,
1

1


.
.. "
" " .
, : ,
,. ,
' . . ,
. .
, I'" !' .
I
, ,. "

..
.. ...... " ... t: ....
u .. ..
... O.!:'/:! ..
-.. .O .... _e
o c o<,/ . """0"

,
' ..... .. .. ' .. ",,, ...
.. " . ' .
.. - ... .. ..
I

'" " !., ...
u ... .. ,.
... ....... ...
., ' .... ... <.> .... .. .. .. i " .. ,
, .. : ...... .. '''!,u 0 ..
.. .. .. ...

.. . :

u ..... 0 _...
::: <>.
",:, . :.:: .... j .. .. ....... u
i
ti
..... :::
" .. .... .. .. ..
=" II
.. .. .... .. ,
.. .... .. .
!I.! I:::
<; Q ...
P" " .. "'" ,., WJ _ II
,

Hidden page
I
i
,
!
!

C6diQo de Ulla mllllapllcad6ll
- I .
"'no. lon
In,
I>IMe" .. o '.100
Oo1"oojocu,v.:ee .. ,
n lt FUnction
"'r' .
v.:t IYQ >. 1 ..
..... FUnct ion
Sub c .... _ 0,,,",,,,,.,0 II
..... .... 1 ' o_hrlo .................. .. 0
IIIJO""" OUI"" "0 . Show
oDd sub
lui> luoeo. freou"" ,o! 1
...... ro .1 'o_hrlo do "'0.,.,_ "" p,uup" tao
Duo.opr.oup.Sno-.
01>4 sub
Sub .tIrO
PI"" . ""tt .... I ... "do do , "<0. 140>
It ""9BK( ",Do ..... 11. la opHeoe'6tt preou"" 'o, ' .
vbQo.o' lon , vbY Mo l vb'., Thon
0.. Reou ... Next
owAec .. Q\!lt
011 1.>. Go1\o 0,
. C10"
"1>4 "
I ... Sub
2. C6digo VBA del m6dulo ProcGelle
Option I KP" e"
v eb,.o pCb"."
PubUc I a. Int_r
PubUc j a. In ..
""_.odo "" 10 ......... &0
Publ ' e Conot .tr ,..,lder
ObJ .. oo A:>O
Priv cnnel! "" ADODIi.eonn.c.lon
Prlvo .. rotell "" """"". R_col
Programar eo Exre: Macros y leogua}e VBA
. . . I . . .
Hidden page
I 1ap1icaci6
una mo 0
. .I . ..
........
,oa .......... ,
..
-
, c., .....

".
'lb,o P, upu.oto
"
-
.nCIi . 20' TIlen
Wi<h
.bnge ( ' "0\>. ' )
MuevoPuouJ>. ,%t''''hoo
. """90 ( 0 PR$UI'Ui$1"O' )

Len(vbk . " _J
.
"
.1tOn9O ! CODC:L I I

rotCli ( CLI_CODCt.' )
.R.f>90( ........ A '

( CL' _ ........ A )
. bn9* ( D'RECC',"",'
'o<CII"CL'_D'RlCC'OO' )
.1<0"5'0 ( CPOSTJtL )

... ell ('CLU:'POSTJtL J
,,,"nge ( CIvo.>.D'

TOtCll
. Rong' ( ' PAls"

ucoo.(,o.CII( CL',.AIS )'
1M o lth
-
"

clo, ..
. -
ob"'oo :&e<; ...
,ncll .cleo.

."
tOtel' II<>th'ng
Set
II<>thlr>g
_ Sub
"'bile "netlon AIl,,"" o.O
... 800100.


I . 1>0 ..
' oupuoo.o.odb
On .rror <>oTo I rr,
S concli

N." .>.OOO1.Conn..,.lon
With cMel!
. ' rovld.,

Mlcro.oft.JIT.DLB08.o.0
.-.
o"'older


""" With
On luo.
.
.>.1> ........

. .
b"
.... nlon
.rr.
On """r


I
.>.I>n ......

'01 ..
--
"'_1-
..
0.\).1.
..

'.nu"""o.o. """. ,
.
f
vbbeh ... tlcn
-
rune .. ""
P\me.ion Ct,I rotbo(.Do
M Control I
... 1Io<>Ieon
,
.
1>1 ... , oD.o" ... Sttl ....
!

DI , 4&" Ao ..
1>1. x ...
'"togor
, . , I ' . .

y
Hidden page
C Anexos
A.
Lista de Instrucciones



357
1.
Fecha 357
2. Declaraci6n
357
3. .


360
4.
"""""

360
5. Estructuraci6n


361
6.
Sistema


363
7. Diversas .

.


364
B. Lista de funcion6 .





365
1. COI1versiones


.


365
2. Cadenas de caracteres

367
3.
Mate.mticas .

370
4. Financieras


372
5.
Fechas y horas


373

Archivos, Sistema

376
7.
Verificaci6n de


377

Interacci6n

378
,.
Matrices . 379
10. saL . .

.

380
11. Diversas .

12. Sojvel ..

c. Constantes VBA .

1. Con-stantes de color . . .
2. ConsIantes de fecha .. .
3. Constantes de tectas conespondientes a tetlas y nlimeros
4. Coostantes de teclas de funci6n
5. Constantes de teclas diversas . .... .
. . .
381
382
383
383
384
384
385
385
A. Lista de instrucciones
LS
""
Alinea a izquierda una cadena de carllCteres dentf!:l de una variable tipo
cadellll .

Copja una variable de un tipo <.leIinido PO' eI USlW>O a ot,a varlabje de oIf!:I
definido j)Of elusll3oo.
Reemptaza una canMad de caracteres de!ltro de una valiable ca
dena por 105 caracteres e.otraidos de QUa cadellll.
''''
Al inea " Ia derech. una cadena de ca,acteres <Ie!1tro de una varl-able tipo
cadellll.
1. Fecha Hora/Matem.iticas
, ...
Oevuetve I. lecha del "';sterT13 en CUISO.
,.-
Iniclaliza el generado, de numeros aleatorios.
"""
[)evueIve I. hDfa del sistema.
I 2. DeclaraciOn
,

Decla.a las constanle5 qoe hory qoe utillza r en luga' de vatores fijos.

! """.
I
-

Se utillza a I1iveI de m6dulo pa;-a dectara' tM rele<encias a procedimientos
memos en UM bibl>oteca Oll 0 un recUISO de c6digo Macintosh.
Hidden page


i
-

Print.
Declara las variables privadas r!!SeNa su espacio de almacenamienlO en la
memoria.
Property Gel
Declara nombre, los argOO1enkis y eI c6digo doe un Property
que permile leer valor de una propiedad.
Pmpert)' Lot
Declare nombre, los argoolf!ntos c6digo doe un proeedimiento Property
que as<gI1a un vaiot a una PKlJliedad.
p.-'"
Declare nombre, los argumentos y eI c6digo <.Ie un procedimiento
que a";goa """ relerenc;' a un OOjelO.
Public
Declara las variables pUblicas Ies reserva espacio de almacenamiento en

RtDim
Dimenwna variables de tipo tabla dioamg y las raseN. espiIClO doe almaceo.-
mienlO en la memoria.
Aslgoa ul\a a un OOjeto.
Static
Define las variables y las reseNa espacio de .Imacenamiento en
memoria .
Declare el nombre, los argumen\o$ y eI t6dilO de un proeedimienlO Sub.
"po
Driine un tipo <.Ie datos delinido por ei uwafio.

3. Error

Simul. la ocurrencla Oe 11M error.
""
Act;"'a una rutiN! de tratamie<1to de em:>res y su ub;caci6n deIltro
de un procedimiento. permite dffiaC!;"'. r 11M rutiM de tratamiento de
errores.
Res.u",.
Restablece I. ejecucicln del cMigo wanda (ermina u,," rutin. de tratamiento de
.-
4. Archivo
'OM
Finaliza las Dpe'a<:ior.es de ent,lKi. y .. lid. en un archi"" .bl,rlo con I.
in(,j",cci6n Op ....
FileCopy
Copla un archNo.
lee los datos de un archMl BIlierto y los guarda en una variatE.
Input II
Lee los datos a parti, de un IrchiYo suentilll abOlrto y los llsign. a variable!;.
Kill
Une Input /I
Lee una linea de datos a partir de un archivo secuencial ablerto y II asigr-.a I
una variable de tipo cadena.
I
lod. .. Unlock
ContlOla el acceso plr de OlIOS procesos a 1000 0 parte de 00 atChM.!
abie<1o mediante la ...
""
Pe<mite !!jocular una !l\IIlracl6n de entrada y salida eo un .tChM.!_
Print If.
los c!atos COl' rormato en tin atChlYo secueoclaL
Esc:ribe COI'tenide de una en un II:hiYO de dtsc.o.
,-
CiellI todos los archives de discos abioertos con Ia instrucci60 ...
"'" DeiiM la posici6n de la proxima lect llla y en un ald>iYO abioerte con Ia
...
.......
DeiiM los atributos de un archlYo.
Width If.
AsJgn. III Iongitud de la linea de salida. 00 .tChM.! .bierte COl' I. instmtci6n
ape ...
Write /I
Escribe datos ef1 un atChlYo secueoci.al.
.. 5. EslructuraciOn

,
!

co,
Trans/iere control a 00 Ploce<Iimiente Sub. f unction, DLL 0 a un procedi
mieflto de recursos de cOdigc Macintosh .
Hidden page
I
""
Interrumpe I. ejecuci60 de un pn:x:edimief1to,
1f Then ...
E1self .. .
E1R ... EndIf
Permite I. ejecuci6n condieional de un &r\lPO de eI onulbl
do de ooa eJqlfeSi6n dada.
While ... Wond
Ejecuta una ""fie de iJlStllJociooes mienlta. SO! cumpla una condicioo dada.
W""
Ejecuta u"' set;" de in.truct;iones sob", un 00ic0 objeto Q un tipc pDf
el usuarlo.
6. Sistema
''''
Emite una sei\al !IOOO<I.
ChOir
Cam/lja directo<io 0 la carpeta actual,
ChDrive
Camb4a 18 unida<! de dioco ""Iual.
.. '"
Ctea un nuevo directorio 0 ooeva carpeta.
i Mime
Modilica el oombre de u.n archlYo, de un direclOrio 0 de una carpeta.
!
!
-

RmDlr
Elimina un directorio 0 una carpeta exi5lente.
Programar ef1 E.ceI: Maoos y lenguaje VBA
Ii!
Hidden page
B. Lista de funciones
) las luncion<1s tU)'O nombre termin. oon el signo S Vlllon!s en Vil!';'"
... de tipo strine 00 de tipo Variant.
1. Convenlones
''"''
Convierte una exf)<eSi6n a datos de
CByte
Corrvierte u.-.a exP<eSi6n a datos de li po 8)1e.
CCur
Convierte \11\/1 expresi6n a datos de Upo CUfrerq.
", ..
Convierte \11\/1 expresicln I datos de tipo Date.
'''"
Convierte urlll eXp'esi6n. datos de tipo Double (!IobIe
'Do<
Convierte " M exp<esi6n I datos de tipo Decimal.
Clnt
Convierte "M expteSi6n I datos de iiI'" (nomb", entem).
I ", .
. , Convierte llfII expresicln a datos de iiI'" l ong (entem largo).
C5n&
! Convierte lIM e:<presi6n a datos de Single (simple p<ecisiOn).
I
,

y
Hidden page
I
i

!
i

Q8CoIor
Devuel"" un valor que indica el <:<\dig<> de <.:Olor RGB aI nUrneR:I
de color indicado.
ROB
Devoel"" un entem que el valor de un <.:Olor ROB.
St<, StrS
Devuetve una cadena de carllCteres que representa el numem especHicado.
""-
Oevuelve un valor convertido al formato iod"=ado.
'"
Oevuelve el valor Ilurrhico contenido en una cadena de ca.Kleres.
2. Cadenas de CilracterH
OevueNe el c6dig<> ASCII COI"respondiente primer car/lete< de una eadeM.
CIv, CIvS
OevueNe el r;.1filcter correspoodie11te .. c6digo ASCII
InStr
OevueNe la posici6n de I. primeu ocu,,,,neil de """ cadena doentro de otra
codena.

OevuelYe la poSiciOO doe ,. ocurreneia doe una cadena dentm de otla, a partir
del lin de" elldeN.
LeIH, LCaHS
OevuelYe ooa cadena con suS caracte<es par.aOOs a rninilscula .
: Macros y
Hidden page
Hidden page
Hidden page
Rw""
. "
""
Devuetve uo numero 8 una cantidad de posiciones
<iecim;d .....
DevueIw un numero entem que indica el signa del argumento .
Devuellll' la ralz culld,lda, de un numero.
Devoetve 18 tangente de un 'nguio.
[jemplo
Sub
'DU ..... c l ....... lB' Y ph
",>1 _120 . ..
..... -,,.
MogOO> .nt lnb.1
-"" ...... _lIS
Mog""" pix l,,".1
Otras funciooes . 1 b"n no son ;nlll""",,as. puecien oI>\e"" .... a pamr de funciooes
I intrinsec.lS .
!! AJgoo::.s ejemplos,
. p Secante .. 1/ Cos(X).

!
i
,

COS OC3nte 1 / SlnIX),
COOongente 1 1 hn(X),
y
Hidden page
Hidden page
Anexos
nat.Serlal
Oevuelve la lecha cofl espOndiente a una 8/10, un mes y un dil especificados,
Oat.Val""
Oevuetve una lech&.
0.,
Oevuelve un n':'mero entern CQmprendido entre I y 31 que representa el dil
del mes.
" ~
Oevuelve un n(imero enlero comp.e!>diOo entre 0 y 23 que repm;enla la /lora
del dla.
Minute
DevueJve u<l ... umero f!<'tero comprendido entre 0 y 59 q"" n!j)ro!Sef'ta los mi
nutos .
. ~ "
0evueM! un numero entero compreodido entre I y 12 que representa ~ mes
del 8110.
MonthName
Oevuetve una ca<!e<1a que indica eI mes especilicado,
" ~
Oevuel .... la fecha y la han actuales tomadas del re40j del sistema.
s. ,o,-,d
Oevueille un ninnero enlero eomprendido entre 0 y 59 que ff!l)resenta los se-
gundO$.
li .... , limoS
OevueNe la hera octual.
I

,
!
I


Oevuetve III GanMad de se(lundos Iransc ..... rldos desde la medianoche.
n_St11a1
DeYueIve \ffia techa Que contiene la oora exacta (ho(as, minutos y segundos).
w ....
Devuelve un n<.in1ero entefO que representa eI dia de I. semana.
WeekdayName
Devuelve una que el di. de I.:;emana ewe<:ffK.:m.
Y"r
Dewelve un ente> que "'I""""nta el olio.
iemp/o
Di'lef$C$ cSlculos con fe<:has y /lola$:
sub CIo lCl'eohaoyllono ()
........ . I . foolla cIol "I_
>Hoy no t @
........ I. 0..,"dAd. .... .,......." . ...... ............ _ l1a..ocbo
""9""' X "" 0,,110110<110 1>0"" _
TI_, MgUr>do
cd"",. y _ ... n 01 01_ qu. ".'0 . .. I>0l&<
.. """ .............. l o ............ h. 17 II H
.... '0. TI .. S .. loII11 - ""'I<ITI ... I,
) 0, M'nut.IT'_I. o Soe<mdI T'_)I
... gaox Pi""li ......, . 1 .. ".,. , f .... . . ... ..,
ho qu. ","y ...... ' . ..... j.r
cal""l. y _ t .. 0' 4U,"- dlo .... , _ . ... ou ..,
Pi na l -"hINowl I , 11 . I
Ila9110X 'el dltl., dl. <leI _. on euroo pl ... l
...... . ... 1 _fa ... , 410 "'" .. 0."" ......... ...
I I por"" ..... Roc.' I . . . .-p 1 daalagol
""9Box 'SU' "" . ..... k4<O ....... 1 .... """y'Fl""" 1 )
Itt><!
Hidden page
I

,
!
I

"
CO,
Oevuelve lllioogitoo I!fl by\1'S de un con I, instrutd6n ap ....
Seek, SeekS
Dewelve II poSici60 de lectura y escOl u,. actual ... en un archivo Bbierto con I.
Inslrucci6n Op ....
fhmplo
Procfldimienla para mMUa, /os nombres. las fechas de UltimJ modificM:i6n Y 10$
l'ffldOO$ de /os Ci flCO primeros archiros enconlrildos en /. carpel. ;telu. l.
Sob Llo<&A:bi""o I)
!)i UPa'" M. string
PI_ ou'H ....
.uPn 0",01,11 ' \ '
.tr.ll
.or j 1 '" S
HI . IThen
0. 11 Olr(o.r,",.1
....
rlle Oi T(I
illd II
11 ou. n. " . . 'I'l>e"
"MeMvo , ' 'rOIl. , Ot<01"
"P",,"" , ' 1l."",.Tl ... , ..... ,., 01.<1111
"T ... no, "' ..... ".l1.Loo '..11.I . ". ,"0 ")
KM If
j
IruO Sub
7. VerificaciOn de variables
tsArray
Devuelw un valo, que Illdita li una vanable es" 110 una matriz.
loOate
Devul!1ve 00 valor que indica ,.; "lUI puede a fl!(:h .
Hidden page
Hidden page
Hidden page
Hidden page
".
FunciOO utilizada COn la in.truccilm Print . " el rno!Iodo Print PO'" posi.
ciona. la salida.
12.SoIvtr
..... ""
Agreg. una restnc.:i6n al problema actual.
Soh'erCho",.
una >eslricdon II<Oblema actual .
...........
Ellmina una restricci6n al problema actual.
SoIwrfinish
locIlca a Elo::eI qot debe hacer coo los resultados y qut elaS!! doe Informe debe
cre.,.1 finalilar el proceso de resoludlln.
So/YerfinishDil1oi
E$ Igoal a la funci6n Sotw,f lnlsh, pera t&mbik. mueslr. el cuadra de
Resultados de SoIwf de5pok de eI pm!lIema.
Do!vuelve bI i nlcrmaciOO ",Iativa. I. configllfaci6n de SoIvN.
_ ......
(;a,ga la corrfigu,aci60 de un modelo existente.
"""'"
Oefj"" un modelo t>a5ic:o de SoIYef.
SoIYerOKDialOil
Es jgual SoIverOK !>em mues!fa eI cuadro de SoIwr.
I
i
,

,
I

,


_k>m
Especitica las OIlCiones avanzadas de un modeIo.
-, ....
ReirOcla toda la configulaci6n .
........
Gu.ma la configu,aci6n de un modelo.
--
Procede OOn to r"", uci6n de un modeIo.
C. Constantes VBA
Vi .... 1 Basic por. Aplicacione$ pennilfl delinir oonsta ntes pa ra mejor. r la legibilidad
del e6digo Y lacim. , "" manteoimi\!<1to.
Tlmblen puede utilizar las silllJienles constantes VBA (constantes Inltlnsecasl en
su e6digo.
l. Constant" de color
AIleX05
2. Constantes de IKha
Coo",,,,
V,"
Dom.!!!i<L ""'!!I1i!"

1
vbMonda
2
1_

3
M,,,,,
vbWednesda

M06Mes
vbThufSda 5
,-
.,,'"
6 Viemes
vllSaturd
,
Sibodo
3. Constantes de teelas correspondiente$ ill let ras y numeros
Los valores de I.ls teclas A a Z son los mismos que sus equivalenles ASCII.
90 Tecla Z
Los vaiores de las teclas 0 a 9 son los mismos que sus eq.,;valentes ASCII.
Hidden page

Con5tilnle Valor

vbKeyRight <2,
T eela IFlecha defecha)

<28
Tecla [fleeha abajol
vb eel <29 Tecla SeMi6n
,.,
Print
<2'
Tecla (Imp< PHnt)
vbKeyE><ecute
<28
leclll[JECUTARI

<2e Tecla SNAPSHOT
vbK oseJl
<20
Tecla
vbKeyOelete
<2E Tecla
<2F Teda Ayuda

<>90 Tecla lBioq Numl

""
Sot6n del .atOO
vbK RBullOO <2 Bot6n secuoda.rio del ratlln
A
B
pilotea, (1"1' EaceI, 283
AdcIlns eel' 'fiM, 89
Ans ... . obje(o. 88
API, 326
ejemplos eM I.ISO. 329
IiWo ck lundon.", API W1,+k .IS, 328
llama, , una luneiOn de Ia API W.,;ld"-Jl.iIIS., 327
Awk-lion oIlielO, 88
VNW Ia/!IbJbI ObjeIO AppItaliof!
AIMs, 161
Ara..menlos con norntn. 46
AMld"t . oIlielo. 88
AutclCoINct ot /_to. BB
Autornation. 213
II.ifd6n 274
lurw;iOn GetOtr!I, 274
Autofl .. ,: Ie' Qbjeto, 88
sa" . de f\ef,.mientas de IICCZ'O rilpido
.s,., un c;omando, 220
sa,,, de henamientas Es"nd.r, 28
8/l rrllS de comlndos. 22 J
c;:ontrole$, 221
crea., 222
elimina<. 223
Simas de P'tel!lmienlis ptl$Ol\lllill\du, 220
Biblioteca de OOjetOi. 103, 273
Indlre
Indk:e
c
c"rkter de coolinullCiOO, 82
objeto, 88
Cl'ls. coIecciOO, 147
Chart objeto, 248
VMse t.mb;en
Charts colecciOn, 132
Ci<:ios
VMse fwuctUf en ci<;1D
Cia""", 86
Cildig<> VBA, 10
entomo Visual 6a!lic Editor, JO
grabociOn de macros, 10
ColecciOn, 86, 91, 95
Addl,,", 89
Charts, 132
COMAddlns, 89
CommandSar5, 89
Commenl$, 148
CustomOocurneolPOOperties, 132
CustomViews, 132
Doalogs, 9Q
Hypertinks, 148
Names , 90, 132
006CErrors, 90
OlEDBrmr5, 90
OlEObieCts, 294
Recer1IFites, 90
SmartTagRecognizefs, 90
SmartTags, 148
UsedObjecI. , 90
Watches, 90
Windows, 90, 133
Workbooks, 90
WorkSheets, 90, 133
D
CoIKei6n Charts
evenlo.247
COMAddlns 89

Comenlllrios.82
COmmanda.l1 coWd6n 89

comments (cWci6n. 148
... """"
VNW t.mbifn C$lfU('fum de ded!i6n
" ... Then. 67
M... Then ... Else . End ", 68
II ... Thtn ... EbelL, 69
" ... Then ... End " , 67
Sdecl Case. ro
Constanta. 63, 83. 103
de ab. 383
de 1echI. 384
de tecIft, 384
de teeln de Iuncl6n, 385
de tecIft diw:ISaS, 385
64
63
eu.dros de di6108O
lonnul.ri05, 180
Inte&rados, 180
prede!irMOOs,l80, I84
ClI!olomOOCumeniPropetties colecd6n, 132
CII!olomVlews ' oolecei6n, 132
DOE, 290
... 293
;nk;I.liaci6n,291
vlnc;ulaci6n, 291
Debug . objeto. 88, 264
DtlauitWebOptions objelO, 88, 3/5
,
E
Oepuraci6n, 263
Vhse tambH!n [,/OreS
Dialogs coIecci6n, 90
Oo ... Loop
instrucci6n, 72
Editor VSA, 25, JO
IICO!lIe de ooa _tar\!, 32
de OOdigo, 30
lipoifalla, 30
ErrcrCt>ecki"3OPtion$ . objeto, 89
Erro<es, 260
administraci6n, 265
de cornpjlati6n, 261
de eje<;oci6n, 262
de sintaxis, 260
depu<acicln, 263
Ermt (1\Inci6nI, 268
EffOt (inwocd6n), 268
0.. EffOt, 265
O\ICicnell <Ie R!Cuperacicln, 31
de deci'li6n, 66
condicicln, 67
instrucci6n If, 67
Instrucci6n Select Case, 70
EstruchKas en cicio, 72
instrucci6n Oo .. . Loop, 72
Instrucci6n For Each .. ,NexI, 76
instruccicln For .. ,NexI, 74
instrucci6n While .. ,Wend, 74
E\len\o:s , 86, 94, 103, 204, 242
ca ox:e!a r, 208
wmlnador de objeto)s, 102
un 00, 77
F
(oit FOt, 77
de objelO$, 29
E' pIorldor de proyec:tos, 28
!'",g.. P'qramador
cle!cripc:iOO, II
most,., en 110 dntI de .......... IIS, II
f1IeSysIemObject objeIo, 332
For Udl ... Next
Qtn<elOn, 16, 99
For ... Ne>:t

9, 38, 40, 194
ciMe, 209

ejecuti6n, 209
e)empio, 211
eventos, 204
procedimientos, 204
Funei6n, 10
en UIII formul. E>x;eI, 48
funciones, 43
cldel\ll$ de U'lIi:leres, 367
cooversiones, 365
exemplos, SO
y horas, 373
!in.ncie,as, 372
InteracciOO, 378
lisla. 365
m.tfm'tleIs,370
matrices, 319
376
soIvef, 382
SOL, 380
lodice
Hidden page
L
M
Inle<rlel
303
. ob;"to, 89
Macros, 11
agnaciOn,21
defi"'r eI klgar de almacenamiellto, 15
Indlce
descripci6n de las difefenle5 opc:iones de seglJridad, 18
ejecular,13
elimillar, 16
lirm ... digital.,..;, 19
gr.baci6n,12
grabaci6n de macros. 10
graba r con rel.t ....... , 14
gralm ...... ,ibro con macros. 16
las """"":5 y t. seRuridad, 18
modificaciOn de los poriimelros de ""2uridad, 18
moditicar, 20
Matrices, 61
Mensllje,186
""'" ,
,
Ba rras de comandos, Barras de rI'IO!<'IU, 9
Metodos, 86, 93, 103
Microsoft Basic
lIojas Userfonn, 194
MoOeI" de objetos, 87
Mc\dulns, 10,3839
y
indice
N
o
dar nombre, 4()
eliminar, 40

importar, 40
paSOlr, 39
M6dulos de clase, 38, 40
MS&B<:, 186
Names \:Olea::i6n, 90, 132
ObjelO, 91, 99
AIIswe<Wizard, 88
AMi.tan!, aa
AutoCom!Ct, 88
AutoRl!CO'IfOlf, 88
88
Debug, 88
OeIaultWebOptions, aa, 315
ejemplos de USO, 174
ErI, 268
ErtOIChecklngOptions, 89
file$ystemObjecl, 332
Hypeflink, 323
languar.oeSettings, 89
OLEOilject, 294
f'ageSe\up, 141
PfOIection, 147
313
QueryTable, 305
SmartTagOptiOl1s, 131
Hidden page
p
<Ie concateflad6n, 80
I6gicos, 79
oridad 80
" ,
Option uplicit, 57

pliolear desde Excel, 288
PageSetupobjeto, 147
10
Procedlmientos. 40
III'C,,"O. 41
ak:ance. 44
8'l1Umentos, 45
8rsumenl05 coo oomb<e5, 46
lI5OCiado 42
declarad6n, 44
e;e.:trtar, 42
eiemplos, 50
elimlnar, 42
function , 41
genent , 42
lIamar, 47
nomb!es, 83
property. 4/
41
Sub, 41
Propel'ly. 41
Propieclodes, 86, 91.103
a 18 venlana de la apHcaciiln, 119
Protection objeto. 147, 155
Proyecto,JQ
Publicaciim de pAginas Web, 312
Q
R
s
OOjeto, 305
R.,.. - 001:10, 147, 159
VN5e t.mbiIn Ob;ffo R.
RetenlfllIS coieccOSn, 90
Red+ ' iO ... <It lnWua:iones, 97
Reglts de escnturll, 82
Repetitivn
VN5e Cslt\I:'lurf.l ffI del/)
82
_ ..
Indlce
clescriiXi6n!le In diterentes opciones de 5egIlridad, 18
fl ' "," dillill res, 19
las mICros y II segY,IdId, 18
modrticlCi6n de 101 5O:'guridld, 18
Seleet Case, 70
ServIdQr OLE, 273
So<
Instroo:i6n, 101
S,....rtl asQptlons , OOjeIO, 131
S,.... ,tTaeRecoenaers . coIecci6n, 90
Smanf l&' - coIei6n, 148
Speech objeto, 89
SpellinaOon$ ' OOjeto, 89
Sub, 42
procedimie!1tos, 4 1 - 42
fr.dice
T
u
v
ThisWOfkbook, 38
UseOObjects - cclecci6n, 90
Variables, 5J, 83
<lee"',...::i6n, 57
matrices, 61
Option 57
tipos, 52
VBA,9
'"
..:c,,,, al entomo VeE, 25
cerrar eI elllotllO VBE, 26
Oesctipci6n del enlomo veE, 27
entomo <II! desarroHo veE. 25
yo"," , a EEeI , 26
VEE objeto, 10, 89
VEProject, 132
Vent.1J\11 C6diflO, 29
VentaJ\ll Inmedi.lo, 29
Venl"". In'petti6n, 29
Venia,," locales, 29
VentaJ\ll Propied;tdes, 28
Vloculos Excel , 296
Visual Basic Edilot
Vh", VBE
w
x
Watches colettiOn, 90
Wet(lptions objeto, J32, 3J5
WhHe .. 'weod
ilt$lruc(:iOn, 74
Windows - coIettllln, 90, 133
With
ilt$lruc(:iOn,99
'oro
objetos y coIecciones, 277
pilo\ear <iesOe Excel, 276
Workbook objeto, 2%
VMse r a m b j ~ n Objflta W",*book
Workbooks coW!cciOn, 90
Worbheel
Vhse Objflto W",ksheet
WorkSheetFunction . abjeto, 89
WorkSheets coIecci6n, 90, 133
'ML
Iodice
importaci6n, e><portad6n y a';gNICiI\n de arcnivos, 319
ModeIo EJ<CeI XML, 320
Copy rig hIed material



i
,
.... , .. '. . '1.111. 1'01-01"
_ Coo $ .. '" ".
hi. UOOM .. ' ... uoom ....
-- , ? ..


. ... "_ ,.. t ............ ,...1 ......... . ...... ,' .... , 1M Ii ...... 10 .. 1o.056ot
. ......... ' ..... " ..... ~ ... o. .'u"" ._ .......... _ I ....... ~ i t .... 1n
t ...... lo ......... 100 do 1M ._.p' nloftio: ..... __ oj .. , ': ,IM_joI
"",..," ,.,.., .... II . ..................... _ .... , .. _ .
+
II ' ".C

You might also like