xce
Muu'., hu , .,
---
=.-
,_.-
,-_ ... __ ..- ... < ,
,
....... ,,,, ....... ,,,,,,
---'.'-o , .. ... , .
.. -----_.. .....- .... _---,' -"'-, _ -""-- ....., ,_... ...-_ --.".---_. .....--,, ....... _.--" ---'..'-In
( ,p, ., D
..
...
... ,."
,._
"
..... ,
, ,,,
"""'"
' ,p, '
•
,
, ': : : :
,,,
........ ..
-"--"'-""-" ~"~
..."",1O~ "" ..._ _ _ ,n .• ' _ _ ': __
_ _ _ '
D
..
;
.
-"~...,
", ..... -"-"'~""' ..,..,lI m
.'
""
-
•
I_ I 16esll"
.............
• III!
--.c.._....-_-', "
5
.... _ _ "
. _ -
t,
DO , , , - _, __
---". ._m."",,," . '"
0 , .....
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: 1629·74~ ISaN: 978-Z·7 460-39 15·5 Edid6n oris;nal, 978·2·7460-37110·9
Ediciones ENI P' F. rrocarriles Calal.""", 97·117, 2"" pt of. 18 08940 · Comell. de lIob
AuIO" Micholle AMELOT
Edici6n ""!,,,iIoIa: Claudio SANCHEZ con la col.bo,acicln lie Guil lermo SOM (' (I GUILLE") CoIec<:i6n Recu,_ In~tko$ dlos;da par ~Ie MUSSEl
•
A.
Presentad60 dellenguaje VBA
B.
I as macros de Excel
c.
Asignaci6n de macros
D.
Fl entomo de desarrollo VBe
E.
Configurad6n del Editor VBA
•
•
•
•
•
•
.9
•
•
11
•
21
• •
2S
•
•
3.
•
E. NovPdades de I!! YfOro;;jnn 200Z
•
•
•
•
EI lenguaje VBA
•
33
Capitulo 2
A.
M6dulos • • • • •
•
•
•
•
•
•
•
•
38
B.
procedjmjentos
•
•
•
•
•
•
•
•
•
40
C.
variables
• •
• •
•
•
•
•
•
•
•
51
D.
fstructuras de dedsjOn
• •
•
•
•
•
•
• • 66
E.
Estructuras
000 • • • • • •
•
•
•
•
• • 72
• •
ffi
•
Tabla de oontef1ido
• •
78
G. Reglas de esaitura del c6dlgo
82
F.
Operadofes .
•
•
• •
• •
La programacion de objetos
capitulo 3
en Excel A.
presentacj6n
• . • ....•
B.
EI modelo de objetos de Excel
c.
Prindpios de uso de los objetos y las colecdones .
D.
Instrucciones usadas coo los objetos .
E.
El Examinador de objetos
• •
•
•
o
•
• •
o
0
0
87 91
0
99
102
•
0
109 130
0
EI objeto Worksheet .
Do EI objeto Range . . . Eo
o
86
capitulo 4
Ao EI objeto Application .
Co
o
o
Objetos de Excel Do Objeto Workbook o
o
146 0
Eiemplos de uso de los objetos
156 174
Tabla de conteniOo
Cuadros de dialogo
capfhllo 5
. . . . . . . .
A.
Presentaci60
B.
Cuadros de diakxlo integrados
180
C.
Cuadros de dialoqo predefinidos
184
•
•
•
•
Formularios
•
180
capitulo 6
&,
presentaci6n
B.
Crear un formulario
c.
Personalizar un formulado
• • • • • • •
•
•
•
•
•
•
194
• •
•
•
•
•
•
194
•
•
•
•
•
•
204
•
211
D. Ejemplo de formula rio personalizado
•
Mejoras en la interfaz de usuario
capitulo 7
&.
presentad6n
8.
Ejemplos de barras de comandos
C.
Barras de mroaodos . • . • . . •
•
•
22 1
D.
Controles (opciooes 0 botones de comandos) de las hams de mmandos . . . . . . •
•
224
Ejemplos de menus personalizados . .
•
230
E.
" " "
" "
•
•
•
•
219
220 •
•
•
•
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 .
.
•
• •
•
• •
Capitulo 8 •
•
•
•
•
242
•
•
•
•
•
242
250 •
•
•
•
•
•
•
Depuracion y administracion de errores
•
253
•
256
•
257
Capitulo 9
A.
Diferentes tipos de error .
260
B.
DeptJracion . . . . . . .
2.3
C.
AdministradOn de errores en VBA
•
Vinculos entre aplicaciones
•
•
•
•
265
capitulo 10
A.
La tecnologia Automation . . . . .
273
8.
Comunicacion con Word desde Excel
27.
C.
Comunicaclon con Access desde Excel
283
Tabla de contenldo D.
Comuniraci6n ron Outlook. dec;de Excel •
E.
EI protocolo DOE
F.
Objetos vinculados 0 incrustados ·
G. Metodos 'i
•
• •
• •
.
•
·
[!ro~edades relativos a
•
•
•
288
•
290 294
los vinculos
con Excel • • • • • • • • • • • • • • • • •
•
Internet
•
296
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.
. .
programaci6n Windows
Ca[!itulo 12
A.
presentaci6n de las API . . . .
• •
•
B.
Uamar a una funci6n de la API Windows .
•
Programar
323
•
• •
326 •
327
Tilbl;,t de oontenido C.
I ista de funcionec; API Windows
.
.
.
.
.
.
328
D. Ejemplos de uso de fundooes API Windows E.
EJ objeto FlleSystemObject . . . . . .
• •
•
COdigo de una miniaplicacion
•
329
•
332
capitulo 13
A.
PresentadOn general. . . . . . . . .
• •
336
B.
Descripci6n de la aplicaci6n GestPresupuesto
337
C.
M6dulo ThjsWodJook
D.
Formulario NuevoPresupuesto
341
E.
Formulario BuscarPresupuesto
346
F.
M6dulos ProcActions y ProcGene
•
• •
•
•
•
•
•
•
•
•
•
•
338
•
350
Anexos A.
lista de instrucdooes •
•
•
B.
I ista de fllnciones
•
•
C.
Coostantes VBA • • • •
• • • • •
Indice
•
• •
• •
•
•
•
• •
•
•
•
•
•
357
•
•
•
365
• • •
383
387
4) capitulo 1: Presentaci6n A.
Presentaci6n del lenguaje VBA 1.
•
•
•
•
•
Objetiyos delleoguaje VBA
2 . Algunas definiciooes
I
. .
as macros de Excel
.
9 9 10
l. Escritura de cOdigo VBA B.
• • • •
10
• • .
.
.
.
.
.
.
.
.
.
.
.
.
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
Gra bac;6n de macros
J2
I. Grabar 13 primera macro
12
b. Ejecutar una macro
13
3.
t .
Graba' una macro roo relerencjas relatiyas
14
d. Deli"i. el luga, de almaceoam>ento
4.
de una Olleva m a cro
15
•
Elimina , uoa macm
16
f.
Graba, li D Ijbra con macros
Las macros
~
.
.
.
la seguridad .
16 18
• • Mod~icaci6n de 13 conliguraci6n de seguridad .
18
h.
Descrioci6n de las d"fefl!fltes opciones de seguridad
18
t
Annas elertron tcas de macros
19
Capituk> 1
5. Modilicar el c6d 'go de una macro .
c.
20
Asignacion de macros . . . . . . . . . hoIOO
• • • •
• •
21
2. Asignar una macro a una imagen . . . . .
22
3. Asoo;iar una macro a una
Z0fl3
de un obielo
22
IIra/ieo
4. Asociar una macro a una imagen Control Al;1i1leX . 5 . Asocjar una macro a uo k:ono de Ia barra de heuamieola de acceso rapioo. . . . . . . . . . . . . . .
D.
E.
EI enlomo de desarrollo VBE 1.
meso al enlomo V8E
2.
Germ el enlomo YSE
.
...
. .
• • •
23 24 •
25 25
26
• • •
3. Valver a Excel
26
4 . Descripci6n del enlomo VBE
27
. . ..
Configuraci6n del Editor VBA . 1. Conflgu,aci6n
• •
•
•
• •
4.
30 JO
30
3. C-estjOO de eumes
3J
Acaple de una venlana . . .
32
5. [Ieglr las ventanas que hay que most/a ' F.
21
de romando
J.
Asocia r IIna macro a lin
•
33
1.
Nove!Iades de [xcel 2007
33 33
2.
las nove!lades de VBA [ gel 2007
34
Noyedades de la version 2007
•
• • •
•
• • •
•
• •
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 Traboj~rdo I!fl Excel. el lJS() del ""'BlJI!ie YSA Ie permite: - _utomIIIiur .,ciooe1 repet~lvn: YSA permite electua r I!fl uN imica operad6n una canlidad imp:lrtante de comal\d05 de Excel . S
S
Intenctua. sobre los tlbros de u~: el contenido y 110 prese11taciOO de troos los ~enll!fltos COnienid05 en un libro (hojas. ceklas. 2r!fiCOS. etc.) pueden modilitarse a travl!s de c6digo VBA. e.N. fonnullrios person.Ilirados: los mrmularios son 10:$ co>adros de dihlO8O com~tos p:lr oontroies ActiYeX (cuadms de I""to, lioJas dl"plegables. etc.) " 105 Que se Ies puede asociM c6d igo YEA. los foml.olarios perm iten 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.
I, , !
I•
Ei!mr>/
- _nicl. uce! con olus .plicaclollll'S Mic.osoft OffIce: YSA perm ite intercomoo. InIormaoci(1n enm. las aplitatiorles Office usando Objet05 especfficos propios de cada uno. Pot ejemplo. puede inserta. una tabla 0 un gri/ito El
ow de Word. creat mensajes Outlook con un a..:hivo Excel adju nto , 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. Cad~
MMulo los rOOdulos contienen lis mac"," grabada. y "'" p"",ios pmcedimief1tos y lunciooes """rilos en VeA. los rOOdulos poeden exportarse como ardwo. Independ ien! ... para luego sef importados en otlOS tibros.
Pt«edIn'Mnto los pmcedimief110s son .... ll!>mI!ramas elICrilos en VBA. Cadi macro llrabada genera un Plocedim iento coo ~ mismo oombot! de la macro. De la misma manera. u~ted pue
3. Escrituril de c6digo VBA HillY cIos maoeras de crea , un pmced imief1to VBA: - genefar autoINticamente eI c6dig<> a partir de la l'abaci6n de macros , - escribir direct.lmente eI OOdig<> del pnxed imiento 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
procedim ientos generllllos a utomAticamente 5610 petm iten IIOtomatizar acciooes repetitivas reallzadas coo E>o;;ej (formato de ~s. orderw datos, etc.). Si desea elettuar ope
DIIr----------------------------~ VO'·E~ .'~.~'~oo m7
B. Las macros de Excel 1. M05trar la ficha Proiramador en II cinta de opclones Pano escribi. macros. ejecuta r macros grabadilS 0 crea, aplicaciooes E>:<:el . debe most .. , II fic~ PI'OI,arrllidor de II sigulente manera: .)
Ha~ elie en eI bot6o Mic.osoft OffIce ~). luego e!1 el bot6n! E} '" (ubicado bajo eI euadro de
.... -
I
d;a~) .
• ) Seleccione la categoril Mas lrecuenies en el menu de la
i~ulerdl .
• ) Active II opci6n Most ••• t;c~ P"'I'.rrIlidor.., I. eint. de opcklnt$ ubicada en Opclonn principal.. par. t.abaj .. eon EItel.
• Hap elie
el boiOO Aceptar: II fie~ P"'I'lrrIlIdor se opc:iooes de ElIeel, I la deoecha de II fieha Vist • . e!1
2. Descripci6n de la '!cha Programador
................... -
~ 1.1 '" '"
~
•
.-,
......
,
_'-- -
"".. .dj
t.i_, ......
a. Grupo "C6digo"
...
Nombre del bot6n
"""'~
Visual Basic
Abre el ento,fIO de desa~lo. EI teclado es (Alt] (FIll. Muestra 18 liSIa de macros_ EI elado es (ARI (F8 1.
I
,I•
a la clnta de
2__ ._. 11_-..- - . , .... '8_
I ,
a~adira
Grabl, macro
~o
~o
abrevlado de
abrevim de Ie-
Comienza la sr"naci6n de una macro.
programar en Excel: Macros y lenguaje VBA
,
l1li
capitulo 1 Usa, referencias Seg~ridi>d
~ ati vllS
~m i l e
usa, referenci ... relaliva. a la primera cetda se· leccioni>da. P~aliza
de macros
b. Grupo "ContrGles·
II conligu,aciOO de segu'idi>d de las macros.
Hombre del botbn
D.,,,_
Inserta ,
Permile inserta, controtes (ioonularlos 0 ActiveX)
en
'-". Modo Oir.ello
Activa 0 desactiva ~ modo !Mello. En el mOOo Oi5el\o los controles AcINe)( pueden r.eieccionar.;e y modificarse pero 00 pue
Propiedades
Muesl'. las propiedi>des dei objeto Excel seleccionado (Mja 0 control).
Ve, c6digo
P..,.mile accede, directamente a l c6digo asociado al con· lrol seleccionado.
Ejetula, cuadra de di~1ogo
Ejecutl un cuadro de ,Mklgo personalizado.
o EI grupo XML perm ite administw
a~g,*,iones 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 barra de estado .
j~ 1
de 18 fiche P,op'lTIIdor 0 en el bot6n
E;ll de
II
• ) En ~ cuadro de d iiklgo que aparece, escriba ~ nombre de la macro, 50 desCripe",n Y. si 10 desea. el metodo abreviado de tecla. asoclado.
g-------------'VBA ..-"'<:7..'; -,;O!J\\"',.
Presentaci6n
-'.....
Ii,.".,
~-
mo,,,.
~Jx]
~
... "" "
"" ",,,•• if] •
~
"
.) Haga elic en el boI6n Aceptar para inic iar I.a 8rabacicln, 0)
0)
Realice en Excel 1115 operao;iI.>nes que desee 8~bl!r. Po< ejemplo. selecclone el rango de celdas ·ALBB', y aplique un ",lie,.., y un borde a 6BS eeldas.
~ die
en el boI6n 1111
""--.+ 1·1de la fiella Pl'OIrl~ 0 en el boloo
~ de la Mf1'a de estado pa~ delener la grabaci6n de I.a macro, b. Eje<:utar una macro Para ejecuta' una macro desde Excel:
0)
I• t
-•
de ta fiella PI'OI'IInlIdor 0 poise el
m~odo
abJeo
.) Hag
•! o !
!~ll
Hag
Para ';""alila. la inmnnao;i6tl ",tat;"a a una macro (~o 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, ~ferenciados "" las operacione!l de selecci6n, desplazam~os ... seran fijos. Por ejemplo: Range(' A2") de$igna to oeId,;, A2.
Si yaba una macro"" eI modo , !fel1lncl.s telal/llas. los fangos de ~do.s se,,'" expresados en ~laci6n a la (XISici6n de la pnmefa ~da activa . Por ejemplo: Ac~veCell.range('A2") 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 ac~va. Al
puede consider......, Ia were..:ia "'olivo a Ia primeu celda acT ...... Par. gt'abar una macro ron referencias "'ativas:
g
.) Hag.< clie en el boIOn ""ra de 0010. ,;a r. nja) .
de to ficha Ptolramador: el bot6n
n,
• ) Si vue/ve • hace. die en eI boIOn se graba r
qued.r~
activo (se
este queda r
Ejemelo
LA misma
de operaciones se IIa retlim~ IN> do$ ma<;ros.. la ptimer~ (RefRelaliva) se graM con /a opciOti referefIC~5 rellll'fn. la $(!fjunda (ReIAbsolu. tal, con la opci6n referenci.. absolutu. s«uerICi~
EDlr-------------------------,~"""E\~""I" 'OO'"7
Presentaci6n u secuencia de cpeiiK:ione5 /IS lit $iguienr/l: - se/ecciOn de
un flngo de uldas,
- despl, ZIf /II "'1lfIO do$ m
Selection. Cut oe.t I""tlon, _ Ra"'lO I"Co ,01 G" ) Ran90 I ' CO, Dl0 ' ) . Solo<:t ~
.~
Sub Rol Rolotlv.l l
.7"' .••
,""01'<.,,,,11 . Rango I ' A" 1. « soac<,on . Cut De. t i""oion; _,""Of """" ll .0f fO . . !>. ,",,<'vo""" _Ofh.. Il. II _Ra"".I"'" ,.7 ' ) . $<010<:<
'I .... ~ I' ''' ,.7 ' )
-,~
d. Definir el Iupr de almacenamiento de UN nueva macro Para definir ellugar de almlCel1amienkl de una nueva
rQI ~ bot6n ~
-) Haga clic en viado (Alii (FS].
- ) Abra II listll Graba.
~ro
~ro,
de la fichll PlOIrlllIlHIor 0 pulse
en y selecciooe el libro
~
en el que
m&ido abl\!-
desee erea. la
macro.
I•
•,• I•
o S; elige Ubro d . INCfOII pttSOI\IIl. la macro se erabar. ~n el libro pet'SOMI.dsb; II
macro
ser~
aoxps;ble desde todos los libros Excel.
capitulo 1
e. Eliminar una macro Para ellmlnar una macro: ~)
i:
1 41
Hasa eli<:
~o
able-
.) Se!eocior!e la macro que dese
I.
GrillMr un libn! coo
ITIiICfOIi
Pa r. grabar un libm con macros:
~) ~)
Haga die en eI boton viado IAIII (FSI.
L,~I
1
de II Ii<:ha Procrarnador 0 pulse eI
~o Ib~
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 1eC~ do Y descripci6n). seleocior!e II Opcionn .... ~
mIICI!:I
de la lislll y hap cHe en el botOn
guarda per primer. vez un libm con macros.
aparecer~
el mensaje siguiente :
.PI., ...0. .... ... _ ..... _ "","".too· · ..... _ <1< ........ ...... _ . . . . . . . . 5 ....... _ . . "_r~ ••....::
"'_.~.'••
.... _ _ _ .. _ _ ..... _ _
I
•
I I
•
Presentaci6n .) Haga clic en eI bolOn No pari
~nular
la grabad6n deilibro sOn las macros .
• ) En el cuadro de di~1ogo Guard.llr como. abra la lista Tlpo de I rchlYO y seleccione Ubto 61 Excel habi litldo p.or. mac,O$ ( · .~I,,") .
o Los lit>ros que conlienen macros tienen la exten$iOO x1sm (en vez de xsl~) y su icono se distingue por un
sJgno de exclamadoo.
Para Rrabar un nuevo libm con macros, tambiM puede realizar las sOguientes opeI'lICjones:
.) Haga elie en eI bot6n Microsoft OHIce
~l .
• ) Arrastre elllUntero del ratOn nosta la ope;';n Guardar como . • ) Haga elie en Ubro de Excel habilltado p.o ra INICtoI.
.
r. JU""" I _ .. to< .. .. .. OO'.to~ ."" ....... ....... ".""........ G',lJ""" I _ ... t"'.. a.·'·,,·,,· ·· ...·-.... .... 00.. I....., ... "........,....
....- ............... '" ~"
I ,i
~, I _ _ " '~" • """.. .. 00. ..." .." ....... .. _
. ......
"...."' .....· ,"p'OUOO..... •.......·
~
I
-•
~
,,
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 mod~icaciones 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
~
bot6n
l
• ) Sel eccione la opci6n deseada . • ) H
o
opciones se aptlca,'" a en Excel. P.,. apt!carl.s a
Si se cambja II! conliguraci6n de seguridad. las nlle'llS
IDdos los libr:<:eplo • los librm ya abierto:s 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
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,
Tambi~n
es pmible habilitlr las macros, soIamenie para esle libro, de II! !.i8uienle
mlrlefl: .) Hap die en eI boI6n seguridad .nleno..
I!II
I _ ....,- I ubicado a I. derechl de la ad""rtenc:ia de 'ISA Excel 2007
________________________________________ .) Selecdooe I. opci6n Habililar este las macros
ser~ n
habil itadas y
C<>I'It~ido
de5a parl.'Ce~
~ "~ e~n ~
y haga elic en el bot6n Aceptar,
Ia ild\ erteocia de seguridad.
DeWbiJila, ladu lao macros .~cepto las flrmldlS dlaitalmente Si las macll>S de un libre l>eoen firma d igital de un ongell aprobado, las macros poeMn ejecuta rse. 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, 100 01$ las macros usal esta
OjlCilln
se~n
habil itadas. Se r«OO1ienda no
de '0'''''' perm.nente.
o Cualquiera """ sea Ia opciOO ffiegid., ,,; se insta la un program. antivirus com·
pati ble con Microsoft O!fk:e System 2007, los lib"" 'I ll(' contenpn macros ser~n .Jlalizados antes de a brirse.
c.
Firmas electr6nica$ de matros
Para firmar digita lmente un proyecto macro , debe, - Obteroe, un certific.odo digital de Pl'rte de una aulGf'idad de cert~;:aci6n
comefClal, como Verisl'gn (WWW".verisign ,com), e ill5U1larlo, - Fin"" , d igita lmente SU proyectO. Para ello, pase al eniorno VSE (accesibJe desde
I:;WI
I., 0
,• •
i•
P"'lr.~)
eI corrwHldo de la ficha y seleccione Ie opci60 Firma d i.ital
capitulo 1 5. Modificar el c6dilO de una macro Para ;Jtteder.1 <:<\d ig<.> de u"" macro:
. ) Hap clie en el I.l0l00
L.il
t
viado (Alt] (FB].
de la IK:ha PrQlramador
.) Selecciooe Ii macro que desea
mod~icar
Q
pulse ej
y hap clie en el botOO Modificar.
EI <:<\digo de la mllCro aparecer~ en Y"" yenla,," del errtorno MK:rosoIt Visual Basic (yer. D. EI ",to
o Una macro
a un pto VeA es una secuenc ia de instrucciones a&rupadas en un blaQue de c6d igo que comienza con Sub y term i,," con End Sub. COfJej'X>nde
.. __ .. _ r_. ___ :.:.== •
--
....... _ ..... "". ...... ... .. "''',......, ,-,.";"').".,, . ....,'.............. , .. ......,..",... .""'. .............. ....,-,-., '-'''' ....... Yo" _ .
"'
~
-
-
[
...."......... .......,_,_......" .._ .... ,,""', ,-,,",. ... _T< • • • •, -, _
_ •• L"' •• ....<0,.,,_ •• "'.. _ ..
"
Puede modffica, 0
com~ta,
,
el c6digo denim de esle procedimienlQ.
VBA Excel 2007
Ej(:mplo Inserle el siguiente
cOd,go al final del procedlmienlo,
".1".. ..
"-9""" "El to ..... 'o ... S. 'ectlon.M
Pa ra PfObaf SU procedlmiento, haga elic en eI icooo Apart'CerlJ el siguienle mensaje:
~
""" :t.
......
[!] 0
""" ill tecla IF5l.
cIt,_ "..1"_
.-
r .... ,••
c. Asignacl6n de macros Se puede asoc:iar una millCro a di5ll ntos coolroles (botones de comando, i m~nes, etc.) 0 a la barra de henamienlas de acceso rilpldo para dar al usuario un acceso amigable y rapido para ejecula r macros.
1. Asoclar !.Ina macro a un bol 6n de comando
I ~) H~p
! ~) !
I-
elie en eI 00100
l*1
de la ficha PlOIrlmador.
Dibuje eI boI6!1 coo ill ayuda de 18 herramienla de la ba rra de Cootroles de fotmul~rio).
I_I (parte SUpo!
AI !!Olla, el boiOO del rat6t1. apaJeCe''; eI clladro de diillogo AsI&nI, macro.
•
.prog~,C'~""~'~'~O'EO""';"'M·~~,~~y7""O='"""'"~"V"BA "---------------'l1li
capitulo 1
It~1
2. Asignar una macro a una imagt!n
.) Ino;erte una image
.
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 pr«tisellOOa.lorrna 0 SmartArl, «<::esibles 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
[g?1"_ ~
(en Ii lieha InHfta. j, seleccione la forma dese3da y dioojo Ii lorma dentro del objeto que lIC.ba de efeat .
en
• ) 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
.. -
Estllo de for",. de I¢"-""_j luego en I .. 0
. ) En el mfsmo
SJU~
.) AIIo,a, al hace, dic en la forma, se
I
Of
~
Iicha FOfINIto. hag/l elic en Ii lisla
_
eiecuta,~
I la macro.
VBA Excel 2007
PresentaCi6n 4 . Asociar una macro a una imagen Control ActiveX .) Aclive el modo Disel'lo
l1i1
(si
es Que no esUa ya aclMl) con un clio:
e!1 el
bot6n
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 mod~;c." las propied.xies de iii im¥n (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 ejecllla r.
I
t .)
Desaclive el modo Diseflo con un clie do
! . ) Haga die en III
J•
e!1
eI oot6n
l~
de la littlll Proerlml-
imaeen: la macro Test se ejec:uta.
.,
capitulo 1
5. Asoclar una macro a un Icono de la barTa de herramienla de acceso rapido la barn de herramienta de KCeSO r~pldo un romando que permita ejecular una macro. Para eHo, Tam~n es posible insertar en
~)
@,
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
~)
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 columna de ta derecha.
~t>Ie
-." -- .-__ ,. _.'-
~
.
A_.
••
.
•
Ai'ep"
la macro pasar. a la
... . -- ..... ••
'"
"
:1",
A """"," A ",, '
[] -~-
.
--. --...- ...-. VIlA Excel 2007
Presentaci6n
.) Hagll die
ell
el bot6n Modificar pa ra selecciCIoa r un me..o icono para la macro.
Puede modificar el orden de ;os comandoos por medici de las dos fiechas !oiluadas a III derecha . • ) En la lisla desplegable !oiluada arriba a la derecha, puede seleeciooar su libn.>, en este QOO las mod~icaciones etecluadas ooillmenle se aplica ran 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 " mod ifica , y ptObar 5lI c6dillO YSA Este enlomo se llama lamblen IDE (Integrated Development Environment) 0 ed itor 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 ~rea. Windows:
"" " " _ ..... _
• ..-.,_ ....... ) I -
a _ - - - -' ..."',_ ---_.~.
..
a ,M .
---
2. Cerrar el entomo WE Pafa cena r 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
dades: .) Hap clio: en ej
icon<>
III de III barr8 de r,erramientas E$U...... .
• ) 0 PJl se el metooo abrev;ado [All) [F l l) .
4. Descripcl6n del entorno VBE
-
'OK _
.
""-'-' " ,-, ."~ ,, ''', .-'
...
o Todll5 las venL1nas del entomc V8E JlU"den ~i.....lilarse desde eI menu V...
I, , •
!
I•
capitulo 1
I Ver Microsoft &eel 2 In5efta r una hoi~ 3 Guardar libro
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
• eort.,
, ,..., 5
cop;~ r
7
Buscar
89 """"" RepeU, (2)
Et nptorarlor de proyectos
Cada libm abierto en E>:ceI t'ene I5OCi.xlo un proyeclo. Et e~pIorador de proyecl05 perm ite ve, todos los proyectos Y todo$ los m6dulos de cad. proyecto 5egIin una estlllCtU f. 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 hojas graficas y a los rormularios.
~ativas
al libro, a las ooias de
~lculo,
I las
VBA Excel 2007
____________________________________________ (4)
JP~resentKl6n
u vmQna COdigo
En eslll """tana
"ie erocuent'~n
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 desPega~e apareoe automMicamente cuando se escribe ~ roombre de un objeto seguido de un punto. La liSIa muestra 10$ metodos, propiedades y consllln·
tes
disponi~es
pa ra ese objela.
o Si I. li5l1
00 est~ act;"'a, ...leccione OpcIoMs en eI menu H~.mitnt •• y marque Ia casil ia USI. cIe miembros .utorNliCi de Ia liclla Editor.
(6) Vent.na InOMdI.to
,-
~rmite mos\1ar 10$ ~alore$ de
las variables, mod ificarlas, y e;eclll.1l '
tas
instruc·
(7) Vent.na Loca les
Contiene loclos los va10fes de las variables del procedimiento en curso. (8) Ventallll InspecciOn
Contieroe todos los v"'ares de las variables que
~a"""'te
hay.n side definid".
como expresiones de inspecd6n.
I• o
·t
,•
La. venlllnas '"medl.to, lOCIIIH e Inspeecl6n se usan principo lmenle par. Ia depufaciOO de apHcadones (vef capitulo 91.
(9) El Ellplorador de objetos
•
f'errni«!
vI""'~lizar,
p. r" cad. objeto, 50S ptQI)iedades, metodos y constantes.
I•
• 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 apar«en e!1 azul; los Dbjetos, ~kxIos ~ ptOI)ioedades, en negro, Y los come!1tarios, en verde, Las instruc, ciones que cootienen erroteS se destacan en II.ljo, . ) Para mod ificar 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 ed~or ,
_.-
t_
'_"_ 1_1_1
-,-, -
100.-_ « , .. 3
1'0 3
•
1" ..... _.~ .. _
2, Configutaci6n de la Inttoduccl6n de c6digo Exist"" difefl:mtes heflamientas Q»Il facilitan la introdlJtCi6n y la actualizaci6n Oef c6digo VSA: per ejemplo, la comprObaci6n aut<>mitica de la stntaxis, I. declaraci6n obligatoria de las variables, las instrucciones que se completa n a.rtomaticllmente, etc, .) Para activar estas opciones, seleC<:iooe ()pciones en el menu H....... mlent.ls y hasa elic en la ficha Editor,
.--------------~_=~E="~.~2~OO'"
Presentaci6n
Q _
. . .. ""
"",,0.,'"
.i,
I·
Q-_ . . . "_.oo Q
_"W,,' ... _ • .'".. ~
3. Gesti6n d-e efTores Las OIlCiones de Inte-rceptacoo de errore'> pe-rmiten estlIbiecer si cOdlgo se interrumpir~ al ocurri. un error de ejecuciOO . • ) Para acliva r esta opciOO, selecdooe Opelonn en elk en to Ikha General.
I• .~
•! •
I•
~
I~
eje.::ucoo
~
menu Herrlmlentu y hasa
Capitulo 1
"I"
.....
0
..... , -.. __ r-..._
' 10
~--
.........
c ..... _,_ .. _ ......"'"
f;;
w..- ... _ ...' _ .
,. <>oh _ _
••,_
~_" .~
- ..--
,.~.-
,.~
.) Si W OOdigo '1SA inc:tyYe una gestiOO de e,rores, sel«cione la GjXi6n Intllfl'URIpi. en errore$ no control,dertos ejem~ 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 autom~ tica ment e
"hi , .) Para delini , las ventanas que desea acopIa., seleccione OpciooH en el menu H...umianta. y llasa elic en ~ lich
otras. l uego haga elic en
Acept",
VBA Excel 2007
PresentadOO
5.
E!egir las ventanas que h.ay que mostrar
Nombf. de la _.na que My que
Menu
Teclado
" PrOl'i .d~
Prupiedades
• V,ntana
'-~
• Explorador de pl'O)eclos
Inmedlalo
Barra de
• Ventana Inmt
Ventana Locales
• V.ntana lotlIles
E>:pIorador de objelos
• Examinador cit objoetos
M6d uk>
• C6digo
IF7]
F. Novedades de la version 2007 1. Novtdades de Excel 2007 E>:ceI 2007 fo
~uete
Microsoft Office 2001 (Iam~n l!amado Office 12) Y "" benefICia , en consecuencia, de II mayo< pane de las mejo
1 "
10
Otras no.'edacles que incluye ~ 2007, capacidad eene,al au mentad. (aumenta la canlidad de fifas y coI um nas), mayo, facilidad en II redacci6<1 de I<\,mufa.,
l!
""'jorM en el formate condicioolll, tabla. El«:el, fiHros y O
, I•
•
Capftu lc) 1
2. Las novedades de VBA Excel 2007 AI contrario de 10 Que ocum! con la Interl&< de COI1selV! sus mentis y barras de herramientas.
~.
el entorno de des.!rroIlo
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
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 fofma tos coodiclonales: Oata !la r (barra pa ra IGrmato condicioNl de una !larra de datos), JconCriterion (represent.1 eI criteria coo un icono I nd i~id u.al dentro de un joego de Iconos), etc. - nuevas metooos del objeto Wor',(boo4(, ApplyTheme (pennlte aplicar un lema I un li bm) , ExpottA5FixedFonnat (perm ite 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 visib~ "" la clnt. de opciones), Show MenuFloaties (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
39
las mM"los
3. Importar y exportar cOdigo V8A .
B. Procedimienlos . · . . . . . . . . I.
Definiciooes"
2 . Acteso
·
.
.
.
40 ,
· . . . . . . . 40 40
.
a los procedi mientos
41
3
procedim;eo!!l5 S"b
42
4.
proced imjeolos 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. lIa mar a un proce
47
10 I la mar a IlDa hmc;6n yBA en " oa 16rm"la F' rel
48
11, Eiemplos de proce,;fmientos y funciones .
· . .
.. , .. .
'I'
50
ate
C;tpitulo 2
c, Variables
• • • • • • • I. l iDOS de variabJes . . . . 2 , DeclaraciOn variables
••
• • • • • • • • • • • • •
•
· . . . ·
'"
DeclaracOooes exl1 l(cilas • . c, Sjnla ~js de las jnslnujooes
57 57
,
·
'"
58
declaraciOn
3. DeclaraciOn d, 100 lilXlS de variables •• Declaraciooes eJ(111(citas d• tipO
••
D,
Malri~es • • • • • • • • • • •
5,
CorslaOies
2
E,
Conslantes oersonalizadas Constanles inlegradas
64
• • • • • • • •
Insl[!lccj6n IE • • Inslo,ccj6n Selecl Case
Fslructuras en cicio • 1. Instrucd6n Do.. ,looo 2
"
61 63 63
Estructuras de decisi60 • • • • • • • 1,
59 59
Declaraciooes iml1licilas del til!O
4,
•• ••
52 57
Oedaradorles iml!lidlas
••
51
• • •
• • •
67
• • • • •
70 • • • • • • •
. · . . .
• • • • • • •
· . . . ·
Fo(
InSloICcjen for Each
5,
~Ij( ~
72
Z4
('jed
4
72 74
InSlmccj6n Wbi le Wend
3, lost[]lCJ::ieo
66
76
Nell
las ""tDlclmas de rnnl ....
• • • • • • •
• • •
ZZ
VBA Excel 2007
Ellengll
F,
Operadores
, ,
, , , ,
, ,
1. Opeflldores arit~icos .
2,
, , , ,
,
,
,
,
,
, ,
,
78 78 79 79
•
Opeiadores de compa raci6n
3, Opefllclores 16g;cos .
G,
,
, , , ,
4, ()pefadof de coocatenaciOO .
80
5, Priolidad de los operadores .
80
Reglas de escritura del cOdigo 1. COmentarios
2,
Caracter
,
,
,
,
,
,
,
•
,
, • •
,
continuaei6n . , , , , ,
(Ie
3, Sangrias.
,
, , ,
,
,
,
,
,
,
,
, ,
,
,
,
4, Nomtxe5 de procedimient05, variables y constantes
,
82 82 82 82 83
capitulo 2
A. M6dul05 I . Preserltaci6rl EI c6digo VBA asoci600 a un libro esIA agrupado en un proyeclO que contlene v~r"" tafjletas,
La calJll'la MicnIsGIt Elcel Objetoo
Contiene un m6dulo de da ... .....ciado ~ !ibm del pooyecto (IIarnado jKlf delecto ThisWorl
La carf)ela Formul.rios
Contiene los Iofmularios (UserfO"" ' del p
La cafjlE!ta MildulGS
Agrujla los
di~entes
m6dulos estIInc!an!5 (compuestos jKlf una 0 m~s 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 esc~tuno de los proc;edimientos de l!YeflIos asociaoos a los 00. Applic:ltion y Chart (wr eapitulo 8 ).
;.tas
La li.la de todos los m6dulos .jlIIrece en forma jef&.quica en el Explorador de proyectos del enloma Vat:.
o Si el ~adOf de proyectQs no esta a la vista, eliia I. opci6!1 ElIpkndor de proyectos del menu
V IC 0
poJlse el
~o
abreviado [elM] [R].
o Pa'. ver el t6dillO asociado a ~n m6d~Io, ~ dobIe elk: sobre el nom~ del m6d~Io.
Los elementos del lensuaje VBA clesc:ritos diferentes m6dulos.
2. Acceso
~ los
ef1
este ~plt~1o poecIen USIIr5e en los
m6d l,llo$
Pa ,a inserta, un nuevo ""''''"
~,~
VBE. use I. opci6!1 M6dulo del
men~
I. barr. de i1erramie<1tas Est'nda, y l..ego
I
Insert.o" 0 haga elc en en M6dulo.
, :1!
0 Si III ventana M6dulo est. maximizada, el nombre del m6dulo IP/lrece sobre III barra de t~ulo de Microsoft Vlsu.al Basic .
,I
Para ~~~:, ~-,~n ....m6d UIo. 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 Qu~armodu/o e IlIdlque si desea e~r a! m6dulo 0 00 .) Para dar oombre a ~ ventana de Propiedades
m6d~, ~ ~ambie
active el m6dulo. S; e5 I. l>l'lpiedad ru .... ,
nec:e5II~o.
abra II
3. Importilr 'I e~portilr 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 0~i6n & porb. ard!ivo del menu Archivo (0
lJJ extell$i6n del archiv<) e:reado depende del
ti ~
de arch"'" exportao:io,
- Los m6dulos de a.se (m6dulos asoc~ al libro y a litS hojas y mOduios de ew independien~) !~n 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"" perm i!en descomponef UM til rea de programa";6n compleja en un conju n!o de tilrea ...... breves Y sifT1j>ies, Pemlilen o rganiza. eI c6dieo dentro de mOdulos pa ra ob!ener un c6dieo de mantenimienlO mh sim~ y lacilmente reutillzabie.
YBA Excel 2007
EI lenguale VBA En "'SA Excel, se distinguen tres tlpos Oe procedimientos, - los procedimienlos Sub (pot subrutina) dimiefllos Sub, - los procedimlerrtos f unction
se
!I~rnan
subprogramas
° proce_
se lIaman furICiones,
- los proced imientos Ploptft)· se tl.lrnan procedimientos Oe propiedoo.
,-
En este capitulo. solamente res Inleresan los
m~odos
"'BA,
- ambos acepYn a.gumentos, - ambos pt>eden se' lIa mados desde 01"5 funciones u 0If05 proced imientos Sub.
- Ca.acteristica especffica de las tunciones, - dwueiYen valores.
2. Acceso a los procedlmlentos .) Pa .. accedoef I un pmcedimiento d...oe II ventlna de c6d igo 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 proced imHffitos 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. ilqUietda de I.l linea y ha.ga elic cu.ndo at purrtflro.., corrvlerte en un/> lIechi>.
I~ , .,
.) 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 euaiquie.~ linea del proced imiento. Cuando el punte", se co .... ierte en una flecha, haga doble elie.
I•
• PI09lamar 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 p«X:edimiento, selettione toclo el proced imiento. y pulse
ISup,]'
3. Procedimientos Sllb Hay dos tipos de p,ocedimientos Sub: los procedimie<1tos Sub iE'nera~,
- los procedimientos Sub asociaoos a eotelltos, Un pl'ocl
EI 5iRuienre ~im~n lo JeM~1 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 ej«.ura~ COil un botM de romJJndo 0 una OpCiOO de mo!lIIl que permita abandonar Ia aplicaci6fl,
Prin<* s"" .,..,..,1",," 0 "
HogOOxl ·,,,,, ••••• 11, s<."' · , vl;>Q»on 1on • vb • • • "'"
• vbY . .
n.. n
"PI>)j cation , au 1 <
~
1m
"
VBA Excel 2007
EI lenguaje VBA £1 siguien le piOl2dUniento 150ti~ • un e'tefIto abre aulOm.tlir:amenle el /ibm Ven!(lu/s clhlndo se able el libro Re.umen.~I!. £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. ~.I¥ote
•
Sui>
IIOC. " oolu)pe" 0
ll> •• el Ub
v... t . . . . I . .
IIOrlo • •. Open f ll ........ ,. 'e, IV""'''''I VENT"" .x lex · "" t ho ol lib .... ••• _ W lhdow'( · ~UMEM. x l. X ·)
.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 ~a~ Visoal ~ incllrye ll\lmerosas lunclooes inteeradas, tales como las usadas en cilcuios con leckas (day. week. )'elIf. Io",,~ , 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 ..... '·.
I
v~ .' l on
• v bV . . Ko) • v bY . . Tl"l4>n
"'<"1,,,,< •
t_
IlO. 1 . . .1 ... < • • • loe
i
•!
!•
Programar ef1
E~ce :
Macros y lenguaje VSA
"
capituk) 2 5. Dedaracl6n de procedimientos SlntIIllIl
\Ill
ptOCe
(Private I PUbli c I rriendl [Static) Sub NomProc {[116 ta de argumento B]I •• ecuenci a de inBtruccloneB> End Sub Sin!...i. de un p'oc:edimienlo f unction [Pdvate I PUblic I Friend] (S tati c] Funct ion IiOmProc 1 (lhea dB a rgumentoal) {As l '8ecuencl . de in&truccionBa> End l'\lnctlon
Par. crea r un proc:ed imiemo Sub 0 f unction, ... deben resj)elar los siguientes
,.,"
- determine eI alClJ'ICe del PfOCeclimiento. - declare eI proced imienlo seeun !oil iiIX' con la palabra dave Sub 0 fu nction , seeuid.
_ en eI ca50 de una funci6n,
~i t!'S
"",..,'orio, IndiQue el tipo del
v~r
devuello
d"""...es de II palabra clIVe As , _ red",,!e el c6di80 que permita e!ectuar la OJ)E!raci60 d~_ 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:ed imiel1lo 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 proyectos Excel.
kH;
m6dulos de tod"" los
VBA Excel 2007
Et lengu,* VBA UM procedimierrto PrfIIlte soIal1ll!11!e poede "". lIamado
La palabn clave Static Indica que las
va~ables
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 proced imien\tl$ panlmetr05 de diHos. La cantidad d~ "gumemos poede varia. d~ 0 a va.ios.
en forma
Pala d«Iar!lf un arJtOO1ento, baSla esj)eCHicaf su roombl'e. Sin embargo, Ia sintal
(ByVa l
I Byret] (A.. type)
(param.>.rray )
La OI)Ci6n Optional
ind ica 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"'-
La OI)Ci6n
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 proced im;eolo al que se io
Byval
"".
I ,i •
~
!•
La ol)Ci6n Byref (opci6n par deleclo)
Indica que el a!iumel1lo se pasa par refereneia, En este caso, eI proced imienlo poede acceder I 11 variable propill1ll!11te dicha, de esta manefa , !oil valor real puede ser modff;cado por el procedimiento al que 10 pMII.
La palabra el .......
se usa ilnicamel1le como ultimo argumento de I. 1,,1. par. Ind icar q..e se Irala de una matriz opcioo&l de elementos de tlpo V.riIom. Iio puede usars.e coo tas pala· bras cliM! Syvai. ByRe t " Optional.
p.r&mA.rray
l'Tog.ilmar en Excel: Macros y lengua)e VBA
capitulo 2 e!.pedica el oom~ del . 'goolenlo. Pala las variables de matnl, 00 e!.pecifica l su d imensioo.
Vari a ble
""I"!cilica el ti po de datos ~ argumento pasac10 al PfO" ce
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. ~bHidact de los 11...,00"" • proced im.... 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 sintaxi~ de
los argumentos con oomb' ......,
lIomArg , _ valor ~mp/o
EI silluieme c6dil/O V8A, ... lir 4. I. ~ p l1~ .~ I6nI · . _ .DY.oKo • vbQu
It MogBoKl ' ,""'"
-" If
_Box IP,,,-c , .
vl;>y • • "fh
',OOOU •• lIr "" 10 opllooci001" • • "0<0.'''''''.."0 ' v!>Qu •• c lon. _ Tltl., . o","o"Oo ... ve., . . vb.u "'.n "WI le.' iQn.Qult
O, •
~nd
If
EI Iel'l9uaje VBA
If ...... 1>O . IP~ t, . ""Do ... .. Ii< 4e la .pl!cocI6nl",
<10 v~nU o ' , _ Bu.wHeat Ion ,Quit Tltle, . "~ .tl6n
."" II
o EI nombre de los a,gymentos aparece aUlomal;camente en eI enlo
9, Uamar a un proce<:limiento Simaxls 1<:.. 111 NomProc
(l h U
de .. rgumento&1
5i se indica la palab,a clave call, debe coIoca, la lisla de aJ8umentos entre
I
,~ !
•i•
parbltesis,
-) Para aimaceflll' eI resulla
U$t!
la $iguiet1te
sintaxis, • NOIIIPr OC
1 (lh t .. de argum.mto&1
-) Para lIamar a un procedimienlo doe OlIO m6dulo,
NomM6dulo.NomProcedimi e nto
~
J
la siguienle sintaxis:
capitulo 2 Ejemp/o
ITllI oWo rlll><>O • . sal I r _
lop II
-) Para lIamar a un proced imle!lto de otro libro, use la siguiente sinlaxis: "NomLibro !NomM6dulo. NomProcedi ",le nto'
Applica~ion.Run
o P~r~ ejecular este comando, ~ libto Ve<1\nds debe es\lIr ~bierto. 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 ~si$le<1te para funciones de £xceI (categQria Funcio"u Definlda. par eI ...... rio).
Ep.mp/o Este ejemp/o uSl una fuoci6n VBA de su fecha de nacimiento.
"U<'! calculI!
/11 edlKl rJe una persooll II parti,
',,,,,,
01 . ,FO<:M ....
on •
. ".1=1 ... _
c.lo ~"'4.
... ,,,,,,,1601 "" I.
!..,.......
" . OM " OI.leMdl "YYYY ' . 1/ n oon. , 01.<0 "'en ca l <; ~. 4 _ ".10_ EM
"-0""_=
h"MNao. oatell calo.clad . (""MN''''
loboIOl.teO lrf ' "UU ' .
""'o"on
4 . 1
-) Para Y$II, esta runci6n e<1 £xceI: - Seleccione la opciOn Insert .. funci6n de II lieN FOI"mulu
El lengu3}e VBA
En el cuadro de d i~1ogo InHflat funcl6n , en la Hsta 0 seleccione una Cllielorfa , elija OeIInldiS pot tI usuaoo; la /uoci6n CakEdad estat~ BOOr! aocesible,
'-"" '".",".
-
~!3ll
....""',-"'''' ..... .
,
,,'"'''
_.............
,
~""-"""'".
~
•
1 __ 1[.-.
- Seleccione la /uoci6n y haga elk en Aeepta. ; el cuadro de argumenlos de la /uoci6n como se ve aqui:
di~1ogo
Ie pedi ,-' los
."
I•
.........."""'"
-II~
t
•! o I• •
Este ejemplo muest'a la importaoc ia del nombre de los 8rgumentos de las luociooes, cuanto E
m~s
e. plicitos .... " e.tO$,
m~" f~iI
sem usa ' la funci6n en
Capitulo 2 Ahora puede mod~icar la f6rmula para Inclui r el te.to "alios" y extender la f6rmu la tisla,
a tooa la
EI resuHado en Excel es
eI siguien\e;
' . -- -,
, we
~.
I'
~
.
-,~
-
l l eEjemplos de procedimientos y funciones Copiar e/ contenido 00 una tabla de
~alores
en la hoja de beel aCliva,
Sub Mootru Tob 1011 01. ToW .1 • • Vorlont 01. <:01"" ...... ngo 0 1. I .... Int"'lU , ....... n .1 COII •• ~ I 40 cIo 10 .011)0 .~ I . boj . 440 12 " , ".A,,.12 " 1
Porj.O:ro,
u....,.'".",
Set <:01<1& " j " 11 U ...,.11(<:01<10, ".bv.I(111 ""on >< ... _ "w cold . . . octu.II,O
,,-lUg"'"
Next~I
"
CQn
h lte"
"w c.ld> no •• pu
in
o EI c6digo de ~CIS ejemplClS debe escritlirse en un m6dulo estaMa r 0 en el m6dulo Thi.W""kbook.
VBA, Excel 2007
EI lenguaje VBA ~
funci6n
ce~
/.I~II
infrx'rN sabre el valol a5i8nNo a una
ce~.
se Ktwliz6 COfII!C!.tmeme, y raise 1M easo conua,io.
Print.
""''''iQn
IlCellIC~ ld.&'" "'~.
Devuelw! rrue si /a
_
valor ... Variant) ... Bool ... n
, A. . ... U . .... 60. ... """ eel'" • ,..r . . .
IlCell • . . . . . U ""t lO~tyIC.l ... ) nen h! t runet l on
OOI .... v.lue • v. l o< If COI .... T.~t
<>
· . v~ ' ·
n.n
10(;.11 • T",. In
In
- ) Si proer,., este ejemplo. obtend ra el siguiente resultllOo:
I:!:I t .......J1...
,, . •• ,•
•
I
1 laueuro;
""
. ,YAlOR! ll.m
La tert:e<"a celda 00 se pudo actuali:ar.
C. Variables
I
Las .a~ables permlten almacenar valores Intermedios d~r~nte la elecuclOn del c6d1· go VBA para us.a~os lueeo en clk:ulos. comparillCiones. pruebls ...
se idenMican par un nombrt que permlte hillCer relefencil al valof ~ que cont~r.en y un tlpo que determ ina la mrluraleza de los datos qllt P'-~ ,
Las
vil~ables
~ almacenar.
!
!•
capitulo 2 I . Tipos de variable5
Ranco
•
Decima l
+/.7 9228162 514 264 337 593 ~3950 335 sin 5eparaOo< decimal; +"' ,922816251 4264337593543950335 con 28 c ~ras a la detecIIa ~ sepa r~ 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
Las clldell!lS de Iongilud liia poeOen eonlene' de I a apro~imadamenle 64 Kb de carod"'.....
fiffllplo 440 1"",,1004 ¥ . . lolIlo 01. """-1011 10 A. 5 «lng ·e ...... • 440 1"""10.... til. ,,0 o •• .oc ..... 1 .~
01 .
H,..,oro ... S t ring '
Boolean
0
20
I6Jjca
EI ~po 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 de eoero del al'lo 100 al 31 de diciembfe de 9999. Ocupa ocho bytes.
dej
primero
Variant
I ..
!
:t!
Las v.,Iables de ~po V.'''nt poeden oon_, datos de todo valores espedales Empty. Em>r y Null.
~po. ade~s
de los
Usar el tipo de dalO Va,ian! Dlrece mik ffexibjlidad en eI trotamiento de datos. Por ejemplo, sj una variable de tipo Varian! oontieoe c~ras. se puede usar su valor real 0 su represen~i6n en forma de cadena . seg.jn el eontexto.
I
I•
• programar en Excel: Macros
y lellguaje VBA
capitulo 2 De looas Iormas, las
v~,i~bles
de lipo Vafian\ plN!de _ pe~ udi<;ial en el co", de pfOCf:dimientos lo'gos 0 en m6dulos CQmJIlejos. E~mplo
' _ ' a nd'" ... ,. n."''''' 'Vab' • ..., VA . ...... 01. vol x A4 v •• i.ot • ........ d b do ...... ~o ...... do " ' 0 ' " 0 10 'y ~' .o tlpo d. l r •• ul •• do
• •,
Yo""""
',0 do ' •• ~r
v.lx _ '0
I<09IIOx Vab ·.j~'o
do
I;
•
~.
""
tlpo •
I;
"",",,,,, . . .
(vohl
a•• i DJ
vd o • ' aje,,!,'o· " 09'1000 "oh • ' eo M tip<> • • ~"""'(Valxl ' •• to _ltlp U . a •• 4I> do IIOIolIh vah . 12S00.n · lE.ll > • • T'yp<>"" ... (Vob l "'/1/' " do na •• val • • n ll/ ' " >
v.h • T",. >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:> ~po Objelo y 1""80 asi~1e 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
El lengua)e VBA Ejemp/o Sub Vnlobl . . .ooj.to(1 ·n•• •• 40<:1. . . ~.., oI>j.
'...,,11 •• dee,. . . . _ • ....... ~lalr ••
.... j . . . . ct'.u,g <.., .... U.~
40<:1 . . . 0 •• ~e.t .... ooj.ct t>l. NC-::lI .... IIOrk. h...
0'• • ' ~r' . 'r .... onort Md
~ub
-) Para asignarle un objeto a Ullll Set NomVariable •
valia.b~
Objeto. use la instructiOn Set:
ObjetO!lA~ign"r
Deda raci6n de u"" variable ZonaTest de.tin1ld~ a conle".., un objeto Range y asisnaci6n de 1.0. relda. A6. 815 a est. variable:
-) Para iilllljii'M ta asoc;aeicln entre una !Jguiente sintaxis:
variab~
y un objeto
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.
I" ,•
Sintuls Type NOOOTl poPeno
NOtIll!letoentol ... TipoOa to • NOOdI_nto . ... TlpoOatoo
!
I
"
La rlefinici6n del tipo $Olame!1w
II'~
hac
mOdulo.
·p:"""',,:m:,=,C,=", ",=,,,:c-,'M"oo,:~::-:y:-;;":,,,=~:~"'V!lA ""
---------'El
capitulo 2 fjemplo Declarac;oo de un tipo pe"""",lilltlio cOilstiluido per una ro 1m el m6dulo de r;6diflO P~.
lelr~
y un numero en/eo-
.. "P<' 0<<00"",,_
P<" TyP'
"'"
~.u,
.. . ",.." . ,
M _ . o " I.t .....
contro/M Ioz r;6digos de ~r1lculos inlrodocidos de la cekkl 811 de /a /toja de cSlculo ;teli.a. En caso de error. $I!
Usc del lipo pe"""",lizado
f»'~
I. celda 86 ~ m/Jt'stra un meflSiIlje.
", "'_T.. , .. .'.~,:,"'"" ,,_ 0.11 . . ..... Co."o', ,•• _'OO' .""""'...,,_
.. , " ..T,.. - _
,".. ,1,,",
"" « .0. OOTo . " . . "
' 0 . . . . . C.ll I. "'_T•• ,
''''''''.L."." <01'.,......... (1 . CodJz .. . . . . TO "
,
oo".~
tI · .... ,
... t ••• " , .T •• ,
. . .t
"" ...
P,-oo ... " ...."' ... _ " , . " . . . .. . . . . . . . . .. 1<,",, "
...- ,
COil ."" " _
••• " <""00 "
••" " . ' "
.0<." ..... - • <011
VBA Excel 2007
EI lenguaje V6A
2. DeclaraclOn de variables Para crea r una vMi!ble, debe declararla, e'5 decir, dane un nombre . Luego puede usar ese nombre ~ '" mod~ica' ~ valor de la variable , usar ese valor, etc.
La declaraciOO de i .
vatia~e'5
en VBA puede ser implfcita
Q
expl icit •.
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 Req uieren ,,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
varia ~es
u.. ndo II! inslrucci6n Dp!ian ExpIk:~ en la secciOO de dec la
Ej!mpk>
I
,i
1>1.
,
. ,iv" . ' ~<'8 Ao Doobl o OUblie Noob'8 •• St ring
•
~
I• Programar en Excel: Macros y teoglJilje 'ISA
"
capitulo 2
o Para opIimila, la vekM;idad de ~ec"dOn del c6d igo VBA,
SO'!
recoOilienda decla-
rar la. variables en forma expiicita,
c. Sintui5
de
las instrucclones de declaraciOn
Nomvarhbl" lAs
Di m
CUll_
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
Public
SoIamente a niffi de on6dulo , Las variables declaradas con I.. i..... \fllCCOO Public son accesibles desde eI conjunto de m6duios de todos los ~Ios ~ abiertos. Si la inSIrucci6n Option Private Module SO'! especifica en Ia se<;<;i6n de
Stati c
SoI"mente • nlYel de procfdimiento. las v... iables decia radas con la in$lfUC(:i6n Stat i c con""",. n su valor du rante toda I. dlll'aei6n de I.. l'jecociOn del c6d igo.
VBA Excel 2007
EI lenguaje VBA
3. Oe<:laraciOn de los lipos de variables i.
Detlaraciones expllcitas del tipo
Ellipo de Ia variable se especiflClll'fl la declafilCi6n. Ifas Ia palabra claw As. Ejemplo Sub 1'OuIAcWl" oj . Tota l a. I n t _ r Sta tio "0"" •• 'nt .... e<
.cu. .
1'<>tol • Totol • 10 A<:"", •
10
·"""".h• • 0 on c ..... j""",60 "". procodlaianto _BoX Total ·"".... h. '0 on 10 p. J_.o .j""""J60. luogo ~O • • • og"lftd. VOl. ')0 10 tueo • •. oto. _BoX AcWI
.".. Sub
""ro.
OUsted puede declar3r mas de ,m3 variable en uOI misma instrucciOO alenti6n. el ~po de dalClS soIamenie ser' ienido en cuenta para la ultima varia· bIe. el tipo Variant se asignar~ a las OOas.
Ei!mplo
u siguiente instrucci6n
flee/ara /a van"able !dentifjC
I• .,
~
!
!•
de /ipe Variant y 1.1$
l~tO\l.r
b. Detlaraciones Implfcitas del tipo £1 tipo de variable se declara po< '" uS(! de un wlijo ci6n 0 po< Ii lostrucclOO OeIType.
l'fl '"
momento de
SIJ
uli liza·
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 v~riable como /ipo I./onelario (Currency).
DefType E.tas instruccOones se emplean en I. ZOM de declarad6n del m6dulo par. defin ir los tipos de datOl5 po.- dMecto de ~ variables cU)'OS nombtes comienan por 1015 ca ' lICte
Lista de jnstruccior.es o..tType,
Ti!lO de datos
In5lruccioln
""""D.
Boolean
00"",
Oefi nt
Intege(
OefOate
Oate
"'''-
t..
VBA Excel 2007
EI lengl.!
InstruW6n
Tipo de datos
"""" '"""' """ ""'"
Strin& ,"""",
Object
Sing1e Vllfiant
[>N" """,.
By"
fjempio Tod.1s IllS VIt,j~bIe5 CU)'OS nombres comienl"n par una /erra K Y par lit letflJ N son variables tip<) entem (Imeger).
*
com~ndiw
"ntre I y
IDennt l -~. " Las v~riltble5 que comienzan pot una IetIa comprendida enlf!! A y H se<~n de tipe cadena (String!.
l""fSt~
...~
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
I , ..
~
!
I•
ta mat/iz ten(!t~ dimeosi6n libre. matnz tendr~ un nilmem deltrminado de elementos.
- Si SO! omite este argumento: - $1 se Indica un VIIIOI': lit - $ 1 S!!
too"a
e~ntos
LimitUnf To Li mi t .. Sup' II maw tend'~ un dete
Po, deleclO, eI melIOr valo, dellndice de una rnatriz es O.
numero
de
Capitulo 2 -) Para rTl(Mjnicl' el menor valor del indice. use ~ instnocci6f> OptiOA h . . l4 .. no.-Val odnd ic .. en la se<;ci6n de declamci6n del m6dulo 0 use ~ ';ntaxis Li mit e In! To Llm lte 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_ E~mplo
EI siRuiente ..jemplo m,,",.tl
de co..",ers;oo
-,
Yae .... =" ~M' Yoe"".
--.. . .. -- ,,,-),, - "".>7
II
' .etlU< ~" .ael!.iP ~M' 'ac i TL
eufOS para cinco palses. ~
~,
.~ . ll
.. USf)
Sub Mu •• t,o_ . oetocll 0 1• • 0 1. ,.. vorlon t 0 1. hct o,!!1 ... l>oublo D1. I "" l onge r • £I.'a ... pOlo . . • 01• • ~r<.y I' o.one 10 ' . • ... 19ICO · . ·"I .... n l.· . · e ........ •• ·
• Ll .t. ... lGO facto ••• . 0ctor101 f oel'l" 'Oetor III " ou , . 00tor121 ' oeO,,", ' «torlll ' . e ~S. • • 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'
0._ toOfacto
•
Ao
II
Integer foo
L.. . . . . . pol ••• y
r.bFa«o
"" • "" " ""
"" "
.~.
· Sflgico ·
• Foe BS' • Ia· • • · EOp''''' · • Fael SP • '''alla" • ••
·"I ..... '.00""
, JO... . . . . I"" p . . . . . Y .... he.oroo _
1 ..... , . . . . . Uodo
au. ...
Po.i.OTo ' o l
He xt
j
5. Constantes Una constante pefmite asigna r .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 el tipo de datos ..., puede .... un objeto (Obj..,!) ni un tipo pelSOl1alizaoo (Type),
A. TipoDatQ
..., puede ser yna func~ de!inida funci6n intrioseca Oe Visual Basic.
pol'
eI usuano, !Ii una
fi!mplo ~I'UMS
Oe<;lamcm de
COlIS/antes,
SUI> <:0 .... 00.000
COruot VaU c.".... Val~ C<><>at VoU 'II tlpo 440 <:ono. voU
_ ' ...... . " _ IU • ns.os 440 .... . . _ 1. .... single . . . . . "
' •• ...i • • ....,.... _ .. . CO.ot Vo" • VOl' • V.H
CoIlo . VoU • Voll • • cu . . to • • VoU '1)_10 4. O> """.0. VoU • • 1. 1Vo U I
. n
Las constantes usadas 1"" los objetos Microsolt UceI va n prece;:lidas par tas W!t,as V; las consta ntes 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
palabrl Con$tants
en el ieooo
Offi
!~! 0 puls.1lldo II tecla
de lunci6n (F2). Escritl!l II
la lisla de$plegable Texta de bUsqueda Y luego Mga die
1" 1, VBA Exc.e! 2007
EI lenguaje VBA
4)
Para obIene, III IiSla de constantes Visual Basic, i>'OCf!d! de la si8uiente mane
18 ayuda de Visual Basic pol medio del Ic:ono he,ramientas Est.indl f 0 de la tecla IFl],
de III barra de
A~a
- Escriba la palabrll 'Constantes' en la zooa de b<.isqlleda y haga elie en eI botoo 8 USQf:
• '0
;jo"' . "
= ~== ' .~,. . . . . . . . ._
I i, !
!
-•
..
_.~
-
-
.
'-_. -
..__ . _-
- - : . " _ ' . __ 01"' . _
0 ..... ,
• 4
.. -
' .. ~
Programar en Excel: Macros y ienguaje VBA
•
•
capitulo 2 y lisla de constantes clasWcadas
pot"
tipo
esta ,~
-
"'_ ........ __
..
ahor. accesible,
_' * _ ........ ......
,"OI',,"" _ . _ _ .. .....- ...,....... "n., ,_ '-..
- . . . . . . . ... - - ' -
~
... ...... ,
, _.. ' COl''''',,)
, ", ,
,
<",,""'It .. -: <",,",It ..
.. ,,,,,.
'Oro'","" IP"I ' .. _ , W '"'' """'.',;C
r " ·,,, ..
-..,.~.., . . . . _ "
D. Estructuras de decision Es conveniente testear las condiciones
~~iClPS
antes de ejecuta ' las iJ'l5tJUC'
dolle'S. Las estJOCluras de decisi6n, lIamadas tamb~n altemativas 0 bifufCaCiorres condicjo. na~ , permlte<1, uas una evaluacl6n, optar PO' uno u OIJO bloque de cOd igo, Se distinguen
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
EI !enguaje VBA
1. Instrucci6n IF Pefmfte ejecutal ciertas instrucciooes en IUl1(:i60 del result.Jdo de Url!I condiciOO.
-+
If... Then
I f ",condi ci6n. n ...
[: "lnatrucci6n.]
Si hay varills instrucciooes. seperelos po. el sign<> 0. pontUollCi6n : (dos pontos). uta sintaxis se usa especielmoote pa •• p~t>a. collas y simples.
Ejt;mplo SI ~ re/da AJ
esta vacia.
emita un bip y m .....st'" un mer>Sllje.
SUb f'ut_Ce ldo_.\l O " , .e-pty!ko~! ·~ l · ll Tboo ... p:
M.~
'olvi46 01
~~.
-+
If.,.Then .. ,End If
I f
"in.trucci6nl. dnatruccl6n2.
Ejemplo
I• t
•!
' II , . c ..... J.l ...... d
'_too.c •• _or1. 00 ....... , . r plDurl.
•
I•
•
• .., ..
. In'.rior.colo
1M Wit" ."" If
• ,
tlt~lo'
Cl pitulo 2
-+
1f... Then ... EIMl... End If
n."
It .1natrucclone •• • 1.•
-"
• inatrucciones>
fjemplo
AI cambia, la moneda feura 0 USS) de I~ celd~ CJ. modiliu, el formato del
rango D6,fI 1. O"vo« $"" "", _ _Sh • • "yVal T.~' ...... ,.,..! "
-..u ••
10 ' . ' ' ' '
,o...~ ll yVoi
cl ... 10 .... j .
....
8h
A.
Obj.ct.
"""'0.
Sh . ...... _ • ... """10.· ...... To",.<.Addrt . . _
'~C~l '
"'on
Apllc>,.'Q... '" Bnd rf on
(.Ie pfflCf'dimienlo modifica el formato de I~s reldas en /unci6n de la monedll
elegida. au;, .... lIcuJ"' ... t"'lI .......o € o , ""'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 -,~
, ...
EI ler.gllaje VBA
-+
If...Then ... ElseIf... Else ... End If
If
a l •• lf
n ..
-
"
f/!mplo [Sle proc..dimiento modifica /os teJtf05 de las
..,lf1ccionadas. >i Ia ultima letra es uN minuscula, pasa todo a mayUscula.; sl 00, pa~ todu a mi"';sculas can I~ primera Iflt". en mayuscula. ~Ida •
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 -
I
i, •
I
I•
<>WIll<' AO,,11 d.a I. G1H ... 10 ••• CodAocU " A"'("I~"lcoida . '"
II •• " "
CMMcli
on _r_ "
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
>_ ~7
And OodAocll ••
I~ ~
~n
Cold • . v.lu. " uc., .(OOI,,",' 010 •
- -I .
capitulo 2 . .I .
_<... .."" ..
"'gBoK 'Il • <:01 ... .
.m
I n
~ l t1"'" oa,,~et~r
h o~l
"" ~ Sui>
2. InstrucciOn Select Case
-+
Select elSe
Ejecula
una secuencia doe lostrucciorles
~~ica$
en funci6n
~ ~alo.
expresi6n. a.l.ct Ca •• Ca •• ~ingtruccion u >
Cu.
Cu. n •• • innruccionn> End S.L.cc < LlstaExpru ionn >
- valor
(ei~mplo,
puede toma. "IWI doe la••igu;"nl"" ro.mos,
C.. ~ 10)
- lista doe ~.k>~ (ejemplo: Case 1.
5.
10)
- .aoflO doe v"lores (ejen1pk>: Case I To 5) - expres;on
condk:Io!1~1
(ejemplo,
Cas~
I • • _ 5)
doe una
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. p
01_ 01_
""b COle.To'alll " . ~"\fO
J.C~ l eul . .
c.n .........,. ~l . . . .
I. 'UDc,60 ~o<.l 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.... '"
~"\fO )
n.!"",
l>O'onllo• .c:I61I 40 10 .6....1. do .Uculo dol tot., . . . ."",, 1611 <10 I • • ."..
,
- -- .. .... .,." --,.,---- -- •
w.
• ....c.o.""".... • ---• " '0« ."""reo. Tot. , • • COnt ."""re.. • --- • zPrec'o ."""r••• _Cut ,Md"" •• • Total ---• tProc 10 . """..... • -To 1000
Tot.l
CO . . 2 ~ ~
co ••
~
~
Toul • ' . ' • • COnLM~ro . . . . . , . . .. . do.Md, ... 11M Totol • 'O
I ,~ !
,•
I
I,
y
Y'
O.,~
. . . o .j
• '
capitulo 2
E. Estructuras en cicio Las estructl.ll'as en ciclos (0 repetit;"'as) to de instrucciones.
permi~ ~ir
ta ejecuciOO de un ""nJull-
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 coodi0;;60. mientras qt>e For .•. Nen l"I'I'~e las operaciooes una CMtidad de wces dada po< un contador.
For Each ... Ne" permi'" recmret los
~ementos
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
1Il>1h
Slnta.is 2
Us instnlC(:iones se ejecuta n uM primera WI sin cooclicoo y l..ego mient.tas la condici6n deweN8 true.
Loop n i h
EI !engu.,je '1SA
fl silluientr c6dil/O selicitl " IISUIrio que escfibl un rmmero
m~ntfll5 qve
el
v,/or introducido 00 se.t oomhico 0 superiOf I 100. SuD Int ro1 . ... Rap
(I
~ ",< • • p _ In ,", UQ" ( " lntro > ' 00'1 Loop "" Il. ( NQt I .......... lcl ..."""p l O. . . . Mop •• 1001
- .~
Sintuls 3 inotrucciones 51! ejecutan hasta que II cond ieiOn tornI el vakl, True (mlentras Que II condicicln devuelva el vakl, FaJse). ~
Do
-
I1ntil d n$ t ntcc ion~ e>
Sinlll~i$
~
4
InstnlCCiones se ejecwn
'-"'1/1
primefll IIl'Z ~n condici6n y lueeo IIasta que Ia
condici6n devue/lla el valor True.
Loop Until
I """"" i
,•
fl $Il1uieme c6dil/O selicita .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.
•
!
-•
'''Rep' Input_ , " ,ntl'Odu.ca un nQooorQ • '00" Loop ""til U ....._rlel . t
"
capitulo 2 2 . •n$trucciOn While .•• Wend Ejecut. una _ .. e5jlf!Cificada.
d~
imtrll'Xiones en un cicio mieiltras 5e cumple
~
COI'IdiciOn
Sintuil
1Ib1h < inst ruccion".>
Ejemplo I..,
'ntr·odu<:l <_~.eelo()
pld. , . 'U~oducol6a 6e .... p • ..,10 al.., . ... "" • . . . yaelo 0 1...,0.... 00 ""U. lOhpty,"'ngo,'C' " !1 0 < Mo. "'....... <10' ... "ge I·C ~ · ,1
..._,·C,·j .
,.,.,..c""",'"'ntroo...co
~~
.1
p •• do
d.1
pTOdue
~.~
3 . InstrucciOn For... Nen Ejet;u!a un bloque
d~
in'ltrucciones seglin el valor de .... cootador.
Po . . To .fin > [S t a p ' .inHruccioneu
Eio/nplo E.!e
ptr>e:Wiimi~n!o irr~rtd /0:; lota~. !Iimf!!'!flI~'
,",,",ua~,; d
err Uf18 malriz
el ptr>e:Wiimiento elimina Jo, toMle • .; yd /0:; ""biB.
hb 1 0<.leo T" .. o"" e ol) 01 . nt .,.;U 'nt .... er DI • • ;u .ntogo. oj. cold. . . . . . ~
. . .I . . .
VBA Excel 2007
EI lenguaje 'lIlA
../ .. ' ... ut. I ... total . . . . 1aM•• al •• 0&<1.& I _
•• ,
1 ... """. . . . Dog. " . ~ .... "" ....
• Trlo • I ' 0 • • _ • 1'<> 1 ~ .top • "LoftIOOno I2 . il. ' Tria' TIle" CUUU , II _rDt'nCOhu .,, _,n. .
nT,' • • nTrl. • I 1.O"9'I',,*11OU. II • .:.11 0( 11, il).So1"",' SOl ""Uon . ' o"",IU1CI • ".SI.OII RC I_ I) 1- 11 I • "'''!/O leelioU . 0, Cellolll, 111 · Pont . Bold· Tnoe .or •• ch celdo. In Ronge(ColloI2 . 11 . Cell.lll, III c.l<1o.!IO«Ioo.J'.r<>und color'ndo. " ' , Wd9ht, . d 1M"
,.C
~ " "'''90' '''' ., .Act! v.t ~ Mext In~
SUb
sub ""pro_.TO •• Io ••TTI ..... n' •• (I 0 1. I Ao 'n'egor I ~~rl_
, ...
~tol . .
. . . . . . . ra . . . .1 yo 100 .....1.
'or 1 • 5
1'<> I ' H .... 1'10011 .1 •. I ), 0 1 • ' Tri o ' ThO" Cdlol 2. 11. f:nt j AColu"' .r..t leto
Mox' I End Sob
-
"
isle prooed,mienlo m.....stra 1m /a hoja de ca/culo 'Co/«eS" las diferMles de rel~ y el va"" de I. prnpi«llld CAIotIfl
I
'ub ""•• ,<&. co'o ... o Dl0 , loa
'Or • • l " ' . .
i
•! !,,
'.'ego<
wi t " ..... t .. · CO'or. . ·) C< Color lMtx • I Celloli , ~) • j ~ e ",
j
1M " i
-.~
"
~.
capitulo 2 4 . InstrucciOn For Each ... NeIl Ejecula un bIoque de inslrucciones para c..:Ia clemento de una colecd6n de 00jelos 0 de una malriz. 1"0r •• ch In
Next
~Grupo>
~ele""'nto>
£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 u l .... Soot """. _ _ 'Oico< " bn.,.I · .',Qll " )
,." C.ch Col"," In z"",,_.tico< S.l.ct Coo. C.I""
...
" ""o l"". • Po"t . Color Coo. • " l"". Co ' ont . Color Coo. " ""• _'ont . Color Col " • 20000 Col"". po," , Color 1000
• RGII(".,
'"00
..
... ... ,.
..
250'
• RGII ( '0. 100, 45.1
1000.
•
~ GlIno.
•
lto,H. ,
~
COO. ~l .o
C...... ,ont , Color • R
"
2So1 11S'
100)
S.l"",t
M on<;l Sub
Ejecucl6n de varia5 ilCclorles sabre un obteto With ol>jeto ~4 with
.--------------,,"',",,",'-."""';,;00'"'
EI lengvaje VBA
~"'lAo ~oIQD&
do I. bola .o .. u h. 00."...... Y p.o< ..... COl> I. 1""... 161>
Mith . • • g."~cuP .O<1~nt.C10n
• zl,"""""oo""
· Ld ...... rg.n • ""pUc.clon . '",,""o-roPo Inco I o. SI
· . 1~hC "'r~in • _""Uootl"". Inon . . -roOolnU 10. S I · -ro_rgi n • AWl leotion. ,noh..ToOolnto (0. S I .OOtt~rgln • Appl leotlon . lneheo-roPolnt oIO.S) .LettH. . do< • • •
. CO "t .<~d. r . . ... . Rlght •• ode • • • • . L.lt . oo' •• • • • . COnt~"oote t • • •• go .p ' .~lghtFootO' • • • En
.col..no( · A;O·1 .• "t l t.oolu ~.Auco r l t
5. SaUr de las estruduras de control La inslrucciOO Elilt For pe
Sub Intceduelc Fee .. l) DI_ . "·'101 "'.... 1.
I
i
•! •
I,
l~tl"Odllool6o> do ol~
I . DO •• lDtroduo. ~"901 ' _1 '1
"<"
...... fOoO~ • • ~ I. «ldo U .0'0< • • • • 01. do' 0'0'0
• ••
10n.tol ~ ...... I·.1·J) .tItolotr-v.lJ ""on R01\9'01' .,·1 • • «val
00 IIhU o
""
h it 00
EJld I!
• •
"
capitulo 2
F. Operadores Los operadores perm ilen realizar operllCiones aritrMiicas coo variables tes, comparar variables enlre elias , e.alUlir varias coodiciones, etc.
~Io
CI,ltlS!an·
Se diSll nguen varios lipos de operadores: - operadores arilmelicos, - ope
o EI oper
eI "'gna _ . EJ valor de II expresi6n ",hl
1. Operadores aritmetiC05 Perm~en
e/eduar dlcuios aritnWicos coo variables y/o consta ntes.
Operador Adici6n
Suslracci6n
I
DMsi6n con resultado de un numero COO coma f\ota nte
"'"
Resto de la divisi6n entre dos numerus
\
DMsi6n con
•
Multiplicaci6n PotencillCi6n
resu~ado
entero
EI 2. OperiidOfes de
_...
ie!!(l tlaje
VBA
comparilciOn
CompllIlIn dos valores (I dos cadenas de ca'~eres.
Cilculo rtI.liudo
<
Menor que
<-
Menor
>
Ma)Or que
,.
Mayor 0 igual que
-
(I
ISLIiII 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'" ~ n 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 bina ri. inter ... <.Ie los
ca 'lICteres:A « B« E« Z« a« b «e« z« A « t« 21 « ~ « •... - La op:ibn Comp.1lrtl Tm "",Iil. la compa 'aci6n de cadeflas :.in di~ircui' m.yusculas <.Ie min~ulas, (A- a) « (A~a) « (B _ b) « (E Ke) « (£. K,) « (l K !)
I , :.
~
« (21 - .)...
- U ope"" Comp.1lrtl Ibtaba.. realin! Ia comparacioo de cade"", DHado en ~ orden dele.-minaoo por ~ Idenl~icador de par.imelros regionales <.Ie I. tlIJse de daros en Ia q'-'!! se realiza I. compa 'lICi6n de Qdenas.
3. Operadores l6gicos Permilen eIIaluar si multanea menle dos (0 mob) valores booIeaoos (I e. preslooes que delluetven este ~po de valo<. Geoeralmente se USil n con la infdruceHln IF.
•
!
!•
•
"
capituKl 2 Operadill'
Ciilculo ruliudo
,"0
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
'"
~
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 1rue si hIs
' ~ "' ! ;>.NO ,~ . <
~nbcas
..
do"". ' vo T"", 01 ~ 0« . cOOII''''t>dI 0< quo '0, I~.O' OR IB.O' OR ,e • • 1 _ l v o Truo 01 . , . .".. u"" do ' oa v Ol . .. . • • pooIHv<> .
lOOT
I~
4. Operador de concatenaciOn EI ope, ado< de concatl'Ollci6n es el sign<> &. Engaoclu! cadena. de ea ,acte
valO
Eiemp/o (;onc, renaciOO del
~pellkJo
y el nombte.
5. Prioridad de 105 operadores C",,""" My va,ios Dpe,ado
EI lenguaje VBA operDdores se evalu"n en el ';guiente orden: OI)efadores res de compa raei6n. operDdores I6gicos.
lo$
Los operadores de compar;w;i6n tie!>en la misma PO' 0",,", de apariciOn. de
Los opefadores
aritm~ieos
Aritmetico
ilQuierd~
aritm~ieos.
opera®-
prioOOad ; es de.::! ,. son evaluados
a de,echil.
y I6gicos se evaluan en el ';guiente oll.len de prioridad: L6cico
,.
,
•. I. \
'"' 0,
Moo
' ..
X" EO'
[ I uS(l doe pa~nles;s permile mod~ica, ,.. prioridad para q"" un elemenlo doe u!\iI ~,esi6n 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
ceoul todo n. I' • SI oe e l . c t~ . ont •• quo I • • d ici6n I • I I
••
~.
""
C'-"
L& .%pru ! 6n ' I) • • J • • ' _ . 1 . . . . . La adiei6n ...
~ !o et6a
p r lor!(l.od.
o Se IlCOnseJ. 1M, pa~ntesi$
p.llfa
mejor.' la legibilidad del c6digo.
I i •! I
•
• Programar en Excel: Macros y lenguaje VBA
"
c<>n
CapiWlo 2
G. Reglas de escritura del cOdigo 1. Cornentarios los comeola,io!; pe,miten
,
lWH:e~e>
mots legible.
coment"rio
cOlllent" r!o
AI
~alida,
la li .... a de
~nlario.
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 ~io,
fJemplo pld. h ,
••• ,
h ...odIoeel4d 440 "" p<...,I<> ... t&llto quo
. . elo 0 . . . . . . . O
Do "" U. ( .""'ty IP,.ejol O. lOot ,.""..,jcIP,..,I<» 0< ",.., 10 < so O. PTeejo • SOO P• ..:!o • 'nput_I ' h«lbj, w> !'"!'O'U C
' SOy
5 00
' 1
3. Sangrias del cbdillO. Es especialmente importanle usarlos en la. I!!oIructu,a. de control (sobre todo si hay varias InstnlCCiones. If anldadas) y las eslruclu'as de decisi6rl.
l.M sangria. (0 IabuillCio ..... ) perm ilen UN! mayo'
~bilidad
• ) Pilla gene.a. las sangrias, use la lecla lTab ). • ) Para retroce
use~.
tadas (t,tayUs) (h b]
EI lengua!e VBA .) Pa,a modHica, eI 1311\1100 de III t.buloci6n (cu~tro espatios po;' defecto), seleetiooe OpcioIltl en el menu H..,amient.., haga tlit en til liclla Ed~or y modifique el valor Anello de tabulaei6n .
4. Nombres de procedimieftlos, variables y conslanles Los nombres de los procedimientos, constantes, va, ;'bles y a'llu menlos (!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 let~ 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 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.
I ~
,• •
I
-•,
DDlr-------------------------~~ ~"= ~~I" 'OO '"7
o Capitulo 3: La programacion de objetos en Excel
A.
Presentacl6n .. . . . . . .
B.
EI modelo de objetos de Excel
••
• •
•
86
•
87
1. Pre5efltaci6n. 2. Objetos y colecciones
C.
87
...... .
88
Principios de uso de 105 objetos y las colecciones
91
1. Propiedades. ..
.......
91
Propiedades que representan objetos
91
2.
3. Metodos .. 4. Eventos . . . . . 5. Colecciooes . . .
93
•
94
95 97
6. Red.ac<:i6n automiitica de instrucciones
D.
Instrucciones usadas con los objetos .
•
• •
•
La instruoci6n With ... . 2. La instruccioo For Each ... Next
99
1.
3.
La instrucci6n If TypeOf
99 100
•
101
4 . La in5trucci6n Set .
E.
EI Examinador de objeto5 . • • • • 1. PresentaciOn. . . . . 2. Biisqueda en el uaminaclor
99
•
•
•
• •
102 102 104
capituk> 3
A. Presentacion VBA Excel eo; un
IengUJIi~
de pmgramaci6n orientado I objetos , si bien rKl d ispone de tod~s las funcioo~lidadeo; d~ los lenguoieo; de esle lipo. La ml)'Q.la de los elementos quemalleiaE.ocel sonobi-Ios.loslibros.la.hoj~.de 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· dlldoene 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
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 clas~'- u posible erea. clases de objetos con VBA £xreI usando m6dulos de dase.
VBA E~cel 2007
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
i
•! •
I•
I h
-
,"'"
II'!
"I
• Programar en Excel: Macros y lenguaje VBA
_
...,....,.,....----
2. ObjetO$ y colecciones La .sig<;iente !lsta
resu~
ta utilidad
Objdol
......""
OI>jeto que hace relerencil I 10 _PIiCaCi6n Mic",",,", ED ac!WI.
AnJWefWizard Otljeto que repe .... nta II
_)'lid.
In !uiti~1
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 6n de MiCrosoft ED. AutoRecDWr Objeto que rept"eso!flta Ia:s opciones de recUjlefaci60l autom~tica 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
-
Objeto qllf! mueslta los datos en II YO!f1tMa Inmedtato, duraoo. cO:!il!O,
DetaultWebOptions Objeto q"" contie ... los .tributos u.ados per Excel para la cIe UN ~na Web ,
~
ejecuciOn del
.~rtura
0 gr.baci6n
VBA Excel 2007
La prograrnotd6n
Objeto q ue comiene las opciooes
"""
LaIlluaa;eSet\iIllS Objeto que cootiene informaci6n sobre la cooliguracibn
Objeto Que (;I)I1tiene los mModos Y pmpjed!<:\es que se eiones
~acionan
coo las fun·
SpellineQptionl Objelo Que represenla tas opciooes de OI'IO£raflll de III aplic.J,cooo,
'"
Objeto que representl! Vi"",1 Basic EdilOf.
WortcSheetF unction
ute
ob;eto per· Objelo Que conliene todas las funciones dispooi~ es en Excel , mite obiener ef resultacio de UJIl! funeiOn aplicada a un rango de reldas.
Ejemplo, f>fom • Appt ;cation. Worksheetf'\lJIction, Average(Selection)
Colecciones
""M
1 •
• !Ii!
~
I•
CoIea:i6n Que contiene Itrlo:oIIos ~rnentos (objetns Addlnl. A estos ~ mentos se l!ega desde Excel a !raves del menu HerramientH . CompleJTlO'J1!os.
COMAddlnl R"llf"S'"1ta los complememos COM lICIualmente in5b! I..oo:s en Microsolt Ucel ,
CommandBa.. ColettiOn
Ba rl.
capitulo 3 Di~"""
Colettiim doe "'" cuadros de dialogo int"8r..oos de Excel.
Names Coleo:;ii1n doe todos los nombres
(celd~s
y
'~ng
coo
nomb~)
del lib«>
~ivo.
ODBCErron Colecci6n doe todos los em.>res ODOC lI'merlldos pof I. ulti ma ope
OI.EOBE""," CoIea:i60 q"" rep'esema la inrormaciiln re~ionada coo '" error d....""lto I"'" la CCIOWlta OLEDS mas reciente. RecenlFile!l
CoIecci60 de los
ill~mos
arehivos usados.
SmartT a,RecOlnlzers Colecci6n de motores. de reconocimient05 que clevuelven etiquetas intei ige!1tes. [sta li"'a es accesible desdoe E>
me""
UHdObjects
W._
Colecci6n de 105 objetos usados en Excel .
CoIecci60 de objel05 q"" repre-senla 105 cli<:ulo ~ recalculada.
'~ngos
o:Ie inspecciiln cuando Ia hoja de
Window.
CoIecci6n de tOOlS las venbH'a5 de II aplitllci6n Excel 0
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
!SOO
de sci'"
iedUfa y roo puedetl, po< k> lanto, modwr.;e oon eI e6d igo YBA. Sjntaxis {~Obj8 to,
I
_111<..,140. <101 """ ....0 4. 1 ••• 61>
Appl i c •• lon .CUf aor • z l w.lt ,
...... ... I .... <0161> 4. I. oplle.el6B heol .
Kogllo>< ;>,ppuc>tlon . Ver.lon Appllco. lon.CUroor • Kloofou)'
2. Propiedades que represenlan objelos Los objetos KlOba~ y los objetos delinidos en el e6dilO a It~ de dases manejalias po< YBA tleneo cioertas propledades cuyo valor se i>C\uaj i;r.a autornaticam'mle par eI sistema.
I
fstas )IfOIliedldH elpeClflcal permiten acceder direc:lamenle a clertos 00jet0s: \/Mia,," activa, libro ac~vo , celdas de la hoja actNa. etc. La slguiente tabla muesIta las pmpiedlldes ~ilicas rMs usadas.
•
,•
I• Programar en Excel: Macros y ier.guaje VBA
Capfwlo 3
,
.
-
,..,.
.....Q!!t!
0 dh'Ul llo
AppHcation Window
Objeto Rant. ql.'l! n!pff!Sefl1ll III p
AcliveCharl
AppHcalion Window W'-k
Objeto Chart ql.'l! "'presI!nta el K'atico
ActiveControi
F,ame
Objelo lAcliveX) activo.
ActiveCri
'''' UserForm
.
'''''
,00
representa
ac~w.
" =".
ActiveMenuBa ,
CommandBars Objeto CommandB... que represenL1 Ja de menU actiYa en EJaI.
ActivePane
Window
ActiYeSheet
Application Wil>(low W.,",,""
ActiveWindow
AppiicatiDfl
Objeto Pa .... ql.'l! represents Ia vent81l1 acliv •.
""'. ""'.
,00
W....... acliva det libro activo 0
Window
activ • .
,00
~
paoet activo de
-_.
~
..
~ ,.
....
libro especWicado. "
~
"
_'M
Objeto WorkboDll q,," ",!>csenta cl libro de I. venlalll aclivl.
AcliveWorkBook
APIlIication
"'"
Chari
W......
DlNoeIYe res.pect;"'amente ~ pr6~imo (Ne~) 0 el anterio< (P'lMoosl objeto de ~ n mismo til>' (Chart. Raree 0 Worksheet).
ParMI
Objetos
[)evuer..e el objeto <:ontene
PreviollS
..
,,,
miiltipl~
Selection
Application Windows
TItfsCeII
Awlication
Objeto R,,,,, que repr os enlll 1.1 0 lis celdas seMionadas.
-'"
poe " ""',lIS""r;" "
delinida objelo Ranee.
" ""
,00 ~
" """.,
IJamada
-
VBA Cxa:ol 2,!)O7
,
e!:2!lra '
011'110 Plrent
",",
Tl\fsWoO
. " •
E
'" '"
~ clevutlto
.,
Objeto Workbook que representa ~t libm 50bre ejec ut.. m ~. ~ c6diSO ~ actual.
Appjication
•
. . . o Las propoedades especIflC
51!
explica n ~n
~t..11e
en eI capitulo 4.
3. M~odos los moItoOos penniten real iza, acciol"les sabre los objetos . Son sim ilarl'S " los proced imientos, - pIJe(Ien USllr 0
no .rgumentos.
- d ertos 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
!
•
AoU . . h
<_ . . '.e<
oo.g ,.d.
~ jO
...
d'e"',, ...,
~ p'l c o t lon.Ooto ~c tlv • • o<~k
.. looeelOllO .... ~r>ge ( . ~.
I ~
•
c.I ....
. .......... ....... ... ..,el--···.
Seloctlon.CI .o"
_ro
Guo .... 01 Ubro . . tlv" c_ .,. au • ..., Ac tly . wo.kbook .Se y ~ · c ,\p • • • u pu • • t o\p • • • upu.Ot02. K" ·
•o I•
,el ,' 1.••
llb
Como ~n eI co", d~ los procedimi~nros. los dis!int"" "rgum~ntos ~ un mo\tooo se separan pol comas . Si un argumento opcionl l no se defioe e. plicitamente. el metodo usa,~ un valor pol delecto.
ca pitulo 3 Slntuj,
"*0<10 que devuo.... un " .....
• { I l.<~todo> I ]
Ejemplo ..... . . ..
. '
.~adra
... d i U .... ... <1 <
D1 •••• Fil.N .... •• VorUn', >.wUcott on.OetOp
Tn. n wor'bQQ' • . Op
-" I•
4. Eventos Un evenlo es una Kci6n ospedfiea que se .eali:. sob
Ejemplo
Cuando se ill/Ie/ja uswrio.
Urnt
nueva />oja de
c~k;ulo
al
libro,
t'K
lticrn.1I h cel
. ""'-,""".< .. 19.....
aparece un mensaje para .. /
7 ... _
.. uroJdod do,.",.. .... .... _
•• 1
VBA Excel 2007
La progra maci6n de objetos en Excel
"ogfiox 'La h<>la ' •
S~.Na
... . 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 k book . ~ Or u .... c a . COunC
o La admlnisiraciOO de eventos
.. . .
de los a.pecto:s ~ Imj)Ofta ~tes en eI desarroHo de aplicaciooes Excel, eI capitulo 8 est~ (ntegramenle dedOcado I e!i 000
este lema.
5, Colw;iones Para hace< referencia a un objeto de una colecci6n, puede u..."'" alguna ~ui~nt'" sintaxi$'
d~
I.,.;
NomCole cc16nlNomObj~to
NomColecci6n I INomObjeto j NOIIIColecd6n ("NomOb j eto ' ) NomColecci6n lvar)
donde var representa una
varillb~
de tipo String que cootiene el nombre del
objeto.
donde index re~'E · El1ta eI numero del Iodice ~ objet<> ~n la wecciOO.
I •
::l; •
Para asegurar una mejOf ie8ibilidad del c6digo, 51! acono;eia usar siempre la misma slnta~is. Las sinta. is tercera y quinta 51! IeCOmienda/l porQ"'l pem1ile<1 activar eI asjslente ~ ed itor de c6d illl. Ademlis, II! Quinta sintll,X;S n m~. ylil pa ra reconer los objetos de ur\I coIettl6n.
!
,I• Programar en Excel: Macros y lenguaje VBA
Capitulo 3
o Ateoci6l!: eI prime' e~nto de I~ mayorl~ de las coIecciones lleva el lndi<.:e \. Use los Indices soIamente pall
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), r«Oml'
fiemp/o
fl silluiente e6di/lO acti~a la hoja de cJ1c1J1o Hojll del libro e6di/lO UM IooA:s 1 Work*ets .
Presupuesto.~/s.
fl
... <1<1>, , k. I · •••• upu •• te. d.· 1 ....
o
Recolfer una coJecr:;oo: este e6digo libra «Ii.o. 0 ••
, Aa
camM el nombre de las !Iojas de cJlcu/o del
'n.~ . r
'or i _ 1 '" ""tivellorU>oo' 1I0r • • h o.t • . Count """ ....... rkboo ......hb •••• ' l l .H_ • · Pr.oupu... . o H " " • i
".xt •
Una coJecci6n oj . HoJ.
tamb~n
puede recorrerst! """ la inslrucciM For fIlCh Next.
Aa "'rk .~.t
I'<>r hch HoJ. In II<:tlv .... rkbook . ... . . . h•• t. IIOj •. "._ • · PT •• u _ate N· • , Koj • . Indoox .... X( IIOj .
La progra~ 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 recon
fiemp/o ~)
Escriba el oomb~ de II coIecci6!1 Workbooks seguiOO de un punto, apareee II sigu iente li51.1 desplegabl!!.
EI k:ono ~ lepoesenla los coIec:ciones.
I .,
.i ., •
!
i ..
~)
~os,
el icooo
[ill ~p
propjedildes 1 las
Usted puede l\ac:er IVanza. II lista escribiendo IItS primerls lettas del
~o,
prop;edlld a colecciOO buscada 0 con II ayuda de la ba r~ de des.plaumienlo. Para seleccionar un elemento de Ia lisl.l, haga doble elk: sob~~. Esctiba un punto 51 acaba de seleccionar un objeto ""fl ver la lisla de sus prop;edades y meloxlos. Si selecciona un ~o, escriba un es""do para oblenet" la lisla de configuraciOn del ~o. Pa ra seguir e:sIe ejempio, selec:cione el metoda Open , y luego escriba un
espar;io,
capitulo 3
Apareteri u~ 1i5\.i1 con 105 ~'iUment0}5 det metooo. Los a'lUme!1tos opdonale5 apareten entre COR:l!etes. Et argumento actual !oe '/era en negr~ a. 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. hmb~n puede acl .... ar
.) Ubique
~
la IISla de prop;ed~es y melodos de ra siguiente manera:
cursor delras del punto sil..ado spAs
• ) Haga un clie derecoo para
•)
Se~iooe
t\ace(
dell1~ .
aparete( el me!1ir coo\el<\ual .
la opciOO ListI de propIed.ade$ r rMtodos.
" ",·", -1
La programaci6n de objetos en Excel
D.lnstrucciones usadas con los objetos 1. La instructiOn With La instrucciOn
W~h
pem1 ile accedef varias
VO'!CeS
al mi!.rOO objelo, iooclndolo U",",
sola IIf!z.
Ofrece vanas ve!1tajas: -
op!imi~n
del tiempo de ejet:uci6n del c6digo.
- RaNI ~empo en la escrilula del c6digp. - mejor ~Midoo del c6d igo. Slntalls with
and !lith
Ejemplo
ABres8r y modilica, una hoja de cllcuJo. " • •• WI. boJo 4 •• p""
""
Ie dlU_ tool_ 440,
1I~ ...... 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. . _
I
! !
I•
" Slnt~.I. ·
.... ngel·A. · ' • '"".101611 "", ."" with
2 . La Instrucci6n For £ach ...Next La imtruc<:i6n For Each ... Next permite recorre. k.>s oI.>jetos de una una tabla.
y
~ecci6n
0 de
Capitu lo 3 Sintni.
Por 1I."b
PQr •• ob Hoj. In
A«ivoWOr . boo ' . WOrk .~ ••
Kol. · ~.ll. (l.
Koj • • ~ ome
11 _ · .""Wf'tJEST() II· • • 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
I . Tnen todos y propledadu>
~t
End It fjemp/o
IIf TypooOf obJ . Puon'
U wo
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. emtent/!.
Se t • [11_ [ o Set • Nothi ng
una variable de ~ po Strine, qllf! oontierll'l '" bre del objeto q...e hay q...e crear.
objeto
e!I
La palabra clave New
pefmite crear oo.a nueva instancia de la clase. Si la variable tootiene una referencia 8 un objeto, esta "llilN es abandonada.
puede 5eI el nombre de un objeto 0 de una variable ooj.eto del mismo lipo, 0 sea. una funci6n 0 metodo que d.......e/It. un objeto del mismo l ipo.
Nothing
reinicilotil1l I. variable objeto y libe", el conjunto de recUI505 ~ sistema y Ia memoria asociadas al
rlClm-
oO;eto. (jtmlplQ
I• .~
•! •
I•
~i6n
rJe un /ill",
CO">
~s 1 11~;oo
tk
un rrotrrbm if r:ada un;> tk
~/#Js.
01. Llbro ... ",>,kbook 01 . I ... IM_r
c. .... &.
.......
"".n>
u ~ ."
&ot Llbro • Appltbook •. ~ .11&1.,.... 1. . ..,J .. & p.o.<1< ... 1& ta«&.&
. . .I .
capih.J1o 3 . . .I . No~t
i ""por 1". _ r o O . 1 •• 100, . . 1 Y Z .lfQr k "" ... to(1I . H _ " "Vent. . Moo ZOO< ' .""
."0'"
Modificar Ulla I>oja M un libro abier!o. DI . Llhro ... ""<""",,k Dl o Hoj. Ao Wor • • h . ..
S-. Lihro " ...., Pll~.tiQn " '''''''''''' o,IH i o t¢rl"".d o l 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 drve~ad cIe objeto;s Excel. es (ltil ci6tl Q"'l se 'elac~ COt1 los distinlos objelos.
~,
ero:.:onl,a, la informa·
£1 Exa minador de objetos moost,a la infoonaci6tl reiatNI I los objetos. propiedades. eventos y constantes. Usted puede obte-ne,
.) Ver Exami""dor de
~
Examinadol cIe objelos de disUIltas maoeras,
obfetos
Iwl (bana de henamientas £sUincla
[f2]
~.
La programad6n de objetos en Excel
1. list. ... bibiioteQos actll/llmente
~rgada.
2 . Terto busc..do : objeto, prop;edad. colecciOn, evento, rMtodo, etc. 3. RHUltado de II bUsquedl : lista de las clases de objetos (objetos y coIeccionest y de sus miembros (objeto, colecciOn, propiedad, evento 0 ~o). La palabra buscada poeOe estar 1!!1 Ii lisla de clases 0 en 1& de Sl.OS miembm$.
·• ,. •
!
,• I
CIIS... de objetos d, I. blbllote<:a : la elase de objeto seleccionada en la lista Resultado aparece rema ",ada.
(;cooo~, rMtodos, (iwno~ . .....nl ... (iwno ® y conslllnI... (icooo ~ 'Ie reli1C~n con la elase de objeto seleccionada 0 remarcada p' OIliedadts 1!!1
ta
liSIa de Ii izquiema.
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.
IAI
4) Hap clOe: en el icono 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. Propied ades que representan las opciones de Excel
109
• . Dpciooes de la categoria Mas trecueotes .
II 0
b. DjXiooes de la tategoria f llfmulas c. Opeiooes de la categoria Re...;si6n . .
III 113
d. Dpeior>es de la categoria Guardar . .
114
e. Opciones de la categoria Avanladas .
liS
2.
~edaOes
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
relativas a la presentaci6n de la ap!icad6n
~tod05
•
•
•
. . . . . . . . . .
127
capitulo <1 5.
128 128 128
Ejemplos de cldigos que usan el oojeto Application •.
Modificaci6n de la interfaz de Utel . .
b.
Crear;;(io de una lista personalizada . . .
c. Selecci6n de columnas d.
c.onsecutivas .
129
E~aluaci6n del resultallo de una f6rmula .
129
B. Objeto Workbook ..
•
IlO
•
• •
• • •
130
• • • •
1. Objetos y colecciooes
131 133
2. Propiedades . . . . . •.
3.
Propiedades relativas a la a.ctualizaci6n ygrabadodelibros."""" .
b.
PfOlliedades relalivas a libros compoarfidos .
c.
Otras PfOpied3des
Usta de metodos ••
M~toOos que a.ctuan directamente
b.
M~odos relativos
c.
Metodos relativos a libros compartidos
d.
M~odos relacionados con datos vinculados
so/:lfe los libl'os
a la seguridad
e. Metodos relativos al envio de libros f.
4.
Otros metodos .
Ejem~os de c6digos que
Usall el objeto Worl
un libm Excel
•.
Cleaci6n de
.. . ... .
b.
Importa r una base de datos y exportarla al formato HTML . . . . . . . . .
c.
Mastrar las pfOpiedades de un libm
d.
Exportar un libm al formato pdf . .
• •
133 134 136
138 138 140 140 141 142 143 143 143 I"
145 145
Objetos de &tel
C.
EI objeto Worksheet. . . . . . . . . I.
lisla de objetos
y colecciones
• •
• • •
146
•
2 . Objelos y colecciones
'"
149 151 153 153 155 155
3 . Propiedades
4. Melodos . . 5. Ejemplos de c6digos que usan el objeto WoO<.sheet a . Offienar las hojas de un libm . . . . . . . . b. Pmtecci6n de las hojas de ,.
~lculo
de un libm
OWenar una tabla . . .
D. EI objeto Range . . . . . . I.
• 146
• •
156
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 las celdas
165
b. Pmp iedades Que se relaciooan coo e+ cooteoido de ceklas y con las fOrmu las
166
c.
167
Otras propiedades
. . . . . . . . . . . . . .
Capitulo 4
5.
M~lodos . iI.
M~tOOOs
b.
M~tOOOs
167 que devuell'l'O un objeto
167
que se relacionan con ta presentaci6n de las celdas. . . . . .. . ..... .
168
Melodos que se relacionan con eI contenido de las ceklas. . . . . . . . ...
169
d.
M~IOOOs
171
t.
MetCKlos que se reiaciorlan con los liltros
I.
Metodos que se relaciorlan con el mOOo esquema
172
I.
MMOOos que se relacionan con \a henamienta de Audiloria .
172
c.
que se relaciolliln con los nombres de celdas . . . .
173
h. Otros mi!todos . . .
E. Ejemplos de uso de los objetos
171
•
•
•
• • • • • . . 174
1. calcl/lo del imporle lie un premia . . .
2. Asignaci6n de comentarios a las celdas
•
174 176
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 equiv~1e I Applic~tion. 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
ActiveSheel , AcliveWindow, elc.
o la, ~Ides que hacen relerencia a objetos se e. plica n 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 ~ades son de ieclur/I y
escntura.
o Para acceder a las opciones ElIeel en til Wf'Si6n 2007. haga elic en eI bot6n
I
i
•!
!•
~I
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,
o
0 _ _ ....
D_
_
~
' _ ••_ •• • ,:ll(' 1
.. _ _ ,;)(ll
'
< ,
,',",
_ -._ _-__. _...... ..... ..... .....
... ..... __......_. ...... " • ....."
",,-
-'-"'''' .... '-'''' - ' - -
,. 1
, • ,, 2
5 6
Propiedades ShowSeIection Fk'laties EnableLivePreview ShowDevTooIs AlwaysUseCiear Type StarldarljFont, StarodardFootSize Sheetsl nNewWorkbooI< UserName
V.lorel dtYu.Hol
Enlero largo Enlero largo Entero largo CadeM de C
'"
Objetos de Excel
b. OpcionH de 1.1 utelOl'I.I f6rmlll.ls
..... _-_ .-.._._-_..
-- _.-- .. - ._.-
-"J' . ,''_ _
.. _
o
I'
I
I
---
D _ _ _ PI
II)
-'-..
__ _
--
0 _
•
....
_ "=----_ ._.. ..---_ ..- .-- _...,.
• __
111
--I
11111'1 ' - _ _ _
111 _ _ _ _ .. _ 1111
IllIl'I _
111 __ D ·_ _
.. _ _
I - -_ _ 1"')1'1 -,.... 1" 11'1 _ _ _ .. _ . 'n ..
I
_
~_·
"')
_ _ ,(' f)
0 :0._ .. __ .. _ _
~_
~1 ')IIl _",
,.
I• ,• , 1
!
3
I• •5 •
_ _
Plot: (dill..
V.<- d.-.ue"os
CKulalion Constanles;
0"••" .
CaJculat! BtfO+eSaYLl! Iteration Ma..llerllions
""""""
I!I
•
_ _
111 _ .. _ "" III 111 _ ' m 1II --"_~"111 __ , , _ I 111
.
•
IlCIlculitlonAulOlNlti:: IlCIlculltJonM'OUIiI IlCIlculltJonS.n,j.-rtc:rn.tic 8o.Iean 8o.1!an
...._.""
(lIlI
Capituk> 4 N"
6
P' opledadH ReIe.enceStyle Constant":
•••
xlR1C l
8
Oi5p1ayFo,mulaAutoComplete GenerateTableRe!s
9
Gene,.leGeIPivolOata
7
~ean
Canst.ntes: xlGenerateTabit RetStruct ~lGerIerate TabitRet" 1
."
.",
OpcilHlH de CG/I1 probKi6n de erromo Las siguienle5 Pr
uta
.epresentll las opciones de comprobaci6!1 de erfQfe5 pa r. una apiieaci(ln.
,.
" " .,"
II
II
16 17
"t9
'"
Pr09itdadrn Bacl(groondChet IOns Indi<;atorColon ode< Eval uateToEno, InconsistenlTa blef ormula Te1I.tDate Numbe,AsText IllCOO>istenlFo,mula OmittedCens Unloc~ed FomlUlaCens EmptyCellReferences lislDatllVal idalian
.... ...., ...." .... " ...." Val.....
,
~ ...
Constllnte X1CoIo,lode< Boolean Boolean Boolean ~ean
Boolean
objetos de Extel c. Opeiones de Ii ealelorfi Rnisi6n
.- I .... _.......... -,-,' ... 8_._. ................ B_·_,.. -. -
~Jc..m.~ ........ ~ ............... ,....... _
~--
c
" .. "
_
c-. , _~_,-_,
Ii! """'" _
,
..
,_ . ~
... _ . _·_n)
.... "II""""'" 11) _
... ,.,..
12)
,,~
B_~_"'"""_('I
0_ 0 .... _·
•
~ ••
' .M'_ .,..
[""'" • •. _, ...... I
""...".~
_ _ ...... '"'
""-"(~I
,_........
. ,
¥
II)
1_11e-... Opciones de revlsi6n ortoJrMiea las !\iguientes propiedade$ depende<1 de I~ propiedlld SpeliincOPtion5 del objeto Application. Esta pmpiedlld devueNi! un objelo Spelli~ption$. QI>e represenl~ las opcione:s de revll-i6n onogrMica P
I ... ,i , !
1
IgOOfeCaps
2
IgnoreMixed Digits Igroo
,•
I- 67 •
Propi.dades
-'"
V~1ora
devuellO$
","~O
"'"~ O ","~ O
","M O
Consta nte KIArabkModes (otero largo
capitu lo 4 d. Opciones de la categorfa Guardar
-_.
I? fX'
0"' ....... ' ...'
- ... ' .
,
'0
k.j ...''''''" .. _ ........ _''''' ... ......
-- ....._-_ . ._..._. _ _- '---"'_. . "'-"'_M_
!1l ..........
'"
"_
_ "
"
"_ ~ M'
" ,_ ·U
",
'0
, -'-'to.
...
..... _ ~
,,_
,
'
.... ' • • 0'- ;>
- .... .. _
0. _"..
, " ,",_M _ _
... ......
' ,'
1 ....... 11.-
... , •, I 2
Valoffl d.......1tos Constante
~IFiIeFormat
Ente>t> lafRO
-.
Cadena
o La opciOO 5 se aptica at hbro act iw (Application,ActiveWOfkbook),
if"
VBA, Excel 2007
Objetos de Excel
------
---'----------' -- 1 -
Cl _
•
-_. ;11,,, _ __
p ----. . _,,-.,1 -'----' ------' , : ' -'" .,.-._--------_._._--- --,. , , "" ... 11 _ _ , _ __
<
.. _
.__
---'<:',,~
,
~
.-----~-.-~_ ,'"
11 ...
-_.-
:
•
"--"-'-'. ---,------. --.--- ,.~
<
<
I
l
...,
Proplld.ldes
2
MoveAfte,Ret~fnDi,..;tlon
Con$tlntes:
3
I- 67 •
. ..... ""'. ""'
Coosta~te
llOown
xlUp xltoRllht
•! ,• <
MoveAflerReIYfn
Vlloru dlvLll'ltOI
""" D.Om" FiXIldOecimalPlaces CeiIDragAndOrop AlettlleforeOmwrilirc EditOirecttylnCeil
[otero laflO
Socl!... e", Ilan 1k(llan
•
Capitulo 4 N'
10
P'opiedad.. ExteooList AutoPefCentEntry Eoa l)leAutoCompiete
II
RoItZoom
12 13 14 15 16 17 Ie 19 20
El\llbWll a,geOperationAWlrt largeOperationCellTMllsaooCount UseSystemSeparators DecimalSeparator TMllsaoosSeparato< Displa:yPasteOptions
e
9
..... " ....." ....." ....."
Valores de\lu<os
Booleao Bocteao
'"'~"largo Entero
Cadena de carlK':teres Cadena de carlK':teres
Di~nsertOptions
Boolean Boclean Booleao
Cop,QbjectsWithCelis HighQua lityModeForGrap/lics
.
""-
,. ...
,~
---- " .-,•
•
,,'
... ...-...
,
_____ '1____ . .. ... ' _11 ~ ~ _,, *
Ii! _ _
"_
,
~
, ~
_
~
'
(
__ _ _ ,,, ,
~
_
!
!
i
0 _ _.....__1'" __ _
.
_
.
~
.
i!! o __ ',_
.,---.. _ ,"1 - ,, -
•
fI'ii
(;i31'~
•
VBA Excel 2007
Objetos de Excel N' 1 2 3 4
Pn>pildMlu RecentFiles.Maximum DisplayFormula Ba r ShowWindowslnfa>l
5
ShowChilrtTipNarnes
6
ShowChilrtTipV~I "",
7
DispiayCommentl ndicolo<
eor..tant...,
...
YIOOI devut"ltos (otero largo ~" Boole~n
Boolelln Boolean Boolell n Conslllnte IINolndiclltor xl lndimorOnly IlCommentAndlndimor
lIts siguie<1tes propiedades depefllien de iii ~ad ActiYeWindow ~ objeto Applil:ltion . Est. pmpiedad devueille un objelo Window que representa la ventana
. "."...... itCIiva.
8 9 10 11
"
13 I' 15 I'
n
18
I•
·t
•! •
I
-•
Displ/tl'Hori1.OI1talScroll Sa, Displ/tl'VerticatScroliSa r Displo1)lWorkhookfa bs AlIIoFilterD.!eGroupi ng Displ/tl'Head iiii" Displ/tl'Formul.~
Displ/tl'Pagl!Bre2lks Displ/tl'Zeros DispiayOutl iroe OisplajGrid lines Gridl ir.eColorlndex
YIIorft devueltos Boolelln Boolea n Boolea n Boolea n Boolea n Boolea n Boolea n Bootea n Boolean Boolea n Conslllntl! X1Co1or1ndex
capitulo 4
_ . _. "---
--
. •= ., <
•_
_ _
•
t.:,-_
•
111 __ __ . _.. 0 _ _ ') 1'1
,
-
0 .... _ ,_ ... 1.) 111 __ _.._ _ 111
-
0 _ _ _ 111 111 _ _ • (f) 0 __ "
_ _ ..
_
.. _
.... 111li
111,- , _ _ , 11'1 0 _ _ " _ . _ _ ,, ' "2) 111_' _ ' _ " _ " ' ' ' ' '''-113)
-0_.. --_--. __'--,,'I .... "" • ,_ []. [],
_ ,__ :a_ •.•.__
.._.. lOll _ _ .. _ H I )
• II c -
• ,...
Propiedildes
I
MultiThreadedCalcutation . En!lb~
2
MUltiThreadeaCalculation.Th~adMode Con(ol~ntes ,
J
•5
, 6
8
MultiT hreadedCa Icula!ion.Th~adCoun! SaveLinWalues Prec;sIooAsOi~ayed
Date l904 UpdateRemoIeRefer""""" EnabieSouocl
• •
V, Iom dewtI1O$
8".,,"
'"""'""
xlThJ1ladModeAutomatlc: dThJ1ladModeM.nual
[ ntero Boolean Boolean
..
"" " """"" Boolean
Objetos de Excel H'
9 10 II 12 13 14 15 16 17 18
Propl l dadH Ena~imations
IgrlO(eRemoteRequests
AsUoUpdaleLinks wamOnFuncliooNameConflicl MapPaperS~
AIISI>Irtuppalh TransHionMenuKey TransnionNavigKeys Transilion£
.... "" .... " ...."
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 Izquierdo de 18 venlana princi pal de Micmsoft Excel . Rell doble. Di5lancia entrl:! el bofOe supet'iI)r de la panta lla y el bofOe wperilncia entre los botdH IZQuierdo y derecho de It ventarno de It .plicaciOO.
!
Cadena de cariICleteS. riombre mostrado en Ii ba rr. de litules de la venlana MIe rosoft &eel.
I•
"
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>
~ "bllI~
completa.
FormulaBa.Heilht Entero I
Boolean. Indica !Ii 1M miniMrrllS de herramienUlS dfben usUMio hace un elk derecho f!t1 I~ vemaN! del lillfo.
'!)life<:
cuando III
StatusBar Cadena de earactera. Texto de la Mrra de er.tado. Visible
Boolean. Indica si la ventana
~ncipal
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 utom~tie!l a medida que 5e las fSCribe. Auton"l.tlons-.rity
Coostante. Modo de seguridad que emple.a MicJOSO!t £luI I I
Constantes
m5QA llIom11tionSecurityByU I msoAlliomIItlonSecurityForaDiubie msoAlliomIItlonSecUfitylow
Objetos de Excel ActIYePrinter Cadena de o;a 'i'IC1eres. Nombre de lao impreso'a act .... ~. Cak;U"lllion Int""'ptKey Constante. lodica III tecla que puede intllflumpi, el redJlcukl en Microsott E
Consta nte. lodica eI estado de cllcukl de Ia aphcaci6n, para eI recillcukl en cu~
eo Microsott 8
Consta ntes
dCitcul.1i11l
""""
lIPendl1ll
CllpboatdFormal$ Variant Oevuelve una matriz que contieoe los iotmatos que se encu.enlran en eI portapapeles.
CutCopyMode
Consta nte. DevlJeIve 0 OeIine eI estado del modo Cotta r 0 Coptar. Consta ntes Faloe No es~ eo modo Cottar ni Copi~ r
eo modo Copi/l ,
~lCopy
Es~
xlC....
Esta en modo Pega.
DllaEnIIyMode
I f
• !• •
~
eonsIBnte. Dftvue ...... 0
Constantes
lIOn 110ft xlStrict
Modo de entrada de datos acbvado Modo de entrada de datos desactNado Modo de entrada d& dalos activado y teell! (Escape] desactivada.
capitulo 4 o;",l~yAlerts
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 eu~ pulsando 1& eomtHnaci6n de Ieelas (Ct~IIPausal. xlo; ... bled Consuntes ~lInterrupt
llEnorHandicr
00 se intenumpe
InterMT1pe ej proced imief1to en eu~ y pasa .1 modo OeJ>u,ar en <:aSCI de interruptiOn. el procedimiento genera un ,,'ror (t6digl) de e,ro, 18)
EnableEvents Boo'-an . Pe,ml!e des3Clivar (Fal .... ) los ~n!m; 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 ... ~lteGeIPIvotD.t11
Boolean. Indica s; Excel puede oblener dalm; de un Infofme de labia dina mica.
Hin.tance Enrem la,go. Deweille Microsoft El
ej
cootroladOl' de Instancia de II instancia que llama a
,-
(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 el lamano de popel.
11Itom~tkamente
cuando camtHa
MouseAvailabie Boolean. Indica si
h~y
o.pniutionName Cadena Oe caracteres.
un ,,16n dispooible.
Nomb
e
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 formatDS de ce1d a (se usa oon I. P"'I'ledad FlndFOfmal).
i>&'.
ilUSmui,
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 activ~ .
4. Metodo$ del objeto Application a. M6todO$ que atWan $Ob
Ii !1!
~
I•
Calculate Fueilll un c.!.lcuID Oe 105 d atos
P"'. """" los libms abie<1os.
CalculilttFun Fuerza un n!cllculo complejO) Oe 105 datos en todos 105 libros at>iertos. CaiculaleF ullRebilild Pa ra todos 105 libros abierios, luena un redlculo completo Oe 105 datos y vueIve a establece< !.as dependencias.
Clpitu lo 4 Cht<:kAbort Oetier.e e1 t'tdlculo. C""I>'.rtFormull Convi~rte
las
n:fe,~
de Ge'kla en
\lila
IOrmul.
~~
de1 estilo de reIef·
eocia Al .1 estilo RIC!. [yal""t. Ca!cula la expteSi6n ~sad, como argumento y dev\lelve eI resulilldo. La e;:presi6n debe cor.espondoef a una IOrmula en l"IIh!".
b. Metodos que actU,n sobn! las celdas DoubleCl io:k Equivale a
~acer
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 est~. Intoned Devue/lle un objeIo R..... que represent. la Intef5ecCi6!o de dO$ 0 mo\s rangers.
'''"'
Devuelve la uni6n de al
c.
M~todos
rneoD!i
que actUan sobn: las listas personalizadas
AddCustomList
Agrega una lista personahzada. DeleteCustomlist
Elimina uOl lista personaHzada. c.t(:ustomLlstConlents ~1IIe \lila
lim person.lizad. (matriz de cadena de ca racleres).
Ob)etos de Excel GetCu. lomUstHum Deo<~ el numero c!e la lisla
cadena de
persooa l jz~a
COlrespoodle!1le a una ma!fjz c!e
c.l~te
d , M~ que muestran los cuadras de di"oeo Los metoclos
GftO~nt.Name,
GttSawAs.FIIeNlme, f ll'Klf lle y InpulBo> 51! en el capllulo 5, tituli>do ' Los cuadros de dlilogo' _
c.l ~
expI~
e, Metodos ,elacionados con las aceiones en U te! Execute ExceI4M I<:ra Ejecuta 00II fund6n
IMCfO
Microsoft Excel 4 .0, Y
" K~ Ejecuta un ptOCedimiento "SWifocado CUllndO el u5Ualio P
0 una
On Repe.a1 Define el COIT\I!ndo del menu R~r y eI nomb
Ii ~
is
!•
\Ill
momento deierm inado.
Deline el te.to de la o pci6n de menu De. hac,. y el nom bre del procedi. miento ejecutado cuando 5e 5eMiona fa 0jlCi6n Deshacer (menu Edici6n) desj>Uk de '" ejecuci6n ~ proced imiento q"" define esta prop/edad.
Qu ~ Sale doe Microsoft Excel. Repelt Rep;te la (i ltima ()JIe/aci6n ejecutada desde la inleda.z: doe u5Uaoio .
I,
•
Sav. WorIIspac. Guarda el ~rea de tfabajo en curso. SendKeys
Simula la IlUI"""iOn de teclas en I. aplicaciOn activa.
"""
Deshace la ultima ope
RecordMac:.a G,a ba el c6digo"
~ ac~v.
el grabado, de macros.
Roo Ejecula un procedimiento a llama a una fimciOn.
Wait I. ejecuciOO de I. macro hasta un momento Devuelve el vakl, True ClI8t1do lIega II hoI'. owedlicad •.
Hace u,,", pausa
f.
I!f1
espec~icada .
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 permit; ' el U$O de Iuro:::klnes de diotribu· establecef uflll $e5;cm de corroo ciOn de document!)!; 0 de meosajes.
pa'.
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 capitulo 10 •
Viro:::ulos entre apHcaciones.
Ob}etos de Excel h. Otros mt'todos Aetiv. teMicroooftApp
UM aplicaci6n Microsoft. 5i ~a y~ esta en ejecoci6n , ~ metodo la acliva. 5i no 10 estII , el metodo abre una nueva InSlancla 00 la aplicaci6n. Acti~a
CentimetenToPoints Con,,;erte centimetros en punt05 (un punlo equ;vale a 0,035 centlmelIos). CheckllllSpellltll Comprueba to ortog,afta 00 UM palab,a y ~1Ye TnHI si la pata bta
ItO en uno de los
S
encon·
dicc~arios.
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
I 1I
, .~
, I•
oomandDII 'I"" CO<1~e"". Volatile
Define una funci6n per.lOnallzada como
vo~lil .
Una lunci6/> volilil se IeCalcut.l
c.!da vez que se ",aliza un c31culo en cualqu,", celda 00 I~ hoja de calculo.
,
ca pitulo 4 5. EJemplos de tOclllas qlle lIsan el abJeta Applica tion i .
Modilicat.i6n de la imerfa: de EJecel
Suh 'nt.rf . . , I
Wlto .... pliC.ti¢n f lt",~ ... I . . .~, ........ Ie .plio.oU.. ,C.ptlon • • .... llc.cIOn • • ,N.Be • • ve&' .wlod<>wStot • • z ' "x j_j,ed )"",I.Hio& 10 fu ..... po .... recto .$undard""'t • ·Vor ... na · . $tondard"<>ntS i • • • 11 ""uleo 10 ba. .. ... 1>0«_ ...... (Q. . . .O _ 1 _ ... 1& col . . cl4l>. c "d"' . .
·OJ_',,. ".. . .
. ~ndQ.r.I _ Fo~tting'l .vl&ibl • • • al .. ....... . 1. ~ . ... do. Iwo.............. vhua l ... i • . c.:-.oMllor.I·Viau.' ... io · I.Viaible • !nd With
T<'u~
b. Creaci6n de una listil per50flalizada Oi_ i ... Int.90< 01_ !
_..
"ppIic~tion
S. ' .. e'~ , ••
c~luomo.
I. l Y •
, -"' d o h Ii ........... _trio N"""I ••• . (>etCU oto-!- 10. NY_ I"rr • • i.JkN"OITobLI". " "" UliQurullnbLlot. 11
Ob}etos de Excel - IColloll , ., _ TabL !.tl il i Boo With H.~t
c. SelectiOn tie columnas no consecutivas 01. ""-!ti pl .... og< .... 'on90 er •• OD QbjobO ..... ' Y • $0, .... lt Jpl e ... "'1" · """U
~ol "' .
Mult l p l "''"1''.~Qnt . a ol
• ,roc
_
Y
'U ••,..,<1.....
''''It'pl oR&nge.Solo.t
d. EvalulICiOn del resultado de una f6rmuia
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! 118~ un ClJ(fIML!,io PI"~ cMJ~ 1IIIa. [sle ejemplo
ClIc1J~
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 ~.'4&. ll_do "" .... Sot No'. . . TM . ",,
Il.l&i .... , . . . . _ , . . . ... S.I~ tlQn_ CI
I .~
•! I•
•• ~nt.
C.lou' , .1 p . . . . .'o y .1 ~l . . 4~.-- _ r:v .... < . I · ~Y .T. 9 . 'nOt • • dKax. £Yalua,ol" Mu (nct •• ,",
. . ..."",<1& r. ""
'or .. oh
,·J
",-'..-10 "".. ~ ..... DO'. In ",,'ec
MI
S.l.ct eo ••. v.lu •
e...
10 • dIWc
.>ddC: ... nt ' Kl aolo, '
e...
10 • 4.rooo .M0< al
p"""",,",,,.
. . .I . . .
capitulo 4 --- 1- ."" •• l . c t I"" IIlth Moxt
CIo l
•• . """
. ... . ---
'-"'"''
~
B. Objeto Workbook Este objeto representl un libro Microsott Ucet. EI objelo Workl:Mx>ll es de II colecciOn WorI
u~
EI objeto es d....uello po< las siguientes propiedades del objeto Application : - WO!\cbool\s - ActilleWO!\cbook
_ ThisWorkbook
miemt>ro
Ob)etos de Excel
1. Objetos y tole<:ciones
I , l!
.j!
!
!
-•
Objms SrllllIIT.,options Objeto que representa ~ opciones retaUvas a las etiqlletas inteligentes.
Objeto que representa el lema apticado alljbm_
y
capitu lo 4 VBProJect Objeto que
r~ta ~
proyecto Vis~1 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
CustomDoc:umentProperties Colecci6n de las propiedades de un libro (titulo, .uto<, comentarios. etc.). CustomVlew$ CoIecci6n de las vistas persooalizadas de un libro. N. ~
CoIecci6n de los rangos coo oombre de un libro. Publ l!ohObjects Coleccilln de los elementos de un lib", grabado como pagina Web y que pueden ser actualiziKlos.
'....
Coleccilln de los estilos de un libro.
T,bleStyl.. CoIecciOO de los dislintos eslilos aplicables a una blbIa
IF"~
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 un esquema XMl.
~
los elementos de
Xml Narnespaees CoIea:iOO de los espacios de oombres XML cootenidos en ellibro especificado.
2. Propiedades
I . Prop ledadH relatiYas a I. actualizaci6n y grabadc:l de 'ibros Cru'*'lKkup Boolean. Indico .; ..
~~
II"" cop
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
• I -• •
!
Constante. Paoimetro de! libro para I.! aclualizac:iOO de los vlncuios OLE illCOfporados.
,.
capitulo 4 UpdaleRemoteRemences Boolean. Inda :Ii M;crosolt Exceillctu&liza
~.
refe«!ncils remota.
~
libra.
b. Propiedades relativas a libros compartidos AutoUpOlt.Frequency Entero ~ rgo. OevuelYe
deliroe el tiempa, en mlnulos, I!I1tre dos IICtu&l izB· clones alltomaticas en ~ libra comparlido. 5i esta prop~ad recibe ~ ~alor 0, II act~iz.d6n ..,llmenle 51! Mte I I guardlr ~ ~bro. <'I
AutoUpOateS.veehlnge. Boolean. Ind ica $i las mod~;cIICiones "'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 actll>llizi un libto comp.!lrUdo. Hi&hlilhtChanpsOnScre.n Boolean . Indica si las mod;~cldones en panlalll,
KtepCh'n&eH15tOfY Boolean. Indica :Ii est6 habllitado partido,
~
~
libm companido se resoltan en II
seguimienlo de cambios en ~ libra com·
UstCh.IlIf$OnNtwshett Boolean . Indica 5i las mod~icaciones del libm compartido se muestr. n "" nueva hoja de dlculo. MuHiU ..,Editinl Boolean Indica 5i el libra estA lbierto como una liua compartida,
UM
Obje!;os de E)(ceJ Revi5ionNumbtf En!em ~rgo. Oevuelve ~ caa abiefto como lisbI tompartiod~.
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 ~ r.a malril de dos dimensiones indexada a parti r de I, coo la Inforrnacilln de ClOda IJ5lJ
... _ d Cadena de ClO .actefe5. libro.
Devuerw ()
defioe la COOl1ar.offia """"""ria pam abIi. el
P..._dEncryplionAla:arithm Cadena doe ca.aciefe5. Oevllelve el algo.llmo que usa Micmsofl £ttej pa.a cripla. 1M tonl1.~ •• delllbm.
en-
P....GidEncl)·ptionProvidef Cadena de ClO,ac;iefe5. Devue4ve el nombre del pl'O'> ee jo)' del alRD'~mo de cilr. · do que uWIl.. MicrosC>!t Excel para encripta. 1M COOlraseilas del libro e!ijleCifi.
"'"
I.1 ~
!
I •
P'OIwordEncryptlonKtyLl1l(lh Entero I.. ,go. Indica I. Iong~ud de la clave del .Igorilmo q ue ulilil. Micmsoft £ttej PiI" eocriptar las tonl.asetias del libm e5!)9Cificado .
P...wordEncrfplionfiIeP,opertiet Boolean. looica si Microsolt EJ
Capitulo 4 ProtectWindows Boolea n. Indica si la. ventanas dellibro estiM protegidas .
."""'.
Boolean. Indica si ellibm rue abierto en modo
RM
WriteP,uwon! eadellll de carao;\eres. DevuelYe 0 define I.
toI1tra~
<.Ie
escr~ura
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
Objeto'> de Excel [)efauIIPNotTableSty1e Variant. Espec~jca el esl'lo de la~a de I. colecci6n TableSIyIes que como estilo por defeclo pala las tabtas di~micas,
51!
usa
DelaultT.bleS~
Variant.
Espec~jca
eI estilo de tabla de II
co~dOn
TableStyies que se u.a por
defeclo, DilPlayo. awlnrObjecll Constant1! , Devuelve 0 define I. maner. en que se mueslran Ia!! fiI
En.'elopo Visible Boolean. Indica si ron ~isi~es eI encabezado de composici6n de los mensajes de con"" y I. wma de he...amientas de robre. f uli NameURLEncoded Cadena de caracteres. Nomoo. d es espe:;1.,. me!1te iit.1 pa ra 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 ••.
I i •!
,I•
Show PlYOIChartAdiwf"1eId.
Boolean Indica 0 deline si eI panel de lareas milO de gri\fico dinamico es visible . ShowPiYot TabieFleld List Boolean. Indica si IIlista de campo. de una labia din~mica puede """"lIaISe.
,
capitulo 4 Templ.teRemoveUtOata Boolean. Indica 5i las re/ereoclas de datos exteroos se gra~ como planWI •.
se ehminan
cuaJX!o
~
libro
3. Usta de metodos a. Melodos que acluan
directamente
sobre los libros
AddToF a_~ ..
ABrega el libm espeo:i!icado a la lista Web .
..,"""""
Aplica el tema
espec~icado
de hivorito}!; de la barra de herramienta5
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.
()penC»tabu. ADre una base de dato)!; y mi.le&ra la informaci6n en un nUf!1IO libro. un objeto Workbook .
Dewetw
Objetos de Excel P~' 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
to~a$
dill3micas del
~.
....
OistIibuye ellibro usando II lisla de distribuci6!1 activa . Guarda las modificaciol1es dej libra especiI\CIIdo.
""M
Guama eI libra espec~icado en otro arehM! {equ".'" a II "I"'i6n G",,~r
como del me....' ArchiYol.
-I
Guarda u"," copi. doe! libra actiyo en un nuevo arehivo sin modif;ca, eI hbro abHlrto en la memomr.
1 , Updll.FromFIIe •
!
I,
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 memoria. Si la COlI;' del di""" 00 Iue mod i/iclOd. ~ que ""'P' &1 libro en memoria , la COlI;' dellibro reo.idenle e" memoria no se recarga.
• 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.
,,-
Protege el libra especilicaOO pa ra que 00 pueda mod ificarse.
ProtectSharin, GraM ~llibro e impide que ""8 comJl3r1ido. UnProtect Qu~a
Ja proteccoo dellibro espedicado.
UnprotectSharing
Desactiva la protecciOn que impide comparli, ellibra
c.
M~todos
~
10 g,ab/!.
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 especificado de5de un servidor. EJ:~JuliveAcce$5 Alrib~
al us.uario actllo1l un "'Xe50 "",I.,s;vo al libro abierlo como liWl <:om·
Jl3rtida. Hi.hlishtChangHOp!iom Conlroia cOmo se muestran los
~ambios
e!1 un libro comparlido,
Objetos de Excel RtjectAllChlllIIft Impide los cambios :lOb"' .. libm compartiOo
R,_
""",,,,~icado.
UHf
Oesconecta el muario es;>ecnicado del libro compartioo.
BrN kLink
CorMerte 1M I6fmulllS
vinculada~
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 MlIe$Ir~ un documenlo de IIr cache ... y. ha sido Irall$lefido • IIr miquin! 1oc:.11. De 10 oontrar\o, este mo!todo resuelve eI h
Unk lnfD
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 I~ matnz :IOn los nombres de los documentos vinculados. ediciones 0 ~rvidores DOE u OlE. [ole ml!todo devuelve Empty 51 no hay vlnculos en eI Tibro, ~Ive
l• _"""
, •
!•
Abre los documentos Ofigen de uno 0 m~s 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 procedlm iento e jecutado vinculo ODE.
ood~icaci6n
a cad. actualizaci6n de un
Updatelink
Aclualila uno 0 mas lIirw;ulos Microsoft &eel, ODE 0 OLE. W.bPal·Pre~ ie .
Mue
e.
M~todO$
relaU_
se vena al se. Ruardado
.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
Review. ReplyWrthC h·ntel [n.ta un mensaje de CO'r1!O ~ectr6nico al auto. de un lib'" enviado $l6n y Ie informa de q"" la .evi!i6n ho oido ","l iIad • .
p;! .B
revl·
Qbjetos de Excel
I.
Otros metodos
l os metodo5 reratiws ~ III Importaci6n y ~rtaci6n de lIf(:hiVO/i (~MlData, Xmllmpon. etc.) se e~pliclIn en el capll1Jlo 11,
~I
IorrnalO XMl
4. Ejemplos de c6diSOS que usan el objeto Workbook
Para proOO' estos ejemplos, debe crear un direclorio c:Wentas con la base ejemplo de Accewind.mdb. ~.
Cn!aci6n de un libtu Excel
[ I 5ill\Jien~ ejemplo permite:
- Cenir todos los libros abiertos excepto - Creal' 00 II\>eYO libm, - Protege' el libm con
~
libro activo.
contrasel\~.
- Agrega r ellibro a hi .sta de FavorilOS, _ GrabM y cetfa r ellibro, ~
Sub ..... Y<>L lbrO Il
0 1_ Llbn> ... "'r~""" ~ 01. I ... '"tego< 01. j ... 'nu<]o< elo,,
100
I lbroo
(o~
.. tQ
.,
Ilbrc
o
y euor4& 1..- 0_1_
' Or lOoh Llbro 'n ..,..""" • •
I ,i •
!
!•
-"
Llbco ,cloo. TrU.
"0"
Llbro
e... OD o~.¥O "bro Sot Llbro _ Appllcot IOD ,MQ r . """ • • . Add " I
Capitulo 4 . .. I . .
.ro._
. 1 Ub
..... '.',.,1 •
eo.. e"" .....11<0
·v.n... • . wdU •• u""rd . ·M_Vent . . •
0..,40 .1 'ib,o . $ovU. 'C, \ v.nt . . \V~nt •• po. "9160' "V.oga .1 Ub. o a 10. lo_ • • to. do I. b. . . . do _
_ 01>
.Md"Tofov<>
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. Ex~r\l! '
Abrir Sv.b
0'.
esta infotma<:i6n en 00 archivo HTM L.
el archivo HTML.
c...Ift>II.'U.11 Lib. o ... KQ
I~ •• O 10 .ablo C"oa'.' 4 . I. b . . . Aot •• • Mo •• bwi~ 2007 OIl un ""...., lib..., Sot Lib.o • II<>.kboo" •. C!penOi.obooc _ I' ilona ... : . TIIUII<>.kbook . •• th , ' \ North~ 'n ' • C: ' ''''Tox., . 'S_LlICT · ''''''' CLIEIfTS ' I 10' e""" •• • "" .rch.!..... tal. Ac. j v~II<> r . boo • . So v~.. "I~n.o . . ..11>\.11<> r"""" •. h t . • ,\ eli 00 •••. hto' • fll. f o ... ' "KlI.kbook . Open .jl."".... . Thj.Mo.l
_,t.
-,~
~!
~
I
~i
~
!•
"lOi
i
~§
•
'li
i
.~~" , .ll. I .• J!~
c: <.>
Ii
, . ~ ~;;; Q,.
~
; ~
~
~~1
· I!
I'i!
•
~
i...
I
III do ! "i
.
I ,- -, 1 - -•
•
"' "!!:i .t" I
, ! "~ ".'., 1 ,
I
!
,
.!
! • · lill I
!!o
~
... ;
.
!! •• __
" ...
....
t:~.,; ...'
8! n~t .,,... . ... . . .l .,....... .. ' •
·"'-;,
.!l,}!;::
, . .~ --•• !~ . -. •• 11' i !"~" •• -, ~J 1 .- II"-
~
;
e .2
.~ ~
u
0. 0
:::f
iolo ...
~ "~ ~.....
~.;
~
8'" .ll2'" ~
"!.:: ""' .:!H~ 8 ::. "U",,,,,. ~"" . 'i -.:!8~~ ... ~~
o
~l.!~
x • ~ ..
" ~- I. ::
t ~,,.... '11
1l ..... "~8'
.
I lI ,". -,.J , ., It! Ii liJ Ie.. ...." ", i H ." "
.';-- .~
• . :;Q! •
•
~ ~,..~, ~
·. ... ....... :1:: p 1I
,,[
] I H
.,•
I
~,
~~
~
• i• ••
•·, .,• "
,-: !
r
~ii
~,~ - ,
~
•
;
"';;;;
,;
U
~ "~
'2
'I" ,.!
·." ~i~ ~~ B Q
·-.. ..- 1 ,'I ." ,, ••
:i t: ... p ~
, •
•• "
!
_,., , .. -.'" _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
ute objeto
8') dev~to
p:>' I~s 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!! rl!llre:~!I1ta ~ autoliltro de ~ hoia de c~lculo especificad.a. Cells Objeto 1lIna:_ q"" rI'f"esoema tad •• IllS
".
~d ...
de I. hoja de cilculo espedlica-
~.-
Objelo que represeota las opciones de p,otecci6n para la hoja de cilculo esp&cifu;3d~, Esta, opciones son acce!.ibles en Excel a !taw.. del menu Hetramienlas . Protecci6n· p,otea" hojl,
.,...
Objeto que representa """ ~d. 0 un mnll"
""
I• '"
••
Objeto que ,epteS
~
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
espec~;cm.
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
HP",eBruks Coteccicin de los saltos de p'ogina hoja especffk:ada.
horilOnll!~
en I. zona de Impresi6n de ..
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
c~k:ulo c~as
a partir de datos enviadOl$
,,~"" Coieccicin de los escenarios de la hoja de cik:ulo especifocada.
SrNnTII$ CoIeccicin de las e\;q ueta$ inlel;genles a<;OCiadas • las c&k:ulo.
~dltS
de la
hoiIO de
Ob)etos de ElCcel VPqeB,eak. CoIecci6n de los espedicada.
sa~
de
ptigin~
\'ertitales
ell I~
ZOI1a de impresi6n de la hoja
3. Propiedades AutofitlerMode Boolean, Indica si las Ilechas del menu li ell la COlUmN IZquierda, Yinc~1os con los datos de Ongell). ConsoIidationSou,ees Matnz de cadeI\IIs de caracte
Boolean, Indica s; se mlleSiran los saltos de ptigina (autom3ticos y de la hoj~ especificada.
manua~)
DlsplayRiJhtTol.eft
I l!
~
• •
.!l
I
-•
Boolean . Co
EMbiedAlltofilt.< Boolean. Indi" si las ftecha5 del AutolilllO ~n a<;Iillas solamente cuando esU activa til proleccicln de seIIo interlaz de usuario, EMbieCalculation Boolean, Indica s;
~I
recalcula alrtomaticame
capitu!o4 Enablef"OImatCond itionsCa lcu lation Boolean. De.ue1Ye define !.i los lo,matos cond iciooa~ se aplican aulomatica· mente Ii es neces
°
ENlbieOutUnirc Boolean. Indica si los simbolos ~ esq...ema esla" aclNos cualldo est~ acliv~ ~ prolecciOO de 0010 inierlaz de l$J;loo. EnoblePiwtTabie Boolean . Indica .. los cont'oles y las acciones de la tabla dl~mica esI~n activas cuando estll acli~a Ia pm\ec<:ioo de 5610 Inle:;~ls).
5e~iona ,se ~n
Ia
FiR. ,M""" Boolean. lodica si hay apiicado un filtro a la OOja especnicada.
MailEnvMpe R~preoenla
.. encabezado de moosajes <:Ie
CO
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 P rotlCtDrawincObjectl BooIe.n. Indica!.i las formas
gr~ficas
esta protegido.
estin prolegKlas.
P rotectionMode Boolean. Indica .. esti acliva la protecciOO lie 56kl inte
SaO",.. 0 ~blece e4 rare:> en que esU permllido el desplazamiento de to hoj' de cllculo especificad •.
Cadena de caractete5_
~uelve
StandardHeilht Real d<.>I:>I!!. ~uelve ~I alto de cllculo especdOc.ldll.
~nd.,
(v.1ot pot OeIectoi de las filas de to !>oj.
SlandardWidth
Real doble. Oevuelve el al1Cho eslanda. (valor por defecto) de las colum na, de I. hojo de ciikulo e!.pedi<;ad •.
""
Constante. Oevuel\le 0 deli"!!
.....
~
bp:> de I. hoj. de dlculo
espec~a
(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 espec~icada.
I
.~
•! I •
ChedlSpelli", Electua II _ijicadlm Drtog\'8Iica de II hoj. de cllculo esp.dicada (equivale " I. opci6n OrtOl'illlf. del menu Hefu mitcltas) .
Ci
"",
CIQ,Arrow. o Bor,. lis flechas de aud itorla de la
Programar
ef1
hoja
de cllculo
Excel: Macros y leoguaje VBA
especijj •
espec~icada .
I~i'
capitulo 4 CIH!Circles Bot ... los d~ull)$ que rodean las eolradas iocomIClas de la hoja de ca1culo.
-
Hace u"'" oopia de la las hojas del libm) .
IIoia
de ckulo e..pecificada lantes 0 desJIo.~ de una de
....."
Elimina '" hoj. de ti1culo espedf1cada.
EYaluale Calcula la I!Xpresi6n pasada oomo argumento y deVIleJve el fnIl ltaOO. La e~ si6n debe corresponder a uJ\ll fOrmula de tilcuio en ingieo. ExportAs.flxedFormat I'Yblica una hojl de c.!k;ulo eo lormato PDF 0 XPS .
M_ M"""", II hoja de tilculo especificada a uJ\ll urla de las hoj.s dellibfO).
pos;ci6n dada
(anles 0 despues de
Pule f'ega eI contenido
ho~
de calculi:> especificada.
Pnlt$pedll pega el conlenido del por!.apajleles eo II hojl de tilculo especificada respetan-do e! iormato especificado (pegodo espec~I),
''''''''''
ImPlime la hoja de tik:ulo
espec~ i cada ,
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
.......
~sina
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
actu~ I"""'te fi~rada.
ShowllataForm MuesI1a los dalo. 00 II hoj. de dJlculo e!.pI'C~icad. como furmulario (co ....... ponde I ta opci6tl FOfmu ~rio del menu 1><010$).
UnProtect ()esactiva I. prolecci6tl de I. hoja de ,,"\culo
es pec~icad a _
Los rretoOOs relativos a mapas 00 d.105 XML (XmIOataQue
5. Ejemplos de cooigos que usan el objeto Worksheet i .
I .~
•! •
I•
Ordenar las hojas de c~lculo de un libro
fI sieuJente ejemplo permile, - Ordena, las hoj.s de un libro, - Modifico, el color de I.s rich.s de elida hoj•.
C:lpfrulo " .-..0
O«janhUIkIJ"1l
OJ . IkIj. Ao WO,k.hee' 'n . ~
0 • • I ...
... ,
0'· ... • I .. ",,) . . <101 III> ... '0"_ O,d.noaoj •• ActlveWOrkbook
• .corr . 'a. boJ • • 40 c.'cul~ 'Qr j • I 'to Act!v.WOrkboo' ,"" r " "eeta,Couo. h t ",,) • • Activewo • ....",,, _. 0 . . ....... 111 IIlth 110). -'> <10' . , OO'Qr <10 I . Uello .~.b.CoI<>r.
"""-0<:1
b:I o ith ~u. I
'riv ••• Sub O'ae .... lIoj . . ILlb"rol ... 0 0 . _ 1
01 .. I A. In._r 01. ) A. 'nt~. , • ....., ...10.< .... '" po • • Qr _ r . " .....l e _ •• I . . bol •• <10 e' l cul o do .... lIh ...
• it"
Llbrol 'or j • I ,.., .oorun.. t •. For) . ' T o l _ ' It .""r • • " ... ,.IIJ.No_, .iI
"""n.
NeK'
NoK' I ."" lIith
J
Ob!etos de Excel b. Proteccl6n de las hojas de dlculo de un libra We ejflmp/o pro(efIe ~s ~s de dlculo de un libro permi!if!ndo ~. siBuiM!~ IJIJraiucione.; ~!o de celt»s. agregar ooIUffIfIaS y fiI~s. ~o Y IJIJ/Q. filtros. LIs otras operaciooes (e/iminar fil6S 0 cvlumtJds. modific(>k ""rbhe ... ohtCllrr.nt .Prateot PO"VQrd , ·" Cootro.e~".
content., .Trua. ..llo".o ..... ttlf>9C40lh ,. 7<".. _ .. llowl ... ertingCol..mn • •• T..... " 11 owln.ertl"9.ow ". ~rue • .. llowsort i"", ., rua . ..llow' I 1< e
Next ohtCllrr
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 . ""
.Sort . leldo .Md ItOy, . .... """ ( "C" ClO · ). SanOn , . x l$ortOnvolue •• Ordor, . d ""eo""ing. ""t.Optlon , . x lS<>n"".-' . ,""rrtOnval ..... O"'a r , . xl""o_ .... ,,,,,, Do t oOpCi <>n , . x,"Q"-"""" .... t~ "'""ol"" ' , QlO · j .!Ieo""r • x l ' . ,
I•
••
.lIotchC.ooe ••• 1.., .Orl.ntatlon • xlTop,oaottc.
•
.Apply
!
I•
I
s\J.b
capitulo "
D. EI objeto Range [I objet<> R.ngoe ,ep
- una columna, - un rango de ceklas conliguas, - un ,ango de celdas no oonligLliS, - un
'""80 3D_
1. Propiedades y
m~todo$
Pm pledade S !jLIII Propiedad
que devuelven lin objeto Range
en un 0 '10m RanI! Objtlo
=''''''''
Objtlo de¥uelto
Ac\NeCen
Applicahon Window
Objelo Range Que repre5enta 1.1 primer. c.lda k~ V. de ta ventana kINa 0 especlficada.
",.,
R, ...
CoIecciOO II"" agrupa IOdos los ,anaos de una oelecciOO mul~ple.
Cells
Apphcalion Range WorkSheet
ot>jeto Range q,," representa uno calda (I una cokcclOn de celdu: • de 10 hojo acliva si el objeto conter>e
pColumns
Obletos de Em eOI1\e,\edo{
'....
Awliclotioro Worl
Cu~ntRegion
•, •
!
I"
•
,,,,.
Objeto fulr"@ qlle ~\!O Ills eoiumnu; · de la hojl acliva ~ ej objeto contene<.lo. 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, limftaOO PDf toda combinaci6n de Wi'S y coI\ll!1nas vi'cli'S.
.,"'"
• o;dumnas _ a s del ranso npecificMO.
...
EntireCotumn
"",.
EntireRow
Objelo Range QLI!! representa una 0 m,b fillls enteru del rango npecnOcado.
'''''
I
Objeto~
Cb",.
""'" "...
Ranee
" ... Application Workolleel Ranee
,~
repr",;entll
"~
Objeto Range qLl!! represoola Iii ctlda sltUilda .. final d, III zona de lanSO esplCifiClldo. Corresponde a la CQrnbinaciOO de tecia, (Fin][FIecha a,rihl). (Fin l Flecha ahljo), (FinllFIecIla izquierda) (FinlFlecha derecllaJ. Objeto Range espec~icm OespjazlOdo "~ mhs fik1s 0 columnas.
• •
Objelo Ranee que ",presenta un .10lI0 da caId..,
• de 18 hoja activa si el objeto conler.edor es Application. · del .ange> eopecnicado'; el objeto comenedo. es Range, - de II hoia npec~;cada si ej objeto contenedo. es Worksheet.
Capitulo 4
"'....
P"",i . dad
ObJelo devueko
~....,. ,~
" ...
Objeto Range que "'Il'It:en,ta tod.s lis fills: " de II hoj. a<:tivI si el objeto conter>l!do. es AppHcatioro, . del ra~ especijicaOO 51 el objelo coroleneool es Range . . de ~ Iloja especijicadl 51 el objeto contenedor es Worksheet.
W......,
Objeto R~nge
ApplicatOoo WOfI
U5edRlnge
MO••"
,~
•,
,,-
,.
devuelY n n Db" to Range
Milodo
Objl'lo devueIto
corote~
'o~
Apl)iicalioro
Objeto Range .~ fIlp!eSenta reclangula. de va.1os rangos. "
Union
Appiicalioro
Objeto Range que representa I. uni6n de varios
IntHSlCao..
langos ronti8uos 0 discontinuos.
2. SintaKis de las propjedades que devuelven un objeto Range
-Celis
[email protected] t. (( RowInde x ]. IcolumnInde x ]I RowInde x
nilmero de fita de la celda.
Co lumnInde x
mimero de coIumJIII de la
o Si
1'10 se indica ningtin a'llUme<1to.
rango
espec~icado.
celd~.
Cell. devuelve I. comHln de celdas
dej
Objetos de Excel £jemplo £1 silluiente ejemplo modifka el COfItet>ido y eI color de celdas. SuI> L'~""Hoj"lI
c.,.........
OJ .
"'n~
"""HI. . . . """._1 ....
(So
, . . . . . . . . . (So
.c.n.() . • 1 _ ' e""",' """Hie• • , co» • ..,I.... (So , .. 00'''' ••
10 "", • • •
A,ppll~ .. tl""
110, ..... h . ,,<:.1 v.&h.." . " ' '''S. ("~ l ,0,0 ' 1 . Coll.I ~ . II • • f. b, • ...,· """ltl • • 01 eo»'.oQ,d<> (So , • •• , . . . . 3 (So , . 110, . &O.h. AetheSb .... t.c .. 1 • • ..u.o·
_'U••
'.O.•
oj ~'Q'
(So , ..
__ ,.. e.' .... Ct. 0. ,a. D'
'0' r..ch Col ...... In "''"]O ("C I,O. ·I " ... t
,.I40.lot . ,\0 •. oo10, • vbRod CoI40
~~.
Range ObjetO. Range
Ooocle ce llI
(CellI, (C.. 1l2])
~
Ce1l2 pueden ser: UIIi! celda (pO< ejemplo, ' AI ' )
un ,ango 0. celdas (po' un nombre de celda
~emplo,
(pO<
' AI,S7' )
ejemplo, "ToIales")
Si Cdl2 esu especffic.ldo, Range devueM! un 'Ingo de celdas contiguas que Incluye los
~nicados.
I i •!
,I•
"
,
capitulo 4 fjemplo
fste ejemplo CIN I" siguiente tabla en una fIoia de c,j/culo.
sub Koj.Rooult.
ci. i .... ,n'agor
01. _I""..
Wi th ~l l < . t lon . Actl~' h .~ ' ..... n"" I ' U ' ) . V.lu~ • ·~.u l t.do .
tr1 _.tr. l ~. ·
...... col_
Fo .. I , I T o ' .1tan9.1' A· • I • ').v.lu • • F<> ..... I''''''.V.lu.I·OI/· ~, Kext (
.
"10 1 ' )).
"_.)
" g l - ..... fl O.
.... ng. ' · . , ' . , ·) , V.lue. A,nyl · ln. " , '''''''. " . · Su .. •• ' MO'U') Fo..a'o ... cd40 •
........ I· ... ;., · ) . _rFo""'" • ". ,. O. OO -E " ........ I·A7 · I _VolU4 ' · Tot.l~ .· ~<. 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 • R.o ~ (" r'· I _ Na_ ' "Tota l< " R.o ... ~ ('Tota l< ' ) . Po ..... l . • ·,.LOur" r'l •
• "" . i th
Objetos de Excel
""", Objeto.Offs..t ([ r OwO fh e t l . [columnOfh e tJ) rOwOfhet
Cantidad de filas de Oes!:"aIlm;ento.
colOfhet
o co l Ofh et y rowOfh e t pueden cootenef va10res negativos. E~mplo
EI sillu~ te e~mplo 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 •• _ _
Dt'vuoOlv. " IS. US> Mog8<>J< .Ort..,tIO. · 11.Md. . .. .... pl . . _ I0... " d • ...,. ."'..... 0 .... 10 , . . . . ..., ...
Poouol.o '"'7, 'CI ' _
. 098<>'
With
.o., ..t " ,.
Ol .""""". .
Areu
I
Objato.Ar .... a
Illno:lexJI Numem del rar,go en distintos fDngoS del objeto.
o Si
00 se indica ningun argumento. Are n
espec:Wicada.
devuelve Ia co4ecci6n de ransos
capitulo 4 fjemp/o fste "jemp/o pe,mite, - cre~, una rom formilda pIX .arios fangos de cekUs discootinuos. IlfIna, ,,/ Pli,",,' rango
a parti, de una mauiz,
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 , " " ' )
"" ~ ( " 8\ , .5 " ).
Wi,h ""noTot. .. 1.0.... _ n .... . . ])&_01 .. do """ _ , .. 10 _ ~ ..... ( 1 ) . VOl"" • ~ n ~y PI'''' . "0 . . . . ". "*'>r ". " Non.') PoG. u.g<' t . 10. 0 ••• 0 ••••• de tado. 10.
*"
~O r
'
.
lT<>l
. ~ ~.I i )
"ext ! _hl ..,;t end . Ith ."" Sub
. 'on,. lQld • ;,".
<_.
Ob)etos de Excel 3. Lista de objetos 'I coIecciones
I o
.~
•I
ella.act .... Ob;'!o que reJ>re5"nta to!I earac!eres
~ !&to
de la oekia esjleCificada.
Com""", Objeto que representa el comeniano asociado a
~
celda.
•
!•
Obje!o que representa
los effOl'eS en el
.a rea e5!*ilieado.
capitulo " ,~
Objeto Quoe cootiefle los 8!1ibutos de fUl!f1!e (oomb ... , \arrutllo, color, eto,) "'" r
ft'present~
eI ft'lleoo de IllS celdllS
~
rareo especilicm.
PivotCall Objeto que tep'ese<1ta una celcla en un jiifvtme de
V.lidation Objeto que repf\!5eI1ta la
viJIid~d6n
ta~a
dlnamica.
de datos aplicada al ranlQ especmcado,
XPath ObjetQ quoe representa un XP8th {ruta XM U m;lpeado en especilicado.
ej
r
CoIeetlorle$ Are • • Co~i6n
'"'''''
CoIettiOn
de todo$ los re"KO$ en UM 5e1e<:l:i6n de m..,has d ~ to
1m _
del r...-.go de
ce~a.
Z
""!"'cificado,
F_,!Conditions
CoI«ciOn de 1m fI:Irmatos cond icioM~ 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 f~ica especnic8 en UM ce~a.
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 d~t05 &temos.
SmIortTilli ~ecci6n
que rnpresenlll las etiqueta. in~li~tes (Smart Tags) asigr.adas a cad. ce~a del rango especificildo.
4. Propiedades a. Propiedades relaelonadas COlI la poslei6rl y eI forrTYto de las celdas A1lowEdit True s.i el
rango
ser mod~icado en una hoi! de dk:ulo protesida.
puede
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 especilitado. CoIumnWktth Oevuelve 0 define el arocoo de tOOas las columnas del '"ngo e."ec~icado.
I.i :1
!
I, ••
Hort.ontalAlllnment Constante. Define 0 devuelve e4 tipo de aline<'ti6n Ilorilontal .
InOtntL.....t Devueille 0 doefine el nlvel doe SIIngria electNo.
,-
OevueM
~
Prog ramar en
niimero de
I~
prime", fila de la primer. zona del tango .
h eel: Macros y lenguaje VBA
liM
Capitulo 4 RowH.Je hl Oevuelve '" alto, medOlo
~n
puntos , Il£O
eo;pec~icado.
UAStandl, dHeichl
Trw iii '" alto de fila del objelo RIRIe eo; igual alallo esUndaf de I. hoja. U..,Standl" IWidth Trw .. ~ .ncho
""•.
CQlum~ dej
objeto Rl np es 1&\IIIIai ancho est!ndar de
~
VenlealAli, nlMltt Coostante. Define 0 delluelve el tipo de alinellCi6n ~I.
b. P ropiedades que se con las f6nnulas
re~ONIn
con e.J contenldo de celdal
~
COIHltUrt' Detem>lna el valor
mlximo en ~ ,ango.
F~""
DevueI"" 0
~
16rmula en III eslilo de re/(>rencla AI.
Formul. Locll 0evueM! 0 define II f6
Formul. R1C l Oevueille 0
d ~1
dej
objeto u."ndo w.;
objeto
~ndo
~..e nciM
do! IISIjIo Al
en
1<15 ooIl1Clooes de estilo RIC I.
Formul.R1Cl loclt
Oevuelve 0 Oefine ta 16rmull usando las notaciooes ma del usuaOo.
Prefu;C"-'acttf Oevuelve el prefijo de al ineaei6n de Ia cetda.
d~ eo;~10 RIC! en el idio-
Objetos de E)(cel ,~
V!lor de la la celda).
celd~ ~ilicada
COIl el formato especi!icado (contenido visible de
Value
V.1o< de I. celd. especificada. Si la celda esti vada, Ia propiedad Value devuelve el valOf Empty (use la lunci6n I$Empty para testea r este oIljeto Rante eontiene varia! celdltS, d
(Ie
c.tSO).
Si eI
valores (use la
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
es~1o
u$t .... .oorROW$ Oevuelve I. canUdlKl
(Ie fila~
COIlIiene
celda~
eomb;nadltS.
de encabezado en el rango
espec~ic&
5. Mitodos a.
Meiodos Clue devuelven LIn objeto
CoIumnDiltertn«S
I ..
·t
•! •
I•
Oevuelve un objeto Rance que represenlll la. celda. donde el cootenido es difl!!'ente al de Ia celda de comparaciOn de cada coIumM.
find Busca uM inform.d6n ""p""ilica en un fango ~ d~uelYe un objeto Rlntt Que represenllli. primer-a celda donde aparaee esa Informacilln . FindNe~t
Continua UM bUsqoo:Ja
(sig~te
celda) iniciada con eI ffiO!todo And .
Capitulo 4 FindP"",ioul ContinUa una bUsqueda (celda antetklr)
In~iada
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 COI"r~en ef lipo ~ al valor
espec~icados.
s.tPn-tic CrI!a un objeto Phonetic par. I4s celdas del objeto Rarce
espec~kado.
b. • M~lodos qLle se relationan con la pre-sentaciOn de las celdas AddCommenl Ajjte80l un comentario al ,ango. AUloFIt Mod ifica el ancho de la. coIumnas del ,ango
° eI alto de Jas filas para aj".ta ,
"". dato:o; .
Borde,Ar
~
define
la~ ~ades
Color. L1MStyIe y Weicht
del nuevo bonIe. CI.arComment. Guila tooas 105 comenlaros
Cte.a,Formll' [lim;"" 105 form.IOS doe las celdas.
Cte.arNoIcs Bo"a las nolas
~ri tas
y sonoras de todas las celdas doel tango eS!)eC ificado .
Ob}etos de Excel 1~lndent
Inserta una sangria en las celdas ~ fango especificado.
,,"'.,
.....
Reotgliniza eI
Comb4na las
te~
en un fa nee> de lom1a que 10 Ilene de maner3 unifofme.
~Id~s.
HoieText Oevoove 0 define
esquina
~ now SlJpt'rior ilQlIierd~ del
de cfldas ,'50ciiJd~s ~ la celd~ ubicada en la
fa""".
Sort OrdeM un fa""" de valares.
TextToCoIumml Redislribuye
~n
v.rias coIumnas una eolumn. 0. teklas que contiene lexto.
UnM' lIf $epara un ceIda comb4l1!1d. en celdas
c.
M~
que
Ie
indMdUil~
relKionan con eI contenido de las celdas
AulofUi Ejetut. un Henado ine",menta l en In ""Id.. del rang<> es".,eifitltdo.
I
,i !
I
-•
AutoCompiete Dev~ 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
espec~icaOo.
CopyFrom RecordSet CopO' "I conteo;oo de un objeto Recordset AOO 0 OAO en una hoja doe c';lculo. comenzatldo eIlla esquina superior izq uierda <.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 eliminad as_
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 R"~""
lin rango h. d •• rriba .
FunctionWi...rd Inicia el ~st"nte par. tllnclooes en la «Ida situad. en la esquina SlIperior izq u;efda del ra ngo.
'"""Inserta celd.. e indica c6mo OesjlIozar las celdiS.
ObjetOS de Excel
..
~
Redi5tribuye un ra"l/O de d~los y It> divide en varill5 celd~s. Dislribuye ~ COI1tenid" del range de ma"",~ q"" I ~ vari~, coIumnas adyacentes; el '~neo roo pueoe Ie"", mas de UJIII coIumJIII de ~rlCho_ PlsteSpecll1 Elect':" et pegado especial de un oo;elO Rante proyeniente del portapll~es eo et ,aneo especificado,
RemoveDupt ic.ltes Elimina los datos repe!idos en un ,ange doe valores. Replace BU5C~
Y reemptaza "" ,acleres en I~. celdas ~ ,ango espe
d. Melodos que se relacionan con los nombres de celdas
App/yN,mes Deline IlOITlbres pII ra las ceId-as del rarogo
espec~ica<.lo_
Creat. Names e,ea nombres en el raneo esj)eCmcado en fund6n de los rotulos de texto doe Ia hoja.
LlstNames
t •
'. :i:
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.
e.
M~lodos que se
relacionan con los fillros
AdvancedFilter Fill,a 0 copta los datos de uJIII Ifstll en funci6n de una zona de cri!efios,
•
!
i
-•
AutoFilter Fiit'l
u"" li""'_
,
CapituK> 4 f,
Metodos que
Ie
relKiofian eon el modo KqlH!1Tl.1l
ApplyOutlineStyies APica los estilos del esquema al
ra~ espec~ic.ldo,
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 ~umna entera 0 UIl fango de mas 0 de coiumnas. Pa ra un ra"iO dlsrontinuo de un Informe
Prnmueve un rango t!Il un esquema (es declr, reduce su n~ 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 djn~mlca, eI m~1Odo desagrupar~ 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 q ue prnvoca n un error, ShowDependt-nts
Mue:ltr. las lJechas de rastroo que seIIalan las <:f:klas depeM >eotes direc\as rango.
5hDwPrecedent. Mueslr. las flechas de raslreo que seIIalan las celdas precedentes direct1l$ del rango.
Objetos de Exre ShowElrors Mue;tr~
las fiechas de rastmo ~ 118m de til estruclura en ~rboI Oe las ~dn precedentes a la ce~a 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
.'"
Indica que el rango especifteado se recalcuia ra en la proxima actua lizac 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",.
,....
I i,
Crea una tabla de dat'" a partlr de los valores Oe entrada y Oe las f6rmulas dell"",,a. en ,,,... hoja Oe dlculo.
!
,i• "
capitulo 4
E. Ejemplos de uso de los objetos I,
C~lculQ
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 calcu l. , I. prima 1 ar.iSnarla • la cekla de la derecha. Sub c..lc_.,. . looll Dl. dbI Vli •• ooo Ao ooublo Dl . cel~ Ao ... "..e . el.ool611 .... 1 " _ U,.'do "" ...,o ( ' ",,' I . • eteu;o ..."... . Sol"", CUo~". d.l ~. .010 .... 1. ool.oel'" dbl V1iP, _ • 1JV.1uotel·" VUA<:;>: I"") ' I Th!e . O"IU>oo ~, ~ •
. ..I ' . ,
Objetos de Excel . . .I . . . • ..,0.. .
I ••
col"".
do h
. . 10.:<16<0 • 1. ~.l"" ... la ......,....
"'" pr . . . . . .1...1 _ •• •• '9"" ~o h
FOr
od
• r . . iolc.ldo.V.lu~. dblVNpro.) Nex t ~,~
."do
La tuncicln Prom", Cilk:ula el premio en luoci6n premedio de 105 oIrns VN .
~
VN (valor negociado) y
,,,,,,,140. ... , 10,,"'''0 VII'
•• ..!o ... s",,,,,t "" ... ""I'm Co •• I. < 100••• Preo!o • 0
eo ••
I. < ,.'.0.
Preool O • ~oo Cu. 10 < .soooo c...
Pr •• Jo • \000 U .. • ,...,10 • :l000
Rn
5' .1 VOl •• • ",,"0. 01 • • --... .. d . 10•• If (\1)1"" •
~t • •
~U
I ,i !
!•
,
~
capitulo 4
2. Asignaci6n de comentarios a las celdas RES/,MEN Of II£NTAS
Cuaodo el usuario hace che en ~ bot6n ComtnIarios, se ejecuta el proced imiento MO$trJ' c-nlior\o$. Este procedimiento llama al procedimiMto Compo •• V.1or pa~ comparllr cada una de las celdas seleo:;ionad~ coo III cetd8 situada a 5U izquierda.
-
-
Su b IIOot<",_ c.-nt nlooO DI . <"Il' ... 01. nlgl Ao "'''!Ie 1)1. rngC\l«.n< U ROr.ge 01. 001 Ao Obi'""t 1)1. , Ao In<~r
"'' !Ie
01. i
Ao In' ~. r
..,. .. I". « ....... <10. y 10 . . . . 110. d. 1• • • I . . old1o ..,.ud Sec rngCu r .... n< _ TM.IIOrkbook .IIOrk.h ... to( "V.ntao · I .... "!I.,·CS , c .. · ,
llic~
rng<."u«en , .Cle . " , rn&<& .1 .... lor de c&de cdde de 10 001'-& com .1 ... 10 eel'" 01 . . . . . . . . . ~ .......
... / .. ,
Objet05 de Excel . . .f ' . . ~.< eo1 • . CO).-n.ll) 'oc j • 1 t<> coI.Cell •. CoIlnt
Set ""91 • eO) . OOllolji $
eo.p.a. vo lo<
A1l1amar a la IuneiOn Campa,a. Va/or redbe como ''iumentos las celdas que hay que comparar. En funci6n del p 20%), se asigna un comentario ~ un Iofm.to a la pri""" . celda. ~n_Volor (rngl Ao ""I\
Sub
DI • • ,,,avol .... String ~ro
10. ,,'oro . ... """ •• , ..... y . . .po. ....
~_,. d Q
W1th rog1
db11 .
r"",_vol ••
• . vo l •• dbll • (db1, _ dbl" / ",,11 otrtvol • Po,...tl..". I - UI. ·0.00 , . ) dbl ~
Sel ec< ea • • dbl ) C. . . I • • 0
,Pont.lioold • = 0 .MJo:-.oo' ,,,tonoJ6n, 1><>< d."'jo ... " • • trlfv<>l C. . . IO
• T......
,lo.(I
I• ,t
!•
_
0",,1 ...
_"''''ero _Lln.otrU • " ,COn< l o."",. . ~nt · O""olen'., po. onel_ de • • • 'r ~ol _ Soloet _ J.th
Capitulo "
C Capitulo 5: Cuadros de dialogo A.
Presentaci6n . .. . . . . .
180
B.
Cuadros de di;§logo integrados
180
1.
180
EI objeto Oialog .. , , . . .
2. Los metodos GetOpenFile Name y GetSaveAsFi leName
C.
Cuadros de ditilogo predefinidos 1.
La Iunci6n
• •
• •
InputBo~
• • • •
•
•
lS I
184 184
2. EI metodo InputBox . . .
185
3. La fuociOO MsgBox . . . .
186
4. Constantes usadas en los cuadros de
di ~logo
190
•
capitulo s
A. Presentacion EI objelivo princ i ~1 de los cliadJ
PO' ejemplo, abri, 0 guarda, un archivo, defini, las opciones de £xcej, impriml, hoj~ de caleulo, ordella, datos, etc. • los cuadros de d.aIOSO predefinldos, Q...e pe,milen rnostra, 00 mensaje, h.ace,
una
~unta
al usua,io
• los cUidros de di~kI&
° irNitarlo a introduci. una InfomlaciOO, personaliZidos ° formutatlos, q...e pe,miten most ... 0
introducif datos en una inlerfaz am igable. La crear:iOO de Iormula.ios persoMlizados se explica e
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 slntaxis: Application. Dialogs (x lDh.logl . Show
see"n
la slgulente
doode xlDh.log es una coostante Ucel que indica el cliadro de d.aloeo Q...e hay Q...e mosItal.
CUildros de dialogo Eiemplos de constames 11Dia/ofj Cansu.ht. xlOialogBordel
Cuadra de di"ogo
""'"
xlOi~logFootPIQI)erties
xlOialogDelioeName
Fuente Opciooes de visualil ad"" Delioir un nombre
.'Oi~lcgFDfm ulooGoto
Ir
xlOialogOispley
~_ . _
""',
.'Oi~logOpen
Guard.r como ...
.'Oi~~As
• 'Oi~logSort
Orde~r
2. Los metodos GetOpenFileName y GetSaveAsFileName Los mlilrxlos GetOptnFiietl.me y GetSaveAsFiIeName
~
objeto Application
mueslran, respeclivamente, los cullClros de di~IOf!O Abrir ••• y Gllardar como ... ~ men(,
Archivo.
A dne
Dilq. correspondlentes (constantes x/Open y xlSaveAs).
eslos metodos no rea!izan nlnguru accoo; ~ a~hivo
introdocido 0
Sinu.xl$ del nMtodo
~ec:donIICIo
~amente
permnen reclljler"ar el oombre
por el usuario.
G~Openfjl.Nam.
Appl lcAtlon .GetOpenFlleN~"'"
(FileFilter,
Fl1terIndex ,
Titl",
8uttonText, Mult iSelectl
Trxlos los a'llumenlo!; son
I•
,t· !
I
-•
opcio~les_
Fll e Fil t er
Criterios de lith-ado: nombre del fikro seguido de I~ exten<.i6n . PDf ejemplo: " P~gi ~Web (" .hlm; ".hlmll ."_ htm :"_ html"
Filelndex
Indice del criterio de filtraOO par delecto.
Title
Tilulo del cuad ru de
ButtonTAxt
Eliqueta del OOl6n Abrir
MultiSelect
Indica si .1 usuario puede ..,iettionar vario$
di~IOf!O. (~amente
para Madnlosh). ~n;hi
_ _
C;!pitulo
S
Sintui. del mitodo GetSaveA.Fi IeH.ITIII IIpp l icat ion , Get Save As Fil e Na me (I n l t laleFl 1e . Fl h l' ilt e r, Pi l terl ndex. T itl e . l!u ttonTextl
Todos los argumentos son opcionale!.. InitialeFil e oombte del archive que """rea en I. rona de teJ
Em ejemplo permite :
mostnJr eI cuadro de archivos,
di~loeo
Abtlr coo I. posibilidad de selecdooar varios
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 ped i' <:onlirmad6n. "~b
"" .... Lib"". II 1)1. . .'
0 1. i Ao Int . . ~ r 0 1. j ' " In, .,.. ,
....... n
o! < _ a ' " dUl .... .......
• «'U . . . "Ppl i ~ . tio n . C)o t OponPn~ ",, _
I fllofUtn . · "Arch l vo. ",,,.1 ( - d • • I, · . xl . . • • T ltl ., ·· $eloc~ l on. 10. o r c h 'vo. quo hoy quo ohrl." , . __f _ ",,1 t i Solo<:t , . t ,.o l
Cuadros de di.ilogo - I
.......u. 01 10 • •",hl_ h&.o . 140 .oloccIOtlo4o. It Type ...... \.U'ilUI _ ' V.
xIFllcoIUBoYnd(., •• II • • 11
~r
_ 1 ...,
I
\JMurull.cr. lleol
""",.......... ...... 150:1 4401
. ro~
.....
"RlgMI."fllulll. 11 _ ..... Then
• .".... . . . . .. c"", y • • • • , ... I .. . ~ blnAblono _ 'alOe ~r ~.ch .bI<
In
""r~ """"
" ""' .foth •• \ , • ""k."_ • •t,'I1UIII
Thon
blnAb'o,to _ T.. o
"
","x, ~ .bk Gu.o .... 01 ........ d o l •• d ...............
If Not blnAb ••• to thon j
- j
• ,
.. ,Il".llI _ .trMonoaj . ao~ It
.u." ••,,)
_ .trMonaoje • • , •• 11 •• ,', • VbC,
1<><1 If Ne", 1 lob . .
......... , . . . . .cbl ..... ...,.1 . . . . CCIOIU . . . oI6co
Itj>IThen ....... n • • j. , · = r l . - 10 'pe,tu,. de 100 o",h,_ . " • VbC, • • t .... n . . }. If !UYco.110 • vt>Qoeot lonl _ vbYe. Then ~rl
"n'
""
~
~
-
""
_
IToj
workbook• . Open r llono .. ,.xl,ll •• lll I
_"""' " N\"9'in . .¢h i ...., ••
I i, •
~
!•
in
"
' o
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. >
Cadena Que aparecerA corm mensaje.
titl e
Cader\II que apa'ead enla barra de liMo.
default
Valo' tomado PO' delecto.
_.
Pos,,=i6n horizontal del cuadro de Pos,,=iM lIefIital del
c~ro
di<\~ (eJ(jjI •• nlo
de dilllo£l:> (expresado en twips).
he lpt\l e
Nomb'll del alChivo de 8)'uda contextual.
context
NumelO del COO\e)(\O de a)'llda.
Est.. ejempio muest". un cl1M1m
~
dial"", Que
pm el nomi>re
/lay Que I>ofrar (la. cekias rec!1>en el nomINe de clJda
de las cek/as Que
~S).
""b lIO«u_C.14 ••_" OO1br. " . . I) 1>1. opc:lO
'~
_.j....
.l _ .
..... boy ......... uor
I I . l _ • • • roc""""., ....... , •••• , . . . . ."" _
••
.. ..... .... rra .... '«0< opc: l"" • InputBoz I _ Prompt ,·" Out .......... >• • Tltle, . ' ''''«. , .014&.'1 J.ppll.ulon. _ 0 .......... ""., . opc: lon s . l . c,loo . cl~<
bl. sub
1 " 09Bo' ' No pu. 4 . .... 'nr. f>OOIbro de col do lnod".n'o' Cod Sol>
en twips) .
Cuadros de dialogo
2. EI metodo InpulBox Acriia
COfn{}
la tuoc;oo InputBox
!)eft>
perm ite controiar el tipo de datos que hay
que imroducir. objeto .Inp~ tBoI (pr~t,title,defa~lt,le!t,top,belpflle,
he lpContextID,type)
EI objelo es obligarorio. y debe set un objeto Application . p ron-.pt
Mensaje mosl rOOo.
title
Titulo del cuadro de di6loeo.
default
Valor romado per delecto.
left
Posiei6n horizontal del cuadro de
Posici6n ...enical del cuOOro doe di81oeo (en puntos).
helpfile
Nombre del archlvo de ayuda e!1 lloea.
help Contex trO
Numero del contel<1O de ayu».
'''',
Tipo de datos que se devolYefa:
,
,
·f
•
!
!-
(en punlos).
,.,
,
I•
di~logo
•
•
. "
f Ormula Nilmero
Valo< BooOean
Refere...,i. de eelda Valo< de
<'f!Q(
Matn: de valo"", en II"" ""lecd6" de
•
y
~das.
capituk> 5
o Para &eeptil r va rios tipos de datos, haga II suma de los valores. Per ejemplo, si zona de entrada + 2) como lipo.
la
puede acepta r ~n texIo
0 un numero. indique el vakil 3 (l
fjemplo p~
al usuario seleocionar la 0 las celda(s) Que hay Que pintar.
S"" C.'cI.o o_A_ Pintu O DJa . t
••••• •• p'~t04 cI.o
coae.'", ..........1
p<.,..,o4.I".n,o
Oft 1 «0< OOTo 1 OC
."" O-..b
3. La furn:i6n MsgBox hi. funciOO mueslr. un mensaie y de uno a Ires botOIle$.
1!!1
un cuadro de di'lofIo. Puede incluir un
icono,
Slnt.nls de II instruction U....ta cuando
a~feCe
MBgB<>x <"""ua9'"
un unico bot6n.
I,
I
SlrU.ls de II funci6n Usada cuando aparece mAs de un bot6n. Permite saber qllt bot6n lIcti116 "I usua·
rio, " Ira""'" del va'" devuellO.
Ms gBox « meuage> , l< buttons >l1.
T.. xlO del mensaje que apar«e en et cuadro de dlAIofIo.
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.
title
Texto "" II b.orrl de titulo.
hd pfil ..
An:hiYo de ayuda que hay que usar.
Context
Nurneru del COI1texto de ayuda.
Valorft del MJumento Buttonl
CooNntl simb6ta
0
Muesl ra sol"mente el boI6!1 Ac.ptar.
vbO+(Cancel
I
vbAbortRetrylgnore
2
vbYesNQCa~
,
Muestra los botones ~ YCalle lLif. MuesII~ los tx>tooe5 Anul ... Reinlentllr e linorif. MueslIa los boIones sr, No y C.nceIa •.
3
"""""'.. >ibCritical
I """"".., ,i
vbExclamation
Muestra !os botones Reinl. nilIf Y Cancela •. 16384 MuesI1l un botOn d~a_ Tlpo de !cono 16
Muestra e\ icono
O.
32
Muestra e\ icooo
1..tJ.
"
Muest.a e\ icooo
&.
MuesI,. et icono
"iJ.
"
vblnfomlatioo
BoI6n
0
vbDelaullButtonl CO"
Muestra los botones Sf y No.
5
vbMseBoxHelplMton
I,
SllnifiQdo
vbO+(Only
vbYesNo
!
V.lor Numtto y lipo de bot6n
I,
pol dtie<;to
Prime, bot6n.
(apiWlo 5
.
vbDeIauitButton2
"256
vbDe!ault8utton3
512
T _ bot6n,
vbOelauitSutton4
76'
Cu.arlO bot6n.
Constant. simb6liGII
Sia;nificado Segundo bot6n.
Mocilliad vbAWliGlltion Modat
vbSystemModal
,,_.......
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.
'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'.
..!>Co" ,,"
Conllanl •
VIIor dllWllilo
I
2 3
Bollin .lqido
'-"
c._
.""''' vbRetry
,
AnuLa.
vblgnore
5
Ilnc....'
Rlllnttntli
Cuadros de dialogo Constante
,
Valor devuelto
,
vbYes ••<0
•
Bot6n elepdo
"
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. c~,""i"'? · • • bY_do • vbQu •• tion • vl>DefauitButt.on2.
·confi .... ol""'·' Conll'TMCl6n
,
•
lie d
Usa de la ;nSlr/Jcci6t! M!i!!8o>
I
,• 0
!
,I•
.,
-
I
capitulo 5 [jemp/o Pirie ~I 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 I~ columna), y que confirme I. eliminaci6n.
Sub COnfl ... c '"",11 D. _ Cu.ol C<>' A.
., .. ,. , " &
... ~ oo'~o
eu.1Co'. "PPUcat'on.,nputBo.1 p.......,t,.· • • , .cclono I . . eo l,.., . . quo do . . . . U o lna . · .
T.tlo , .·UI1' 100 col,,_oo' , _ Typ
-'1
..., ",. lCo' •
Cu.o l ,,<>' .r>ttin<:<> l"""
........... , • • • " . - . . . T
ACOn " "" • M09&O. 1 _ Praopt,.·Conliroo I.
p' .... _11 . . . . . 600.
~1 1 . lnacI 6n
do lao ccluanao·.
<'< , • • co, ....... • • Sutt""" ,. vt>TeoNo • v~I .... t1"", • vW>elou ltBu"onli If Ac"",11 ... r • • bTeo Tnon ouolCol.Deloto ritIe ,· · su p..., oI~
in
4 . Constantes usadas en los cuadros de dltilogo En los m
pa-ra insertar algunos carlClefeS especiales .
o.K_
... .s..uinsertar
RelOmO de carro Y Sllilo de Uoea
Salta de
~n'ato
.
'"""~
"""
uivalente. CM13) + CM 1O)
"'"
Chri13)
CarI>Clef oulo
"""
Chr(10)
~bNullChaf
Chr(O)
Dilerente It urm Cltderm de Iongilud nullt
lIbNullSlri"ll
Cadena que lie""
Saito de linea
TItbulaci6l1 Retnxeso
-, "blab
valor cero Chr(9) Chr(SI
•
Cuadros de dialogo
o Estas consta ntes poeden USIUse en ot~ instl\lCCioroes lIdemM de los cuadros de
di~logo.
Ejemp/o P~r~
mostrllr eSle cutK/ro de
dl~Joeo:
l)
Ooudoo so..t.ol t>J
se uII/Iz6 e/ slguienle procedimiento: Sub '<1On
I• ,• !
I•
tI"""....
Capitulo 5
,Wi
~
Excel 2007
o Capitulo 6: Formularios A.
Presentacion
.. .
• • • •
B. Crear un formulario ,
c.
Escri~r
• • • •
• • • • •
procedimHmtos .
•
D. Ejemplo de formula rio personalizado Presentaci6n ,
194
. . . . 194
• • • •
2. Lisla de eventos . · . . 3. Eie<:uci6n y derre de un fOffllulario
I.
• • • • •
. .. · . .. .... ,
Personalizar un formulario . I.
• • • •
• • • •
204 204 204
•
• • • •
· . . . . · . . . . ·
• • • •
· · . ·
209
211 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 pe.sonalizados, OOja. del u.... rio 0 U..,rforml
di~1ogo
personalizados, formulanos p'''m ~'''' d~r de Interj,_ de ",uarlo si mples y .mipbleos pa ra la Introduccil'in, la mod~icad6n 0 la vi.ua lizaci6n de datos. los fofmulano. personalizados soo wad"", de
di~l ...
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
agrngar~
una Iloja lIamada Use
'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
Ventana propiedNes
I~I
[F4)
Formularios
. ......"1=;~;~~::~~-=="
.~:.:::::: , •
(Na....)
Nombfe del formulario. C.ption
Te.to en la barra de tituk:> . • ) Para dimen";oo,,, fit formuta,"'. set"""i6nf.1o y a"aw.. los cont .... adores de tao mallo 0 irodique las propiedades Heilht y Width del formula ,,,, .
I.i 0 :t;
~ OJICi6n Controles adicionales permite ag~, de hefJamientas.
!
,I• I,
y
ottO!;
controles desde I. t>a,,"
capitulo 6
Lisla de QIOlroles
EtKjueta
Cuooro de te;
UstSox
Casilla de verilicaci6n Bot6n de opci6n Bot6n de altemar
Frame Bot6n de CQrnando
Barra de t.bulaciones mUiliple
(seiecd6n
de Mullipal/El
'= ==--+=,----ScroilBar
BotOO de numero (selecci6n de SpinButton
valores) Imagen
RefEdil
(se~i6n
de rangos)
Crear un control ~)
Se lr:cione el control que desea t.ear y anaSlre el puntero pa ra delin ir un '.ea rectangular.
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 herrami~nta 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 ocu lto 0 vfsibie.
"".....
Detet"mina 54 elloco puede esta' sob,e ej contf!)j.
Value Define el est.1do 0 el conlenKlo de un control.
I i
•! •
i•
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
,,,
Pa r. delinlr el rntien de taool!lti6n, !;eletc""'" las opdones:
Ordoon dot tabulac:iOn ~)
P.,. desactiv. , la ~bilidad de usaf la teela (Tab) pa ra 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 r~pido se "plica a ~n control Lobel, el control que siS"" I I label en el orOen de dicho_
t.b~lloCi6n
recibi,.1 el loco y no el oontrol label pmpiameme
Dimenslonar un conb o! ~)
P. r. mod~icar el tamal'lo de ~n oontrol, !;eleccione los contro~ y Bf,astre el COnifotador de tamal'lo 0 seleccione el control e indiq"" las prop;edades Heithl Y Width que
~)
P.,. Iln~ormiza, los ta mll\o$, seleccione los controIes qlle desea dlmenslona r. Formato 1,Il0l11' tama flO En funci6n del tamaoo deseado, elijl Anello, AMo 0 Ambos.
~)
Para aj~star el tamal'lo, seleccione los controles q"" desea ajusta' y ""leccione las opciones Formato · Ajusla, tlm.fIO . 1 conten ldo 0) Aj~5hl r tlmaoio • II eu.ad r/cuta.
Ubica r un control ~)
Pa ,. delinir I. ~ci6n de un control. ""Iecdone el control que desea movef Y . ,rastre el rat6n 0 !;e~cione el control Y '"'8Jl" IllS propiedades left YTop qlle Indican la distaneia entre el control y el bo«ie izquierdO) Y SIlpe,.;or Oel formula·
""
FolIlIULarios .) Pa ra alioear conlroles !1ltJ1! ellos, selecciooe los cootroies que desea alioear, Fomllto A1inor
Seg(K1 eI control de rell'rwcill, e+ija: Izquierda,
C~ro,
Derecha, Superior, M...
dio, Inferior 0 A la cuadricula, .) Para admlnistra.r el espaciado ent re controles, sel:c ciooe los cootroIes.
Formato
Eipaclo horizontal 0 rsp.cio vertical En funci6n <:lei espacio doeseado. seiecciooe las opciones
II~lar , Aumentllr,
Oi"",l....i. 0 Quit ••. •)
Pa f~
cent.a. un control en el formulario, selecciooe el control.
,-"
C~ra. en
eI formuIario Horizontalmente 0 Varticalmente
Apnear formato Asigne las slguienles propiedades: ,~,
Delioe la tipograf~.
",.Cd« eI
colo(
de fondo.
E'f!eCifica eI
colo(
de "';mer piaoo.
E'\("'C~ica
I
i
~
!
BorderCoior E!.pec~ica
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. Esc ribi r procedimientos .) Para mosIrar I~ ..."tan~ doe t6d;go de un cootrol : h~a
"-
(Fl]
COdigo
.) 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
mod~icar
datos.
8eforeOr~rav.r
Ocurre cuando se est6 eje<:utando una operad6n de arrastrar y ~ta'-
FonnulariOs BeforeOropOrPnte OcUrfe cuando el USUB rio
~ti
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( posi~e. 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 ant~ de que un coolrol redbo realmente el loco
"""Ocurre CUBndO un controf delecta un
I• "" t
•! •
I
-
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.
o
I:
y
Hidden page
Formularios SpinUp
Qeurre cuando
"'.
~
UWlII10 hate
cI~
en la llechll superior 0 dereclla del conta·
T" mlnate Qeurre l1as I. dese. rga de la hoia.
""'"Ocu 're
t ..... ndo cambia el ~alor de la ptO~ad
Resumen de eventos flO! obJeto
I• , ~
!
!•
Zoom.
Hidden page
Formularios E~mplo
51 la fecha Inlroducida es ioconeera, se cancela el /!'Vento £Oil, el cursor queda
en 18 lOO8 de
silu.ldo
lex/a.
Privata""" ' K,,..o,,,,.ln h lt l.,.v., Co<>erulll U tFe<:iuoflnl n.an ox l. sub II
'.l>It.'tx••oo"".lnl
n.an M ~Bo X "f ec"" Inoorrecta", .berl'lcal canoel _ True h l < """ ~ot
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 SoIamente
los eventos BeloreOrag(lvl)r, Bef~Orop(lrf'aste , BeIoreUpd~te,
DblClick, E.
3. Ejecuci6n y cierre de un lormulario -) Pa,a ejecuta r un formu la r'" desde de la hoja UsetFo
"""",
I
i
• I"
•
Ejacula. SubIU_Form
-)
P~ r~
•
[F5]
ejec uta' un fo.m ula.'" 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 ce«ar un formula"" . ...... el me!O
Hide (metodo)
SiMla, il ObjetoUs erForm. H1d.
Oculta el Immulario sin Oescargarlo.
+
UnlO6d (insb"ucciOn)
Sin .... '. !.Into.d ObjetOUGe r l'o....
[Iimlna el formulario de
~
memoria.
FormulariOs Ew:ntos Invocado5 Los metodos e instrucdooes de ejecuciOn y de derre de kmnularios desencadenan los siguientes eYent05:
Evenlos Initia lize Activate Initi! lize Sin evento
M"odo 0 instrucci6n SOOw
L""
""""...
H'"
U,""
Terminate
o. Ejemplo de fonnulario personalizado 1. Presentaci6n Este ejemplo mlleSt .. c6mo crear un formulario ~rsonalilado para introduci r 0 moc!ilitar I~s Iich~s "empleados·. Ellil)ro Empleadouts contiwe
'iI';"
• ,, • ,, ,..."...... ' , '11, ••, ••• ~ •• T. ,
I•
••
•• • •
·" .. "
=- ;;..
,
~_
- ~
''''-~
!
I•
• y
em~eados:
,
• 'So<.
0
Capitulo 6 La hoja "Sefvici",,· contie .... 18 lisla de servic:ios,
-, .
.
EI formu lario Empieados permite, - mO(laica, la informaciOn de un
I!m~
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 •
•• •
1-
Co
'"
'"
1- m
,- ,
. -.
",
-~ ".-
...
_19~
"""(101
Formularies
..
List~
de controles del tormulafOo [mpleados:
" •5
Tipo de control
,~
Cuadm de lisla Bot6n de comando Bot6n de opci6n Bot6n de opciOn Bot6n de opci6n Cuadm de Ie. to ClJadm de Ie. to ClJadm de lista Bot6n de comando Bol6n de comando
l§t[mpleao1o§ cmdNuevo optSra
1 2 3
6 7
, 9 10
""'" ".s,
txtApeilido t~INombfe
IstSer;icios cmdAcepiar cmdCemlf
2. COdigo asociado al bot6n macro de la l icha Empleados E.le c6diso esU s~b
coor~nido
en el mOdulo de cldse thisW",kbool<.
"".. ,u-"o"",'o,'ol) . . . . .. . 0 1. 10.....1. . 10
_
loo
""P''' _
rnd "~b
3. C6digo VBA asociado al formulario Opt l""
~ pHClt
• 1l0III>.-. 4e 10 . p Ucocl6n
conot u , 1.p"". _
Dt.
~vo
• ' l nuoilucd6n
Prlvote eub Uou.ono
I ,~ !
l•
~
-"ludco '
Ao 8QQl •• o Inltlol"~1)
01" "'\I '" "'''!/'O 01. c~ll "" . . . . . ., . I . u .. . .c tl v. t ~ Set n>\I ' _.... "9.I · .. l · ) . c.. < .., O t R.~ 1 00
.'ng<
• O.d .... I.,. •• rvlo1 ... poT 0 ' ''' • •" " " " e o
r"9.S<>
- -I . .
, 0
•
•
~
-, "" oj • -, :~ • - .•
• 0 00
<-
_
0
•
0_
•
•
•
~
j
•
0
,
..'0 ! •
0-
•• •
-, -• •0 0
0
•
0
C_fNl·M~'LLL'"
, ! ;,,"~ ,.- ! - -. • .. !' "'~2itl .. •
_. ., -, -! • . -. ,-- ' f : pg. g.~~ !! ~ ' ~~d: : ..,...... .. . ,......... •. ., . '-, _1._. " E~ ~ "'~, ! ~!.::.£ ......Q.... ., . . . ft" , , . .. . ' "1 """ -, ":' ! " .. -," ~ I ." .'", :; gb . " -I • • -1 .. • .. i·d -' . · . i " ' .- - -=","'. ; -.. '"-. '.' -, . ii ' ! i ll • . • g: g=. , · .. . . l! . ; . ~ r" -, ..... -. .'".".,' ,.~H .. . . . , · " . .. , .. ..... :; · . . . . . . . . . '" , . . .. ., . ....,. . -
~~ ,
~ ~:!. .,. .. n
~
=- ~ ~
~,,":?
..
~
..
• ... n "
"S!: - "fI'
~~~
21
-:-:-
~
,~
"
~
!
•
~'
i
"
~:;
•o l
~
.
l
~
:;
~
...
F~
-.. ~.z!.
I ; ..
-
"• •
!
I
~
~
'H it· :0 ., "
-
-
' ;J "
.;j~ ...
........
....
" !.~~;;
; ,
•• •
~
·f
.f·
.... :; ,
,
:: ~::
:~ ~C!' ...... ;; :::
"•
.
•
0 . ...
..
.,nO_ x
n ..
,~
.~.;j ...
....
"
•
_ , .... n ...... .... . . . ... n
=~~.
"
~ .... ~~
....
....
•
•
: ~
,~
~
~
- . •~ :. ~• .~ !
,
~~
"
...
~ "
," n "
g-
~I·'
•
~.~
. ;
,,,0
....
H •
....
....
~
· li
. ...- $' I. . ..• ng ,- ,;;_-.. -. " "
0
.. 6 . ....
~~
"
~~
.-
..... o .
~~ I' I•
. 1 , -i ,-•
-• , ,• •
I
I II •~'
- . -I _
p.iva ' . Sub O<noou oglon ~, ,SOrt 0 , <'<0'" . z l .....,."..,'''II , ,,",yl , . ... ~ ~.y>,· ... ~(·C'·,. or' . x l""~ . ndlng. Heod", ,>zlv . .
,,-
_loado.
,'B", .
-
,."
,~
,,- ,,."
Iniohli .. _ _ ,..0001) 10'"90< , Im~ •••• Uu . , .0.... '..,.0 ~ h Ki.h ""P''''''' • t x tM,..,,, • • t x tApdli"" • optS, • Yol •• op'Su • .01 . . opts«o • '0 1.& To 1 . tSorvicio •. t.1o,Coun, , • l otSuvl< 10•. selected I I) • Fai ••
p.lv."
•••
Nut
.. ..
..
".600'_ 'm ••-...I6a
, , ,
,
Ind W1tO ,~
,~
,., In""PI..."".ocl '"k,) , ,,- , Into 90<
Privot.
,,- ......... , ~
~
,
. _'.ado ••'oed""."" • " ,.,.,,.,
10<090<
bNuovo • '0 10. • 1 •• _ l o . _ . t.lotlftdex , WHO n.lolOork"""' . IIO,Uh •• u I "_ ' .0",," ' , Sol""t CO" ,C. ll.f1. C. . . ·Sr,>, op.sr • C. . . ·Sr • . " , optSr. • Coo, optS,ta • S.,.." _IUdO •. •. t.i.' CoYnt , b pl • • _ .10";" ..... ' •• " •. Llot I j, • .C.Il.U. """,1 ... _ . I otSe ..... 1ct"" . Llot 1 ode. •
-, .", "
·S"o,·,
'0<
~
M•• ,
BndW1tO Bnd SUb
"
,
•
"
Th, •
o Capitulo 7: Mejoras en la interfaz de usuario A. Presentaci6n .. B.
• • •
•
219
•
Ejemplos de barras de comandos
220
1. Ba rras de henamienlas personalizadas
220
2. Grupo 'Comandos de melllJs' eo 100000ata Office 2007
220
AgregiI r un comando a la barra de herramieotas de acceso rapido , . . . . . . . . . . . .
220
3.
C.
• • • •
Barras de comandos
.. . .. . , .... . . .
1. Terminologla . •. Ba rta de comandos . . . b. Control
..
2. Crear una tJa rra de comaooos
•
• •
221 221
•
•
221
•
221
•
222
3.
Elimina. una barra de CO'llllllOoS
223
4.
Most'a. una barra de comanclos
'"
D. Controles (opciones 0 botones de comandos) de las barras de comandos . . . . . 1. Agrega r un control 2.
Especificar el titulo
22.
'"
(Ie un control
3. Elimina. un control.
• • •
225
•
226
Capitulo 7
4. Asociar un procedimienlo a un control
E.
5. Otras propk-dades ..
226 226
6. lisla de
228
im~genes
asociadas a los botO
Ejemplos de mentis personalizados
• •
. . . . . . . . . . .
• • •
230
1.
Pfl~Sel1taci6n.
2.
C6d igo de
3.
C6d igo del m6dulo de clase ThisWOl1lbool\
232 232
4.
C6digo de la hoja 'Nota de Gastos'
233
5.
C6d igo del m6dulo
ProcMenus
6.
C6d igo del m6dulo
ProcAcIion ..
230
los ejemplos .
•
•
233 239
Mejoras en III Interfaz de uSUllriO
A. Presentacion En Microsoft Office 2007, la interfaz de lISU~rio de IllS I'ef5iones ~nleriores de &eel {/ofmad~ p:.>' t>IIrr~s de llenllmief1\<1s y de menUs) se reempllza po< la Cinl.l de opcionn, romp»eslll 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. a esta coIecci6n pefmile reaHza' las siguief11es ()pefacitlnes con Ia ayuda ~ lenguaje VBA: - crea, !>arras de r.erramientas persooalizadas: estas ba ,ras se ubiean autoIMticamenle en el gNp:.> B.....u penooaJlzadal de II ticM C«npiementO$ {ullima ticha de la derecM) Y SolI aspeclo es eI de las barras de r.erramienias de LIs wrs.iones anteriores de Excel, EiIlCCe5()
- 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 persona lizada en tormalO de OOice 2007, - personaliza r los comandas aslgr.\ooates macros.
o TOOas las barras cre.adas se Insertan en la !lella ComplenM-ntO$ de la cinia de apeiooes. Es
im~ble.
en la WIlOi6n 2007. oculiar () reorpnilllr los comandas
de las !!ehlls de la cinlll de ape",,,,,".
I•
•• •
!
I
-•
capitulo 7
B. Ejemplos de barras de comandos 1. Barras de herramientas ptr$onalindas
• .:S "" eI
III
"'"" ",,,,,,,,,,,,",
o Se moeslr~n
(!os
!)arras de comalldos: una !)arra de tlerramient
de menUs.
g
r.
.. ,_
" " . ......
bl,""" " , _ ~
..• ,
eI ""'..,
111 ,._
c.,.." '" ...."'" 3. Agregar un comando a Ia barra de herramientas de acceso r4pldo Las !)afl
Seleccione la opcl6n
A&reta. a Ia ba" a de her.amlentas de KCHO •.ipldo.
dej
~ - -....... '-.... - - ...,,-... _.,.. .. _ ..1_.. . ., _.. _.. .. _~- .. ·'T~;;::;:::;::==::=="'----:::--:::-;1---
S" ...
":I' w_
~.",
,,"'_ ..
!OJ .J. .c:. ...1 ,_
_
, ,to' ..
t,
'L
_ _
< "
.
" '"' II! •
. .... ........... -_H . _.___ . . . . _ , .. "
. h __ . . . _ _ ........ _ ~
.-
_
~
MejOras en Ia imerfcu de usuariO N""""lmenle, las barras de com.rdos son acces.ibles • trave. de botones de com~ndos agrtgados a 18 barr~ de herramientas de . e<:tsO " pido, Bl rril'S de h9n'.mICflUls
per$Or\Ili~s
......_.. -
;;;;;;
ComarH:iOl
, _ f~. ", .
(; ....... " 0 .. 0
,
,
ffi eo,~"
(II ,,_,
•
C. Barras de comandos 1. Terminoiogfa I. Barr. de cGI11andos
I "
•! •
,I•
RePfeS"nta las boorra. de r.erramienta. de Excel, las boo ,ras de herramientas pe.wnalizadas y las barras de menus.
b. Control Representa un comalldo (bot6n de comalldo . opci6n de menu. etc.! de una de comandos.
i)a,~
Hidden page
MejorilS en la interfilz de usuario .(
... c.u ..... b ..... 40 !>on_lont.. lh"d, ......~,.
Sot aun"
po.ltlOrt Cn
0:-.""",".0 . _..-Top)
Ad
nu' ·.
S~b
o Atenci6n, 54
el c6digo est! escrito en el rOOdulo de dase TIlisWO<1
3. Ellmlnar una barra de comandos
E;q>resi6n Que devueIve eI objeto Command B.! q...e hay que elim;"",.
Expreulon
fjemplo
flimirnor I~ bam> de menu y la barr' de crear lWt'V~menre la$ barras). ·.Hat ....
'u bu. . .
d.
cOF,ndo.
herlam~nta$
(jlldispensable antes de
",,_' " &<1..
,,,.,ot.
'n
AW' icotlon . Co
-~ ~$ barr". de comandos Umbi(m plJeden referenc;<>tse
pol e/ nom~
de 13 va,i.-
b/e olljelo.
I ,i
U.n.. ,,,. ....
u•
~f14 ~ub
.c.' ."'''«
!
I• programa r en Excel: Macros y Lenguaj e V8A
HII
Hidden page
Hidden page
Capitulo 7 3. Eliminar un control
Expre nioll
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!lt~
comillas.
o Pa,a mosl,., I. lec la de meloda .b~ado 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 mod~ica, ~ 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
Ag'~r.OOO<
Dl.
_.""uon ..
C_tu1aa.III.«'otI
............. ,.,.40. ...
Sot _,Button •
~=·d'
• , . k u ......~.
Appu
ITypo, . " OC'cn,,,, IRu,'otI)
." I'
MejOfas en la interfaz de usuarlo ,
./ . , . ,",,0 I.s.. "c>u.o.d o ~" _."uuoa.OMct lon.
"""._.ee-"
~~
Prrxedimiento GlUJrdarOimo ~b
au.rdue.:- H """
,Show
~,~
/liregd' 1.'1 menU Alchlvo Y la opci6n Guardar
CO/Il(J
!
la ba"a de COOI8ndos
Ml.'lIu l.
.n......
Db• • • Monu Ao" .-eon' ... Aot6a d.o '=0""0 So t __OptlOu.o ..... , ",_Optl<>u.ord.o~" ".o"tl<>u.ord.orCOOlO·
_«
_""'n'
~,
~
! t
• •
~
I
•• Programar
I: Macros y l ef1g llilje
capitulo 7
6. Usia de
im~genes
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 F~Id) Y $II numero correspondienle.
5"" ""00«._' ... '1'"'" II ci. ci. 01. ci . 01 ..
" ..... '10 U
'''t~r
nUlOCoI A. ,nt'90<
,ru,..
_g~"
Ao Lon9
... "~t .... C~nd"'< ""tt"", .... ec-.""""rC<>nt...,1
Cn ....... b •••• "" ,.. •• -.1 ....... . _ r o l "'"~l • ,""pllcatl"" . C_ndlI<>ro.>4.1. I on, oQQ"'rFloatl"ll, te..,., ... y, .True) ..... "'11. "" ".,"'" .,. <", .. ~o Sot Butt"" l • "'nul. 1:0<1, rolo.MIDuttool So<
......... H •••• '_On ........ 060 "" , . , " Y I . copl . u ....... Ida .>1 •
• To .0 .t~ p 2 ' 0< " ...... 11 • • 1 To 10"
"u.''''9&n • n~ I "9&" • 1 "utton l . Po".'4 • "ua I ~9.n ~u
C<)pyT.C.
"1
omo 'a.
. . . ...n •• 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 [ ".:--.
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 perm ile acceder a lIS !Jguientes opciones: _
•• VII '
fonut.
Q !i<'o,.... ~
!{K".'_'
~ ~
........
~.".
I'.... '
Una tlarra de menu con el
t~uto
"Gast05":
Un grupo de COIDandoos con et titulo "ComaooClS de menu":
... eu.. ... , _
_ , ......
.1 V"t • • "....,.,
ma.....
~ _~
III ,,_,
Co ... n~.' d. """"
Una tlana de menu conll!rt ... 1que 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) .
I• i, ·
!
,I•
---..... _ -_. -,"n,,'" ,_,
~.-
~""'
,
capitulo 7 2, C6digo de los ejempl05 Pa ra crea , los menus del siguien«! ejemplo, .., deben ",al iw la. siguierrtes ope'iIi-
clones: cJt!a, eI documento El
~Jt!.
de impresi60:
delini' un flIrogo de celdas coo eI nombJt! 'Empieado' que inclU)'a las celdas Apellido y el ninnem de empl~o, delini' un ,arogo de ~d., 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!a mado ProcMtnus; este m6dulo llfocedimiefl105 crea, las dlle"",tes Dar/as de comandos:
pa,.
cootendf~ los
agJt!ga r un rn6dulo est.\ndar lIamado ProcAcciones; este rn6dulo ooniOOd r ~ 105 prOCedimientos personalilados asociados a los botones de comandos,
3 , C6dlgo de l m6d ulo de clase Thi$Workbook option 5>
"". ... 0 1". _~ • .,. . ....... , .. &&> • .... <."""' I.ar_ bc.l A j ~ .'
• • , • .,..
Aj~.te
Prlva • • Sub Kor kboO' _&o'Qr.C,oo.lC.n~el Pi40 ooa ....... &. 401 •••• r. 40' II _""xl',""'u "orrOr . 1 "brQ" ,
Aa
9oo1e.n)
" ~ro
vbQu . . tl",, ' vbnoNQ, ' Hoto "" o..toe ' ) • vb ... Th." , ....... . . 1.00 _~Go 4. ",,001
. .. taunT_5>
UN Co.ncel • Orul . .
_M
TI'U~
MejOf
4. C6digo de la hoja ' Nota de Gaslos' P.<" Sub
1IO "~ 'hnt _ 8efo"" R IS!lt<:)jC~I"yVal
caneol .... IOol ... ")
.1
Targot "" """.1 ..... 119 ••
_I.......
II 1. p
_
_ . . . .r
If 1,)n!('" (T. rg.L "'09,
1' ''' ' ).
• ......., 11 . .• ....
Ilang
,.A<\.J,... •
"",,,,( '_' ~'&> " ) , AM . . . . Tbon
"'-""""r.I · lhOpl.......
· j
. S_Popup
<:ooC., • Tru. KIld II Kn
5. C6digo del m6chllo ProcMenus
.... 10... 0140. d.o . . . 10101 ••
,>I. ,"_"""U "" COOfNod .... l>opup P\ ___ "'H, "" "'-"n1. . ._"utton "" Cc
• ....... re
Sub hraon.ll ..._ """.lll Dl. I ... ~ r •• , ... _ ...... y c ..... _
'"t."".
_
porOOCl.U , a40.
~t<. r_B . r c. _~nG.
_ t u r _ ~. r<. Mura.i.nt ••
Mo4t r. '_B. r c._OOD&n..... _ _ """ . ... , .... ,
L • • •• do _ " , _
Lioto__ l.ado. O<~ . . .
, . . barr.. d . ' 6.-.' . . , d • • • t.o ....
y 10• • ""..., ••• _
d . . . 10 Y col ......
Appllc. , i"".Dlop loyf o
I• .~
•! •
I•
I\ppUc. ti"" .DI. p'.y.,., ....... . ..... Appllc.tion.Actjv.'lndow . Ol.pl . YHeOdi~ •
• >. 1 ••
!n
Sub Reot. u"'" b e d, 1 01. 1 A4 Intego r 01. ,".CUI ... c.-<><'80.r<:ont
on Error Roou_ .... xt J'.pplic.lion . " - M S.... ( ' '''nQ a . . to.·1 . o.loto
- - ./
...
capitulo 7 .I . . Appl loulon ."",",",,"""a
... 1.
~u
. . . . . __ ,. "
•.-
h u..... _ •••
'Or e.ch " _ C"trl In ~pplicot 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 •• Y I"" fll. Y e o l _
.",,"",ado. '"
,ado
O""Uc.. lon.Oloplov.o ..... , .... r • T"'o A""llc.tlon .OI.ploySt.tu.Bor • T ruo ~llcotjon.Ae< I Y.W I ~.P I.pLOyHeod'n9'
•
True
hd !II>!> $ub _«0<_"0<<0_*""011 on "«or Roo_ Nu< U! ....... 10 har" ... _ ... ro '.., . ... '1. Appl louien . C'-'''''",r. I ' ~nn .... to.·, . t>e l no on ••
App) leoti""
~.u.
d . _""
.0-."""""
.r.....
I · ... nu <>00<0.'1 . yl . lbl e • T",. ""..... . 1 _ ~ «hl"" $et . _ •• nu • •_".o n"olo.Mdlrypo, . . . oControl ..... tton. . _Opt !on .On.l<:t I"" • · Qu,Con
'D,. " 'D,.)O.)
1O, . OJ 10 , · l QfI
.......... , _
s., . _... n" _ ._•.
, AM I Ty»O,.M ,oOo ~,"o l""pupl
p,_,.
d • •_
... t __Option • 0_"""" .Cont""'''.AM (Typo, . 000000000trol""""""", . 10, . 17H!
""".... '0.
c...,""".... , _
.,.••
• _ . , U .. • . . . . I ... p""' ...Iai.... ....cd&' . . t • _ Op
. . . / ...
Hidden page
Hidden page
Mejofas en III interfllz de uSllilrio . . .I . . . .Tool'ip~ K ' Kn
•
" T r ~... •
""" Su~
Sol> ""'otnr. "'ru.eo..ndooll Cbjo ... '1'>0 . . pro ...... I. b u n ' " ,.. ............ "Tool. " Soot • _ .... « • • >.wllcoU.,.. .eo-.n
Set " .lhIt."" • • _ ... u •. Cont~I •. M ·
'Typo,
"
Il), .,
• • Button _"""". I.,.. _ "Ouo .""rec-;. " Set ",'utton • " ,"rro.Control •. M
'", Bu.ton.c>ptlon • "Vin. p ro u • •• ,, "
" .Button,onActlon • ·V.o'oProll .lnar " .ot ",Button • • • Borro.con'rolo. MlSutton. rD, • ., ",Outton . CoptlO" • ' ''' prlo l<" " .Buuon . On>.ctlQn _ ", ..,.101." AQ' . . . . 1_ ;-7"~" ... Upo
.o...
to
So. ", Button •••• orro.oontrolo.Add (Typo, • . . ocon'r(>lbt.ODI WHh • .
aun""
.' .c.l~
• • 91
.On>.ctIOQ • "futnte "
. TooltlpTeKt _ ","on, ." .Captlon • "ruon'O "
In
Sot ••Button . . . . . rn. <:on.rolo ,""" (Typo , • . . <>Co" tr Ql1I"
_ _ Bu,ton
, •• eOld •
I ~
S."
•
With ",_Button
,• I•
110 .
, 0000tlo" • " 110<<1< . " .TooltipText • "oordo. .c"pUon • "00«1&. End with M_hotO" • M_ ... rro . C
, ,.,,,,Id •
• •• •
, onAction • "Tr.~. " .TOoltipToK' • - Tr~.·
Programar en Excel: Macros y lenguaje VBA
. .I . . .
fiN
Hidden page
Mejoril5 en la interfaz de usuarlo 6 • C6digo del m6dulo ProcAction ~.
Aju,"11 I.j ..... • , .~ ., ~t.~'dc • de. r ....... ".-de -""taD.O. .tGOAppl'c"'Gn.Goto ~.!.renc.,. ' Kot.DeOo.too ' "" t 1veIIl """" .• ""'" • Truo """90 (' _n 1<1<>- ) . S
•
-.~
l eodo("'-"'P .... -, ,)""0<".' 1. Ot> ..._ o.tobo ...
Sui>
Dl. rot_ "" 1tO«>«I . . . ,,1 • • tlQrkbook _O.th ~ · \~l •• do • . • ~cdb·) d • ...,1 ... _1 " " "rSQ' " -SlL.t<::t • . _ ..." •• doo "" U~ . ~b j • • o. Aee ... .o<_ . e.oo. !lb . Cloo.
,."
.n
,rot_'·...,..
"
•
•-
- .~ sob ""ontoll • ... _t .. •• "ud.o "" dlUogo ........ App "c. tlon.DI •• og'l o lOI.109·o . . . t POnt).s~ fruI Sub
I
~.
. . . . . . <0 . , ""edrG d. 6"'<>8<' _ Appllc. t'on.DI"09. IK1C'o lQ980rder) In
•• ••• •
!
i,
10'.... (1
•
. .S~
........
T· . ... O •
•• <""dro d. 4"'<>8<' Tr . . . . AppUeoti"" . 0101090 lolOlalogP.turmo' _Show
~.~
.-
-, .
Hidden page
o Capitulo 8: Administracion de eventos
A.
Presentaci6n . . .
242
•
•
B. Escritura de eventos . de fOfmulario
•
242
2. Eventos del objeto Appl ication . . . . .
•
244
l . EvenlCl asociado a un gnlfk:o incruslado .
•
247
I.
C.
Evenlos de libro, de hoja
242 (I
Eventos del objeto Application
•
O. Eventos del objeto Workbook E. Eventos del objeto Worksheet
F. Eventos del objeto Chart
• •
• •
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 ........ E...... B
- -, ....... c
~-
B. Escritura de eventos 1. Eventas de libra, de haJa a de farmularlo Usted po.>ede 1ICCede. a 105 proced imientos 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
Tamb~n
po.>ede selec.cionar un """,nto vinculado al objeto ~eccion.ado en II li"'a d""plegable de II derecha p.o r. asoclarle un c6digo personaliz&OO.
fltJ
VBA Exce! 2007
Admlnistraci6n de eventos
o La ejecuciOn de los proced imienlo5 de evenlo5 pooOO Oes.1ctivarse en cualquier momento
~gnando
el valof FJ1M a la propiedad ENbleEvenlJ del objeto Ap.
plic.lltlon.
ijemplo isle e~plo 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"",,,. " -
_m_ ....._.,
y_ . . . ....... . .
'olio"",. ,.H.,"I •. .," •_',.....
... ....
I
i
•! •
!"
• Programar en Excel: Mocros y lengu/lje VBA
lUi
capitulo B ResuiliJdo en &eel, ,
.•• ...
~.
"" ••
'_"H
''',
2. Eventos del objeto Application Se ne<:es;tao IrIlS etapas
pa'~
1II escrilUfa Y ejec:uci6!1 de 105 eventos del objelo
"--liar~ ,
~
Eta". 1 .) I"",rte un m6d ukl de "lase , Inserta, M6d1l1o 6& cIase
o I b,. la liSia
le iY 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.
C~
un objelo Application ""'" el
~guienle
Public WithRvenu NomObjeto A. AppUcation
c6(1 igo,
Admlnlstrad6n de eventos fjempJo C~xiM
ckl objelo MiApliudo/1 como ap/icxiM.
I.....u~ . 'tUT""," "l"PlIe.~lon ... Appllc.tI_ El objeto asl creado Queda diS!XInib'" en la lista de la iZQuierda del mOdulo. • ) Selecciooe eI o bj ~o 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 proced im;enlos que desea gE!l1I!filf.
Eiemp/Q
CtWlCiOn de rJos p~im~ntas ck """"'as, el primero realiza I. in"",dOn de una nueva hoia; el sesundo. I, ctellCiOn de un nuem libro.
.. , . pllC.C' ''''.1I<>r.".,., .... ''''h ~t • IR,.,...' lib ... Wo r kbook . ",.,..d SiI ... OOj oc.) 01_ HOOOI!oj . ... $t< I ng-
P,iv ou
Su~
C.... n ....................... " ' j • • • "Id • • ,
la. • •• adA •••• , . . . . . . . .
_
~I.t
u .... lo
. .t • •
l . _ ' ''PUt_, · ,ntrO
."ctlvoSl>eo '. N_ • ","",oJ_ Act In.hut . ,.".. Af'ar, . "". . . . ISh ..... Coun') -~.
'n._.
I•
••
!
I,
Prlv at. SUI> " 'Al>l!coclon .... " <"kboo., ."". 1 lib ... 1I<>,k bo<>kI 01_ KbHoj •• A& Int~ r 01 _ _ ' u. 1 ... 0\_ 0 1'0""" ; • • • l n t _ . Po. c .... ~u...., lib ... . • cll.tt. . . . . .1 " ...." 0 10 ........... de " ' j ••
• ...,.u.
. 1 ."0, .............. 0 .U ......... , ...... j . . . . . . . .u l ••
Nl>HOj . . . "Pplicotl"" . '''PU'''OX _ I'<""ntl'""~
... IIOj . . , " , TypO .. ,)
Loop WII Uo NbHoj . . . .01 . .
...... c'ual _ "" ... to.count OH.'.nch _ """" ' uol . HbJ
.., / ...
• I'Togrilmar ef'1 Excel: Macros y lenguaje VBA
lUi
Capfrulo 8 .• . I .
•$up,......... ,.. ""'oa ••• ' Ooo d. '''''
d • ...
•• , •• d.o ...... eOG ., u~ ol>t'Ur " " " ' " u h .up.",Ooo doo "", •• _~
D<>
d.o _ While oU.,.nct. •• ,""o11eoU"". Dlop' .yA'uta • , . , ... Sheno . 1t_IDHue",,'" .s.'""t Actlvew '~.Se'octe4Sh .. t •. oll •• "ncl. • o ll • • onel. • 1
o.l.,.
~,
"" ...... ""lao ...., ••••••• •• d.oouth ... I ....... too por. Do
Whil . DH • • • nol. < 0 J.ppli".tIQn ...... b.. ~t • • • • 1••
-
Sh oe," _,"""
OHu.nci. .
Pif oronc i • • 1
. . . oU . . . . . . omt •• y . . . . . . .
Appllcotlon. Bnobl oOVont • • T ruo J.ppl i c.tlon . OI.p l .y~l .rt • • T ~ " 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_ NomModu loOeClas e
Sub NornProced () s.t NOII\V"ri"b l e .NomOb j eto • Application ~.~
Hidden page
capitulo 8 fWnp/o Dele el oombre ObjGt1llk:tls al m6duio de tlase.
Elap:! 2 4 ) En
eI m6dulo de tlase, cree un objelo
grM~
pala eI 5
Public IIHhIvaDt . NOft(lbjeto ,.. Chart
f jemplo
Creac;oo del objeto lIamildo C/I,t11 como IIrMica incruslado. 1..... 11~ .... u. .....
O>.a.
a.u:.
EI objelo ar.l CfMOO queda d;spoo ible en l.! l;s!a de Ia Izqu ielda Oe! m6dulo, 4)
oIljeto cre.ado Go la li.ta
~
fiemplo Creacloo de dos procedimientos de el'e/ltos: uno deS¥:tiva el tI,MiW, el 0110 espe. cifica ws dimensiooes. "",jon bplJeH """lie .. j'~"".nU O>.a.tl .... "" •• ~
o Chact,_"".ctJ.n.Ol oj. Reap"" '"
c ..... •••
"" s,"j~g quo o. 4. . oot h • •1 gritloo
•• p ........ , • • 1 by quo "" ....... . ,
111> .. 0
Re.""uu " "-9"",xlo.
. . .I . . .
Hidden page
capitu k) 8
/i,,=
FiMlmenle, a! pror;edimif-nto /nitl./iAplicllCioil al eld"" TnisWorkbook),
,,/)Ii. e/ libro (m6du/o de
O,jvate Sub ""'~lx>ok_""e nO Inlda! haO<&!ieo ~
,@
AI abfi. esle Hbn), los procedimlentO$ erudos du.ante la etapa 2 se ejecu\ar~n autom.ticamen!e y se re
C. Eventos del objeto Application Calcu l.teUntiIMyncau.riHOone Ejecuta todas las consul1ll5 en eurso en las tUO!f1tes de datos OlEOB y OLAP. NewWorkBooio Ocu m!! al erell. unn""", libro, SheetActNate Ocurn! " I ad;"'ar una hoj" . SheetBeforeOoubf.click Ocune "I hacer doble elic en una hoj"
~
(atOO en una hoja doe c.1oleu k:>,
SheetClIc"'ate Ocurre cuardo se recalcula toda la hoj_ de "-'Ieuk:> 0 I ~ un gralico al modmc.r sus datO$.
des"""" de que "" ""w,,·
AdministradOO de eventos SIlHtChq. OcUffe (\lando las celdas de una hoja de ctilculo se mod ifican 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 . SheetPIvotTIbIflJ~te
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
I
i
•
•I •
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
~gl.llje
VBA
'fil
capitulo 8 WorkbookAfl... XMlImport Ocwe despuk de import~r un
~hiYQ
XM l.
WorklklokBeforeCkH.e
Ocur", justo antes de "",rra r un libro, WorklklokBeforePrint
Ocurre antes de impl'imir un libro
ab~.
WorklklokBefOl'
Ocurre antes de guarda, Ufll ibro .biello, WorkbookBef""XMLEltport
Ocuffe antes de exportar un arclliYo XM l. WorIIbooIcBri"" XMlI mport
Ocurre antes de importar un arclliv
WorkIklokN_Sheet
OcUffe cu.ndo ... erea una nueva hoja en un libro abiello. WorillkIokOpen
OcUffe cuando se abre un libro. WorIIbaokPivotT. bIeOpenConnettion
Ocur", a l ablir la datos.
cone~i6n
de un infOfme de tabla dinamica con SII luente de
WorilbooIcPivotTableClos.eCOfInection Ocurre . 1 cerra r 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 ... ac:~va 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
a~hivo
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.
I ~
~
!
I•
•
BlllorePrint Deurre antes de imprimlr ellibro (0 cualquieu de sus partes). BIIIonS....
Ocurre antes de ""bar e! !ibm.
BllloreXMLExport Ocurre antes de exportsr un archivo XML.
B.ror.XMlImporl o<;Ufl'll ~nles 00 importa r un a'chlYo XM L 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~
o<;Ufl'll euando se ab«!
~
IIbro.
PiYotTableOpenConnection o<;Ufl'll . 1 lIb,i, la ~xi6n de un inlo'me de tabla dinamica coo su fuente de datos. P ivotT~ bleCloseConnection Ocurre al cerrar la toneli6n 00 un informe 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
~
ral6n en una hoja de dlculo.
SMetCo IcuI.ta O<;u rre cuando se rec.alcula toda fa hoja de calculo 0 cula un Ilr.!:fico al modijlcar sus datos.
despues de
qll!! se recal·
_.
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 h~. clle en cualq L>ie. hipe
ShHtPivoi TJ bIflJpoUole Deurre a l actualiza. la hoja de! infomle de
tabla
SheetSeltdionCtIanp Se produce cuaodo cambia la se!ecciOO en """",to no ..,produce si fa se l· cj6n es\~ en
din~mica.
hoja de dkulo cualquiefa (e! UN hoja de grllf;co).
UN
"'"
Ocu.re ~ sincronizar la copia local de u"II hoja de ctlculo hecha a I'o'rti. de un i'e
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 .
I i •! I •
-•
,
capituk) 8
E. Eventos del objeto Worksheet Actlvat. Ocu rre wando se activa un !ibm, una hoja de d!culo, una hoja de gratico SrBli<:o 'nc,uslad<').
0 00
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 d~e clic.
8tfor,R/thtCllck Ocu l,e al !\ace, clio: coo eI bo!iHl secundario ~ ,at60 en una hoja de dlculo 0 un grat;co ' nc"""O>
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 sr~lico, 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
ho~
de
g"~fico
0 un grMico incrustado.
BdortDoubleCllck Ocurre al hace' oobte clio: en un I'M"", incru5tado de la aa::iQn p,edetefminad.i pII ra el
gr~I"""
antes
BeforeRightClid Ocurre al hace, clio: con '" bo!On secundario en un graf"", intf UStado hoja de grM""" anles de la aceiOn pteOeterminac:!a to,respondiente.
0 Ulla
C.k:ulate Ocurre
~
grMico se
acl~ite
I)
una hoja de
COlI datos """"""
I)
modffk:ados.
DtactiYII. Ocurre cuando se desactiva el grMito, la hoi. de C31culo 0 e! !ibm, OraiO'oer Ocu rre al arrasl r.r un rango
'n.'"
(Ie
teldas sobre un grMico.
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 esU sob", un &,Mlto .
Ii ._• ~
!
-•
Ocurre al cambia/la posici6n del punte..., d!!1 rat6n sobre un gralito,
capitulo 8 MouseUp Ocurre al $(Ilia, ~ botiIn izquierdo 0 derecho del sobre un grMico.
ratoo
cU3ndo el puntero
est'
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 ,
•
• • • •
260
•
261 262 262
3. Errores de e;ecuc06o
·.
4. Errores de l(igk:a . . · .
B. Depuraci6n
• • • •
I.
Preseotaci6n . · .
2.
L~
• • •
• •
•
•
· · · . ·
•
•
·
.
• • •
[I objeto Err .
·
•
263 263 263
· . . · · · · . ·
C. Administraci6n de errores en VBA I.
• •
barra de l\erramKlntas Oepuraci60
3. EI objeto Debug
260
..
• • • •
•
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 c¢dillO
e<1
I medida que se
introduce eI
VeA.
-) Para activar la comprobaci6n
el menu Htfrimitntu, selecdone Opeiones. lueao selecdone II ficha Editor y marq"" II cotSi lia Com~ "lintalls lutomiliel . ~
sinlaxis,
e<1
E~mp/Q
......._"._.........._.. .. . . . ."
. . . . . . . ., • • j
00 . . . ~ "" . .
"
. . .~
"'
,.
>0, ..."v•
IC",... I _
o Los tfrores de lintaxis no OOfregidos prOVQCl ,an un error de compilaci6n, ~ aM eI
mensaje q"" lparete.
Depuraci6n y admlnlstraci6n de errores 2. Errores de compilaci6n Los efJOres de compilaciOO se detectan cuando Excel trata de compilar eI c6d igo. El c6d igo 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 c6d igo COI1tenido ~n los ptOCedimiento:. cuando son lIamados p:.>I' primelll vel. Los procedimientos no Ilamados no se compilar~n,
o So! recomienda compilar eI programa antes de ejecutarlo ~ ra ganar l iemJlO eo Ia aetu.lilaci6n.
fjemp/o
.,....... -_.... -_...,.. ,. "",..,"," •. ......._-......-.. d} ....... . . .... " .." .... - - I
.. ,_" ....... _._...., .." .... " ..... , ....
. ,
. .
00 . .... 40"" . . ,
So. r . . . ",,,
I
....
"'_~_
00 .«« ... . 0
I•
• 0
If
!
I
-•
U posible anlicipIJr los errores de ejecuciOO dehidos a las variat>les no declara. das U!OlOOo Ia instrucci6n Option UpIicit. Si Irata de usar un oombre de variabIe no declaraOO, se produce un error durante ia compilaci6n.
Capitukl9 3. Errores de eje(:Llcion
Los erro
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 ~lcu· 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
.....
Muestr~
texto en
I~
YMlana Inmedlato,
Sll5!"'nde de forma coodicional Ii ejecuciOn de la linea en la que aparece el metodo,
Ejemplo [';r\nt_ s"" IIor _ .......... J
_ S ..... '''''tlvau\.yVaJ On'" Clbjoct)
~ .....
, • ...,jo ....... u
b
v _ ..... I _ I o . o
DebUg.orln' On,No04 If "h ,No. . . "Re.u.on" Then ...
RewltiKJo en I" 'len/ana Ejecucioo:
C. Administracion de errores en VBA
!i
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:· 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,
Linea , instrucciones It•• """,
La inslr..::ciOn RHUme permlte continua, la ejecuci6n del c6d igo 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
espec~icada
par el argumento Linea.
Para Impedl' Ii ejecuci6n Oet OOdigo de admlnlSltaci6!1 de ef10res cuando no hay "'rores. ~oq»e 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 q ue, en ca§O de e,..,... I. ejecuciOO debe conlinua,.
Depuraci6n y 1Idmlnistrad6n de elTOfe5 SlntlI~11
On
3
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 M ilia de adminisu«iM de error Que se eje<:uta cuando e/ nombre e/egido es inc:crrecto 0 COfresponde a un nombre exiSlente. Sub .rror ••_~r._Ho ja . ') Dl0 Hoj_TeO. Aa Nor • •••• t DI . "" ____ TO"" St ring .~
•• .., ......"" •• •• • j..,~,u~ I_ ",U ... • ........ d . . nd_n .......... •
On tr r or GoTo
~ i n l .t<.c l onOo e . r o r
••
•••• c ..... bojo ••• l.ccloaarl. y oc"c".' wo no.b •• f or ~ ch ~oj. ~ • • t In Sheet.
Hojoteot.S.lect I""" , .ox _ Ipr """" . · • ..,ciba . , """".0 "" bojo ootivO",
1
""'VQ ~ ooobn.
oet . "l t , · Koj.l e. t . ~'DOJ
.01.
1>0_
C.,,
'''''-'co
d""""
...-ro
It """"""<>Abc • • • - , beD h it Sub Hoj.T .......... . ~ ""..- .... N~ d
!
,t
, !•
n... rUn 10 &4• •10.1 . . . .<1 .... 4<0 ........ On ! Hor GoT<> 0 10 p
... ..,.,.011&
lI~ro
.no.t.ul .... lect Jletl ....,.1ll .~tl. ...
"" ......, ••• ...,,~ d . . . .0 ••• qu. . . . .0< . . "" _~ •• j . 1 ......""" .~ l.o U ....... _ ' 0 I
..- .
~jnj . tr . elonDo . rror •
•' "-9IlOX · _ r . do bojo lneon.eto ...... tente · ~
-~
Progfamaf en Excel: Macros y
~guaje
VBA
'm
Hidden page
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 lYud~.
".""""" ~Ive
un c6digo
,-
Devuelve 0 establece un valo. nUnH!rico que e5jleCifica el
Source Devuelve
I
"""
numero del errof.
estableo:e 11M cadena
f"(lITl~ ~
M~lodos
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
brifld~
infotm
za dt!1 error.
I ~
•! •
i
-•
Prlva , a SYb
IIOr.boo.~•••• 'Ao •
!)I- '''II ~ .
• v•••
.......a W> _ n j • • • lo boj . •• • 1 ra._ cIo ..... t ••
on "r",r
~.
Object,
"'"'}
GoTo
0< ........
"'<"Or
II $h .Ka ... . ". ...... n · Tho n ... """. ". , , __ 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 l.
EI mooelo
2.
Ejempkl .
.
E. EI protocolo DDE l.
G.
•
.
• •
• • •
• •
•
. . · . .
Objetos vlnculados 0 Incrusta dos dej objeto OLEObject
•
• • • •
• •
M~todos
2.
Propieo:!aoes del oojeto QlEObject
•
•
•
293
• •
• • •
1.
Metodos y propiedades del objeto WOfkbeJol(
2.
M ~todos
otros oojetos
29. 295 295
Metodos y propiedades retativos a los vincutos con Excel . . . , . . . . . . . . . . . . . . .. y propiedades de
290
•
. .
l.
288 288 289
291 291
•
vinculaoCi60
3. La clausu ra . .
F.
. . . . ·
La inicializad60
2. La
• • • •
.
296 296 299
Vinculos entre aplicaciooes
A. La tecnologia Automation I , Presenlaci6n Automation, Ilamad. tamb;e., OLE (Object lJnkins and Embeddins) u OI.E Aut.r que permit~ mooipular los objetos doe otta apHcaciOn matioo, es una directlmente desc!e Utel 0 de VBA E.otel.
tee"".
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 ~b. que provee I. informadoo para manipuillf los objelos puesto:s a disposici6n PO' un ""NidOf. Se pued~ u.. , el £xamioador de objeto:s para examina, el contenido doe Un;! biblioleca de OOjetos. Para teoer acceso a los objeto:s de de ob)eto:s doe ta siguiente maoera, ~)
I" t
•! ! •
"
ott.
aplicaciOn. "" debe refereociar s.u bibliotec.a
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+: ,',
I
•
( ,\Oodd " .... .,. ...... _ _ '""\ , d,
..-
"
.) Active 8 oontinuaci6r: las reierenc:ias deseadas,
o EI n"mero indicado con eI oombre de la biblioleca de oojelOS corresp<.>nde a la vefSi6n de Microsotl Office (9.0 pa ra 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 • ) Use
'14'
e!1
~
el c6digo VBA una variable objeto .
func:iones C,nteOb;ecl 0 GetObjed para hacer reierenc:ia al obje1o.
VBA Excel 2007
VlnctJlos entre aplicadones
fiemp/os EjecuUtr Wom' oi • • _ « 1 . . ""joec Sec .",,110«1 _ CrO&t_j"". (" ""r~ . "'~pllcn;Qn-'
,
Re{erenciil iI un rJocu=nto WOfO' e!Vslenle
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
Inicil' II aplici/ci6n WOfO' 2000 01 • • wwe«l •• "" 100< Set .wwe«l _
c.:_'_j ... ,- we «l.1opp!icaUon.l0 - 1
Los slQuienles ~rrafos describen c6mo maroeja, distinlos programas de Microsoft Offoce usando Iii Iecr.oloE1a Automalion.
I
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.
•• !
I•
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
Viowlos entre apHc.adones 2. Objetos y colecciones Word Ooxlllllllnt$ CoIetti6n de todos los archMn WD«I (objet.,. Document) .t»ertos. 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! WD«I usa eUlllldo o;;e crean ~ modrlican me!1Sol)es de COfrt'O electronico y las respuestas a !!$OS menSolies.
""""""mde ~ecciOO
los convertidOres de archiYo (obje'tos f lleConvert) disponi~es para
abn, YJIUIIrda . archivos. fontN..nes Objeto que contiene la li$la de nombres de
ta~
/<.oentes
disponib~
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 ed ilot de eo,reo electr6nico.
I, "".... l;:
!
,•I
Representa tao opCione. de apiicaci6n y de documento de Word.
Selection
Represenl.a la selecciOO actual en
IK\II
venta'"'" 0 ..... panel.
capitulo 10 System
Contiene informaci6n sobre eI sistema de su orderladof.
Tem piltH CdeeciOO de lotS
~an~ lIas
(ooietOS TempI.t.) lctua lRlef1te
disponi~es.
3. La colecciOn Documents La coiecci6n Documents e-stllom!ada po. los objetos Document a biertos en Word .
....,.
'" Crea un nuevo docymento y 10 ilirega a la oolecci6n DocurMllls. Ejem~o:
Documents.Add
Tem~.te: .· Normar
C... Cierr. todos los documentos Word abie,tos. Ejem~o: Documents.CIose
0_ Abre eI docuRlef1to especifo:ad(o y 10 agrega a "' co4eo;i6n DocLlnlllflls. Ejemplo: Documents.Open FlIeName: .-C:
...
Guarda trxlos los documentos ab-iertos. Ejem~o,
Documools.Save
4. El obJeto Doctlment EI objeto Document I\ace referencia a un documento Word . ActiveDoc_t desigO"la 81 docURlef1to activo .
vfnculos entre aphcacior.es M.....
Activit. Activ~
un documento ya abierlo. E;emplo: Oocuments("Compt8s. doc' ).A&tjy~te
C.... un documento Word at>erto . E;emplo: Oocuments("ComPfas.doc' ).Close o ActIve[)ocument.Close Cierr~
PrintP,eY\ew Muestra 18 vi$\a pre/imina, de un documento. Ejemplo: Actr.eOocu ment. prj ntPreview
..... ....
un ob;eto Rln,. (Se~tlon). E;emplo: ActIveDocument.Range(O. SO).BoId _ True Devuefye
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
MailMerte
:;j;
F~i6n
Y combOoaci6n de oorrespondencia en Word .
•
I
,I•
Pa,eSetup Opciones de confillu ri>Ci6n de p.'lgiM,
Hidden page
Hidden page
capitulo 10 ResultMio en Word,
--
.
, --.... --. --- - -"-" -- -..."---- ,----"--
c.~
_
,
(J
.
~._~_~.,
~
IllSllU.OO DI n ...... Dl2007
-
.
.
vinrulos entre aplicadooes
C. Comunicacion con Access desde Excel 1. EI modelo de objeto Al::cess Extracto det modeIo de objeto Access,
I i, ~
,• I
lot,ot<:o
Capitulo 10 2. Ejemplos
a. Usta, tabla! de llna base A«en ES/e ejempk! mllt'Slf~ cOmo lief I~
/isla
de lab/as de /a base 1tccess
NorIhwind 2007.accdb.
Sol> T,,,U,]",,,,.,,,, "I•• p~ c ••• 01_ I , j ,.. I~jej.
••
AoO* ••
'n' ....or
Appl l e . tlon
UA • •• • I6a Kle
S O< ,p~c o"
»o.. t •• I. " . t . d . tobl . . . . .o •••• adQ
"'eh
I. coleoc'&o ." tob, •• d.1 Obj.tG o..raDtn.t. .p~c . . .
,
,
. OpenCUr ront""t . "'., (""I . " Qr" _ "
'or
O.th • ·\No.thwf od
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<>
Se t
.p~e •••
End soil
Nothing
200. _0<0<:""·'
.. (0'
4
EHI _ 011 ,..,," ,
.."
I" . • ~i'> ....
"
• '" , • .sg.~ ~ • 1> ,, ..
~
~.1i" 0 "
<:.::!
,.. ' . , . , "' .. . .... . .. . , ... .. !" .. ' ~~ "~ " ::0 ...,• .' . ' . . ""I'I'.I· ... ~E f t '" . . . . .... . • "'" ••• - ;1 ", • . " i&1f ,.,03 . i i . .. -.- . .. • . , ."' < , ' .. ,.. . . • ,.., "n..... •• - I ,' . . " _. . . . . !• I ~ . , ~"2"~~~1 . ... ~~~~~a· ... "" -... ~~1"I Q"!". . , -. "! "t ,. ·... .. .. ,.. . . . . . . . !, .. .. .... . ....'! ,.. ... " .. ,. . -lh <. "" " " '; .. I . .... . . , "' . ~ . ;-. . ::1.. 1 . , , ' • . . ." , i..... ., ... [' • • ~f "' . • , I • ,". , 2 § , ~. II " ~ ~i ~O
,. ~
. ..
8 ~
.~ "
rt~~ ~1 7~a ~.
g ~
,~
~~~
~
~=~
nn
~~~ " ~ r ..~~ ~
~f
~
< .
~
..
~ ~.
!
~:~ .
! '
~.
o~n
• ~~ i !~a~~~III~l~r:!r
..
~
~ : i :i2 £ :
~ : . ~ ~~t
• ....
'~ WlW "I " " ' ,','" 0 " • • ~< .. .. n ............ ~ € . E . .. . . ,i ~. ~_~ ~_ iS~~- ." ".. ~." ~ ~ ~~ "' ... .. " ''''~... ....
~
n
~
~
~
~
z
,~
"" o"~~~""'."i" 0 ... "'e. _rt n __
~
", " ' , ." . " on , , _ '< , .... - -~. z . " ..
_... _ ~.2i, ..
~
"
..
_ <
. ' ~ "' '' ! "
~
~
~.
"
,
...
g . ~;...
~i "" .. .. 0
"
0• •o '
...
....
'
·r~; _ ~ . o
"
o •
"_:
._0 '"
"
"ft . , "" . -_ _
..
>-
§
2- lt ..
g~o _
,
:;~~
,f ~ r !
[
"
__
...._
..
'j
"
,'
"0 ' "
... ..
.• n
"
"
~ ,"
~ ,
'' ..
'" f; C
.... .
'
•
"g
' "~
..
.,.' :~B ~ . ::t ... .-. ..
..
~~
0
" "
,..S~
~ ~
~ ~
~
•
~"
Hidden page
, i • t , ~ •
,,I
~ I; ,I ,•i '0- , ~
~
" 0
'£ ~~
, ,!
., "
• ~0,~
~
§ 8CZ
.>
~
"
I
..
'8
•
' . 'Ii
....'~ . · - .. - .'.. :.. Z.<: I~ .... . ....
,
!<
.
o~":
':~ ~I=_8'
0
]
...-~-. !""~.jl. .. ' I •
•
0
• ! ,•
,,
••• ,• I
'"
j .... .ll::,. .~ .. ':; ' -". , !l~ · ~~·l· -~"j .,.•. .. . . .!"" .. 'j·,·····'1 o; ... .. t: .. ,, /: !!' : !i~ u' -~~;;""'l " ',~::.;,; ,...IS ~. ~ ...... ';!
-.: !!' '; O • .'l. : !i! " .e!: .~ ;::: !'' _0 0~ ' ~!' "UM-;: J .... ... .. . .. j " ~ . . .. . ~. ~ u . ! : ' ~ - ~i~.:.' , .. . l !i~··· · - " . ...
.
,
!
•
"V_y
", ,' ca-..• :u• o ' ''OI''' ' ' I'''!~• •~M• ... .. " o • • • "0"
,,
0
!
,
• •• ,• • • •
•••,
II ,•" ~.~. I, t , 'Ol ~
,
" ~2 !~ ' ...~ _. .I ...' ....j ~~ I ~~">. M~=......"! ,'" ~ .", ~'i~ , ~ ~ ,, .. · it= ~l· ~= . ~ll' i ... t-. a., .. , "
n, ~,
o ,
!
~
'
,.,-~~-
s'
.,•,•
,
0 .
· 'f' ,· ~l :::
§
~
;'
,
o
•
-... ,. ' ,-. ."'!; I
M(l
M
_
",. .
'0
.,
,...=....
~w·WJ_.O
Hidden page
Vioculos entre apllcadcmes
2. Ejemplo Este ejemplo p
cre~r
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" • C r o. t~j . Ctl " OUt loo • . • pplie.tlon' ) , Cr • • "" n......, set ..... g • • • ppOytl""k, Cre.t olte . lol ... 11 It •• 1
_.j.
N!". . . . . . . ~ •
• • ~to, T• • to, Do. t IDA,or loo, 4otoo adjuoto. 401 . . ~.oj. ,SubJect • ' ~es,,~'f.o.oo 01 VItH"T",, ' .Do00 " " ' " A
. "
, ~tt.e~nt •. ~
le.[ • . Sand
•1
I
~•
Thi.Nor~ . N. ~
•j•
end Kith
, ado 40 '0 oplleod6e ,... , ...... oppOutiOOk , <).lit , . .I d d & l h •
I
~nd
i
0
•! •
!•
• ~t
.ppOytlOOk Sub
Para probar este ejemplo, "",mptace los nombres S,tvi~ Martinez y juan Durin po. nombres que fi8ure~ en SU 11m de CQt1tactos
Capitulo 10 Resultifdo
en Outlook:
•,
,
................ ~_ "'_" 'R CoC_",, ' , _ 40<0
"'''01.
A,""'_.",". <1 . . .
loo
~_ . ,l
.4j~ , 0
., • •
, ~ ".""
... I ••
_,'<0'
..
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 llamada St.I
- Inlclaliuei6n: la aplicaci6n Destinalion busca la aplicaciOO Source y establece con ella un car.al de comunlcaciOO (vinculo). - COII\IHSXi6n, se intercamhla n !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 formula,;" 0 en un inlol11'le. SlntaJ.is
,
DDESen~I,
,
1
Apl1cac16n
Exjlfesi6n de caderla que identffica urla aplicaci6n.
R(ibdca
An;nillo dotumento 0 art;nillo de
Elemento
Referend a
D
Cadena 0 expresi6n que cooliene los datos que hay que enviar a
I
d~O$.
un dato de I. aplicac:i6n Souru.
II aplicad6n Destinalion.
-+
DDEPoke
Uo inslrutci6n DO£Pok, envia inlormaci6n • la .plitaci6n Source
po< un canal
abOerto.
Slnuo. 11 DDEPoke«Numero de canal>.
,
1
Nll ..... ro de canal
W de canal de'l'uelto po< I. func:i6n DOE.nitllt..
Ele...,n~o
Referencia a un dato de II aplicaci6n Source.
Dato
Dalo que hO)' que
WI
~ .. ,
• I. aplitaci6n Source.
VBA Excel 2007
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.... nto~1
Nlimeto de ""nd
N" de caMI de'.uello poi' Ia funciOO DOEl nitlal • .
Elemento
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. 5 intul. DDBExe "ut ..
« Nfimero de "anal> . I
NUmero d e ""nd
N' de canal devuelto 110' I.. Iunc i6n DDElnillll • .
Cocnando
~
que conti\!ne un comando tI!COI'IOCido PCIt la OIra aplica·
tiOn. 3. La c la us ura
I+ ••
DDETermlnate
La in.trucci6n OOETerminile eMml el Cllnal de comunlcaci6n DOE.
~
Sint.ll is
i•
DDE'I"erm\ na te « Numero de """"h)
Programar ef1 Excel: Macros y lengua)e VBA
capitull> 10 W de
c.~ devue~o
IlOf I. /unci6n DOElnitiaie ,
~ DDETermlrnrteAli
UI insll'ucci6n DO ETfimlnateAli cierra todos los canales de comunicad6n DOE.
Slntul$ DO~ e rmin .t e . ll
Ejemplo
Est! !jemplo mue.tfa c6mo copiar r::ekl~$ Et.cel al priocipio de un documenro
W"". $""
~ r ."" f .r' """ rd ll
DI. Co .... l .... Variant
""t. "" e ....'
C ..... l
•
...... _rd y obr • • ' _ _ BtO
_'''"00._
OOI!:lniti . t .'.W, . · M' n,,<>rd· . ' op ic, . Tbla"<>rkb<><>k. "~th • · \c...l u"". , """" ., r~
... , .............
. " " . . . - ••
wOrU"". t .,· Tro ... ~ri r 001 ' , .... "\Iel·_I .. Cop"
.l
'''"'t-..''''
""i ""U conal . • T ..... n
.1
..
d . . . . ., .... , . , . AI ..,ri r 0' , , ' ,. . ~t.o . o rd
,""""' f"",,·. '01...," e_io
.~t
""
DDII
DOET.nolnoto Cona l -
,~
F. Objetos vinculados 0 incrustados Es JK)Sible manipular los objelos vinculaoos 0 incrustados ~ecci6n Dl EObjec:1s de objet()S DlEObJe<:t. EI objeto emparent.ldo puede _
8fl ~ •
t,!Ws doe I.
un objoeto Worksheet 0 un objeto elYrt.
Hidden page
capitulo 10 ".~
Application AutoUpO.t~
Object
'""" Count
Parent PlllCemenl PrintObieCt
BotlomRiahtCelt
-,
..'''''''
~alQr
Enabled
SIlapeRange
''''~ Interiol
Source Name
TOO
"" Linke<.lCel1
TopleftCell
Visible Width ZOrtie'
UstFiliRange
"'Od
G. Metodos y propiedades relativos a los vinculos con Excel 1. Metodos y propiedildes del objeto Workbook
-t OwIngeUnk I~todo )
Modifica un vinculo OffiIre do5 documentos.
ChangeLink (NAME,NEWNAHE.type J Nom~ ~
NEWNAME
vinculo que "" debe mooilica,.
NoJeYO nombrt' del vinculo. Tipo de vinculo Q"'" hay Que dev!.>Ivo!"
xlLinkTypeExcelLinke. xlLinkTypeOLELinka.
Vfnculos entre aplicac:iooes ~
Unklnfo (~ todo l
Devuelve informaciOO 0C
Llnklnfo INAMB,LlNKl NFO , Type,EditionRe f ) Nombl'e del viJICulo ,
LINKINF()
Tlpo de inlormaciOO que hay que deYO!ver: (xlUpdateState 0 x lBdit1onDate).
Tlpo de vlJICulo que se IIa de devolver : (x lLinklnfoOLELink a, x lLinkln f oPubliahen 0 xllinklnfoSubscribera). EditionRe f
Si el viJICulo es enc~
!lflii
edici6n. "'''' argume~to l"5IIeCilie>o la refer·
a la ediciOO.
Devuelve 0021 matriz lIi ...... 1 Bas;:
con
los viJICuk>$
Link Sourcee l type)
Tipo de viJICulo que hay q"" devoIver:
I ,.i ~ •
!
!,
•
>< 1 J;;>-
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.
S etL1nkOnDat.(NAMg.PROCEDIM'~)
toombre del vlllCIllo.
PROCEOI Mlli::n"O
toombre del ",oced imief1to qUI! '" debe ejecutar cuarodo Sf!
actualiza eI vinculo .
.. UpOateUnk (mlitodo)
Actualiza un vinculo. UpDat"Link(N~~E.typel ,~,
Nombre del vinculo.
Tlpo Oe vinculo
(xlLtnkTyp
Ol.El.ink a).
2. Metodos y propledades de olros obJetos .. AskToUpDateUnks (propiedad del objeto J.ppl1cnloDI
f'roPedaocl que devuelve True 51 Excel il'l'Y~8 .1 usuario " actuallzer los l'inculos t\laOOO se abroolos art:hiYOS Que los contleoen .
.. UnkSource Ip rop ledad
Oevuelve vlnculo$ .
"deli"" el OIig''" doe una propiedlld de "" documento pe""OlOi)zado con
.. UnkToContent (propied .. d del objeto Docu..ntPr_rty l
Propiedaocl que dev\.lelve True sI el valor de uOlO propiedad de documento zada ~ vincutada al contanido det documento contenedor.
petSOI\iIl~
.. ActIvilteMicrtl5Of'tApp lm6todo de l objeto Applicado.n l
I , .•
!
I
Activa una eplicaci6n Microsoft.
Application. Act! vateNicro.oftApp (INDI!.X I Aplicaci6n Microsoft que hay que actiVI'. Algunos ejemplos, x lMicroaoftllor
o
y
Cilpitulo 10
o Capitulo 11: Internet A. Consultas por Internet . B.
C.
EI objeto QueryTable 1.
Propied~des
2.
Ejemplos
.
•
del objeto QueryTablB
•
•
•
305 306
.....
'312"
1. A50ciaci6n Oe un elemenlo de libro a una p<\gioa Web.
313
2. Publicoci6n de la pagina Web
314
...... .
Publicaci6n de ptiginas Web . . . ..
3.
O.
303
Ejem~o.
. . . . . . .
314
Los objetos WebOptions y DefaultWebOptions .. 1. Propiedades. . . . . .
316
•. Opciones de la ficha Geoeral . . .
316
b. Opdooe5 de la licha
317
[)(~ora.dores
c. Opciones de la ficha Arcllivos . d. OtfilS propiedaOes
2.
315
....
Metodo olel objeto WebOptions . ,
.
318 318 319
Capitulo 11
E.
Importaci6n, exportaci6n y asignaci6n de archiv~s XML • • • • • • • • • •
. . · · . . · .
1.
~ecciones
2. 3.
M6tooos del objeto WOfkbooll
4.
ME\todos del objeto XmlMap
F. EI
E~entO$
•
•
•
objeto HyperLink
• •
•
•
•
•
•
•
323 323
•
•
•
•
•
324
•
• • •
• •
•
31' 320 321 321 322
•
doel objeto Worktlook .
1. Propiedades 2. Metooos . • . . · · . . ·
.lty
•
• • •
• • • •
~
Exce12007
Hidden page
capitulo 11 £jemp/o:
£I sigwenre I!jemplo impotflt I,,~ de5de el5lrjo www. infobolM. e~,
_.......... .... , _..
coIjZM:~5
rk I" 801M rk V,/ores rk l.IiKJrid
.",
.
'"
Internet Resulrado en &eel:
" "'"..n ".~
". " 'Ui " '01>.' $ "." "~
•.
11l6.1 9
•••."
·ur ·u
2 11' 1:16 .~w
'"
1'9U2$ 06t.I"
· 1.A
2 Jl1 1(11
.'.2' ••• ·u.
"" "" "" "" lUI
·1.j9
1.09.1 106
mm
n .61
II.'
".~ Hun,
n~
1M. 152
'HI lUI
"" 'HI
1119 11 19 'lSI
11 !, 11 It
IB'
B. EI objeto QueryTable £1 objeto QueryT,bIe {tabla de (OJlS
EI
I
•• !•
objeto
QueryTlbie peotenece I Ia colecd6n QueryT,bIes del cbjeIn Worbheet.
Hidden page
Internet
I
_.-
~~j_'
_
ea_ ...•.... ,.. ,,.....
, •, •
•
•
,,.-_-_ .....- . ..._._"" -1-"- .. __ .. ___._._ .. _
,.-"-.. ............ .. 0_.
~'"".
flo< ""... _ - - . "" •• _
"
...
Propiedades
2.
Sawf'assword
3.
Backgroundlluery Refreshf'efiod RefreshOnFileOpen SawOata FileNames Row-Numbers AdjustColumnWidth PreseM!Colum nlnfo PreseowFormattll'ljl RefreshStyle Coostantl!S
L
•• 5.
,
6.
I• ,• n . 8.
9.
10. 12.
I
!•
•
.. _
I """,.
-- ..
II ~
Valofes devueltos Cadena de ca racteres
"'~
Entero largo Boolean
- '"
Boolean
-," Boolean
Boolean Boolean Coostante .ltnsertDeleteCl'Ils lllnwrtEn~"Row.
xlOverwriteCen.
13. FillAd jil>Ce<1tFOfmulas
"'.,
,
-'"
Hidden page
Internet 5. 6.
WebOilollbleD~teRerognilioo
WebDilollbieRedi redions
Otra$ propIedades usadas par las consultas Web CDIlhtctiool
Cadena de COr&CtefeS. URL del origen de
d~tos
Web.
OestirWi
~ (~ngo
de
EditWebPace VlII"ialli. URL de la jl8gina Web.
EnabledEd Itlna; Boolean. Indica
~ ej
EnableRetresh Boolean. Indica
~
uwario poede mod ilico r la coosulta.
el
usu~rio
pllede aclualiza, los datos
~
rango doe datos
e~te rno .
M~llIlinConnection
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> N.~
Nombre del 'lingo de origen de datos eJltenlOS.
I.i
QueryType
:;;
ResultRuce Objeto Rana;'. Re~nta el A'ea de \a hoja de cilculo ocupada PO' ~ origen
!
!•
Constanta. Ind~a elli!» de consulta qlle Microsoft Excel ulillza pa'll rellella' eI Ofigen de datos extemos (xlWebQuely pa'~ las consulta, Web).
de
d~t05
ex\e,,,,,,,.
capitulo 11 WtbSeMclionTypit ConSl~nle. 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 "" ej~. Con!;lantes .IWtbEntirePilil dWtbAlfT.bIes .lWebSpecifiedTabies W.bT.bIes Cadena de earlCterl!'!i. UsLl, deHmitida pol comas, de los 110mb.... 0 n"me"" de Ir\(hc~ de las tablas qlll! hay qlle Importar.
C.ncelRtfresh Cancel. todas las coosultM en segurrlo plano
raneo de datos extl!fno ~
<>Om
,-
Elimina eI raneo de datos e.lerno
l!$pO!C~itm_
Actuali:a eI rango de datos extemo.
ReselTirner Restablece el tempori:ador autom~tico de actu.Uzaci6n Ulillundo eI V!ilmo W>lervalo establecido med iante I. PlO9ledad RefruhPeriod (frecuencia de acl u.al~ 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 . .MebCl.'b l e"",oRoe~tU"" • r.u • . lIebCt .. blel>.edl.oe, l
10 0 dot04
• I>.et . . . h "'0 "9<0,",''''Q..0 .,., · ,.Ue """ "H h
I"" Sub
ffrmplo de /I,mado del procedimjemo : importlf III tabla mlmero 1J de III pagina web www. inlobaISil.es/v2002fhomefhome_"sp M I, lIoja 'Acc~~ del /ibm ItCti.
w.
0,.
Sub 1"""". . OO'_Te.I)
....
,n~ ""ng" 0 ,. Ur' AO Str'ng
0,. 01. I Ao 'n'egor
Mo_ .... Gtrl"'l
n
c&neel o 1 •• """0.,1<.....10 .... , . . ~ bo . . . 100 do'oo ""tlvoSheOt.Qu ThfIn Po. I • ""tlv. 'h..,.OU.o,-yTOb'UII) .... 1•••
°
"'''90' ' U
: Xl OO' )
"' ~t I
.n
,0.,.,.
It L' . . . ., l oJ._to " . ... tOO-. ......... Ud . "URL;httP: " ..... . In'«<>'", .u!v20n/_'1lO
M. . . .
p."" ...
._
Sot rng •
.
""'lv~ ifO . k book.lIOrbh ... tot-""c,ono.
c.-... o"e_o.y
U
- ) , ... .-.qa'·A' · '
g. "
~,~
C, Publicacion de paginas Web Es posible Clea r y
pY~icar U~II ~II/I
Web II parti r doe un Hbro. <:Ie UII/I hojll E>al ,
<:Ie "'" srMico. de un rango doe ceidas ... Para publica< UII/I pA£inll 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 pa ra mod~icar los par~metros doe pYblicaciOn,
Elt,
vtIA Excel 2007
En VBA, para asociar un e~ento Oe un libro a una pag;na Web , .., debe crear un objeto PubiishObject (IMndo el m~todo Add de la coIeceioln Publish Objects). Pa ra Pl'blitar la ~na Web, lues<> deber6 \6ar ~ m~I> P ubli$h 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 Source Type y FileName son I>bligatorios.
PublhhObjecta
Expresi6n que dewelve una colecci6n PubllshObitcts,
SourceType
Tip<> de eleme!11o que se Oebe publica!' ~ISourteSlleel.. SourteRange, xlSoofCeWOl'kbool< , xlSoolteCharl , xiSourceQue!)'. xISootcePivotTable, .,).
Sheet
Nombre de la rooja de o;6lculo guardad. como pagina Web,
Source
Nombre del elemento q"" hay q"" publicar 51 .., lrata de un VMico , de un in!o
consulta. Nt .. lType
Especiflca 5i eI elemenw publicado .., guarda como componente de Micmsoft OffIce Web int..ac1iYo I> como texto e
im;!,genes esttitic ....
1, , !
!•
Dlvld
Iden)iflCador exctusNo lIIilizado en ~ etiqueta OIV de HTML para i6eolifica r el elemenlo en la pagil\a Web.
Title
Titulo de
~
pag;na Web.
Capitulo 11 2. PUblicacl6n de 13 pAglna Web Slntuls
Pub11ahObject.Pub11shlCreatel Pub11ahObject
Expresi6n que devuelve un objelO PubUs.hObjteI 0 una colecci6n PubllshObjectl.
Create
Si este atgumenlo lieoe .. I valor True y eI archivo IiTMl ya elUsle, eI mismo es rftmplazado. EI valor par defecto es fi lM.
3. Ejemplo PubliciICiM dellibro Emplfoados, ... ,.. libm
t~"..
rIDs
hoi.' de dlculo .
r Sell'icios.
e ... "" oI>jeto po •• g\larc!or W>& p.l.g1 .... . . b Se t wob •• go " Ae'lvowor' book . PuDlIOOQbj eot o. AOO
_
(dS"",,,.""""""' . Thio"".......... .. . . h • ·\..... 1....,•. h._I' ,
, , xlU'.'Sutle • • " LISTA "" .... " . _.(
~II<.
10
~ I a.
with web ...... . p.,bll o h (T..,. ( Ifruj _ ith
."" sob
Emp."',r1os
Internet Vis!! pre. ia Ih /a pSllill!J Web EmpleMJos.html cruda.
_.-
.........
_--
•
.-, tl c ',-
,,--. . .-- -. -...... """'" Ap .lIi ~ .
~
P~REl
sN
••
-,, ~ .
C_'K'" C... _od "'.~
~.
<>_ 1__ 0000 1_... 1
D. Los objetos WebOptions y DefauttWebOptions Los objetos WebOptions y DelaultWebOptlons coolienen los ~tributos usados "or Excel ~I graw, un documento como pagi na Web.
I .. '. ~
!
I
"
•
EI objelo DelaultWebOptioM cootiene las opciooes Web per defeeto de la apluci6n E»:eI: su conlerlE.'do, es eI objeto Applution. Las propledades del objelo COf~ 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 conter.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 .p~J\II Web" .
Hidden page
Intetoet Propiedldes llel obJeto
I. 2.
SaveHkldenData LoadPiclu .es
_.
OeIlullWebOptioos Boolean
b. ()p<:lones lie ta fic:hiI uplor.oo.es
... ......... _------
.--
• 2 2·
Propiedldes comur:es I .mbos ot:jetos
Conmnh! msoT ....tBrow .... IE4 liES 0 I(6) msoT ....tBrowNfV3 (0 V4)
I.
L i
Al IowPNG
• •• ''''''''''' 3.
!
I
-•
ReI)'OnVM l
Propledades del objeto
5.
."... 80elean e::
Dtf.ullWebOptlons
SaveNl!wWebPa&II,*;sWebAtl:hiIIes
,
Boolean
Hidden page
Internet
'''''"'"''' ~
de earBCteres. Sulijo del a,chMl usado PO' Excel al gua ' d.l, u~ docllmento \:Omo ~gin. Web.
Plu'I$Ptl lnch [ ntero 13'l1O. Doosidad (ea ntidad de J)ixeles celdas de tabla" de una pBgIna Web.
pDf
pulgada l de las imaaeoes y
"""'''''
Constante. Tamallo mini,,", de pilntll iia ideal (arlCho por allo. en pI>:elesl que debe utililll~ al ve, eI documenlO con un eJ
Propiedades del objeto DefaultWebOptions
AlwlySSavel nDei lultErK:odIrc BooW!an. Indica si se usa la codificaciQn predeterminada al guarda, una
~ina
Wffi
2. Metodo del objeto WebOptions UseDeiauilFoIderSuffix ~bIe<:e eI wlijo de ea,peta pilra eI libm idioma que haye
se~donado
MpeC~icado.
eo
0 i ....talado.
E. Importacion, exportacion y aSignacion
1 ,I .
!
!•
de archivos XML
En Ie versi6n 2007 de El«:el, cetdas 0 listas de dalo:s £)(eel .
puede~
relaciooarse oalo:s en formalO XMl con las
EI Modelo de Objelo £)(eel XML preseotado ""lui describe los peml i!oo ca'll.' datos en lormalo XM l ... los libros £>cel.
~.......s
objeIos que
capIWIo 11
I . Colecciolles UstObjects Colecd6n de la. list... de una noja
!ler
ListColurnns Colecci6n
£>:eel.
XmlMilps CoIecci6n :<.::el y los elemootos de un esque· ma XML. XmlScIH:~.
CoIecci6n de los esquema. XML conlenidos
en
un objeto XML.
XmlNilnMS plO!l1bres XML incluidos en ellibro especificldo.
Internet 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 ." • •• . a l on I . boj. ocu Aotlvo_ or" book . ""I 1]r1, _""tlv. WOrkbook . Patti • ·\CHente •. DOl '. 10000<
,..,.,rt
_.
'''''t
i
s~ b
S.vWXMLData
Permite e' porta, los datos de un XMLMap 8 un archivo XM L
_ r
e ll ......
>._
""t !~lIOr " boo'.S.v'AoXHLData
.".".._ " M tl ~lIOr.boOk . • attl • · \Cllen t . .. .... ' " . "'p, _""t lvt WOrkbook.1A1MapoI11
.,,~
f;ob
3. Eventos del objeto Workbook
I•
AIMfXml E."cpol1 Ocu r"l \'IIS guama, 0 exporta, Mkro.oft Excel datos del libro Bn:hiYo de datos XMl.
:
AItMXm llmpol1 Oc u,,,, (,as actuallUlrse una wnexi6n de datos XM L ....istente 0 Importa, n...e· vos datos XML . ll ibro especi!icado de Mkrosoft E:o:wl.
·
!
I
-•
espIlC~itado
a un
capitulo 11 BefoNXmlExport Ocum! antes de suardar
° e:xportar datos dellibro
espec~icado a
un arco;..:> de
datos XM L
BeIor. Xmllmpolt Ocu m) ~nles de ilCIu~lizar una cooexi6n de datos XM L oistenle " alltes de importar datos XM L a un li i>ro de Micmsofl ~1.
n"""""
[jemplo: IOQr 't>oo . .. Iter""u....,nlavv...... p ~ x.\I<.P. _ lO ~ oh .... . . . IIOoI.on • •yVoi ....ult u XIX.l '....,«R. OIIlt' I' Reo.lt • ~ 1 ' ."....,rtS~ce.o Then Pdv~u Sub
Bvvo l
MogBoK · ",,,o . . .... 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 I t .....-("Do.U j...., n~< e\ .rch lY<>· . Uri • • > ". vbQuuti"" • vl>'eoNol • """" "'.n ""900> " 1....,<..ci6n ca""ohdo ' , vbE>«:I . . . tl"" Ca""el • ~"".
4.
M ~lodos
.....,
del objeto XmlMap
Permile ouilar un XMlMap,
Ejemplo, Acti'leWorkbook, XmIMaps( 1I,Delete
'm""
Importa los datos delarctWo de datos XM l especifiQdo a las ce!das asigMdas al obje1o XmtMap espe"ificada,
Ejemplo, ActiveWorkbook.)(m IM.JlS{1 I,Import
'C,\Empl~os..mr
Internet
"'"'
&p:..u ~ un ftrdllVl.> de dftiO$ XML el tonlet1ido de I~s teldas asignadas obi-to XmIM. p espetificado. Ejempio, ActiveWorkbook.xm IMIll'S<" 1).Export ' C,\Em pleados.xrnr
~
F. EI objeto HyperUnk EI objeto ttyperUnk n!j')feSeI1ta un hipl'l'llneulo contenido en una un "'Iljp de celdH 0 un grM;co. EI objm ttyperllnk pem.nea a
I~ ~~d6n
hoJ.
de c~lculo.
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"" c~icac!o.
EmlllSubjed Cadena de caracteres. Te>:Io de 18 tioea de a!.Unto de COfreo electr60"Oco del hlpervlnculo espetlflcado (propledad U5ad~ con los hipervlnculos de los me~· ;e. de <:Om!O elect.onico).
"'~
Cadena de ca
Ranc'
I ,•· .......""0.'"
Qtlieto Ranp.
R~ngo
vinculodo al hipervinculo.
Cadena de ClI ract\'fe$. Te>:Io de
I~
etiqueta inloflnativ. del hipervinculo especili.
•
!
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
TextToDispiay Cadena de ca '3Ciefl:'5. Texto que se
''''
Entero
I~,JIO.
Tipo ~ hipetVlncuk\
rnosl rara para eI hipeMoculo psl ...... ~icado.
~~icado.
2. Metodo$ AddToF_~1tS
Agre@:a un ace £!.O d irecto al hipelVioculo "" la carpeta FaYOrilo$.
CINl. N.... Ooc:ument Crea un nuevo documento l'ioculado al hipe
"'..., ""
..
Elimina el hipervloculo
e5!*~ lcado.
~i<;ado .
Carga eI documel110 (Ie destino asoo;iado al hipervlnculo el documento en ta aplic.JoCi6n aplI'lIliada.
en
espec~icado
y muesil1l
m...Excel 2007
o Capitulo 12: Programacion Windows A.
Presentaci6n de las API . . . . . . . . .
B.
Llamar a una funci6n de la API Windows
32.
•
327
1. Sintaxis de la instru<:ci6n Declare .
327 328
2. Paso de argumentos .
C.
lista de funciones API Windows . . . . ..
328
D.
Ejemplos de uso de funciones API Windows
32.
1. Recuperar
~
direclooo Windows
329
330
2. Abrir 18 calculadora de Windows . . . . .
E.
EI objeto FileSystemObject
• • • • •
1. Metodos . . . . . . . . . . 2. Propiedades . . . . . .
3.
Ejem~o,
copia de arthivos &cel
• • •
•
.
• •
..
332 332 333 333
capitulo 12
A. Presentacion de las API API ().ppIiution P~r~mmjtlfl IntMIJCe) ofr«e lun600es q...e W! perm~en controlar los mas Inlimas ..."eclo$ del ';fo!em., Usted puede e.teocier y per50nalizIIr .... aplicaciones ~ Ilamando a funciones Windows API de5de VSA. Si !)jen £:
La interiaz de programaci6n Windows
U"", AP t as UI"III MrlfI a
funclotllS que se puedoen US&/" para trabajar too un
romp!lt"'"nte. una ~plicaci6n 0 un sistema operativo. Se tQ!!I9OOe seoeralmellle de '""'" 0 mas ard1iw$ Ott WyMmic Unk Ub'~ry 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 de menSlljes, relojes. menus ~ romunicacl6n,
G0132.dll
biblioteca GOI (GIlIpltks Device Interf«e) que contiene las runcioroes de SIII~ hitCia los per~o!
tomO el
tratamient!l
Existen OIrlS API, romo per ejemplo Ia inlenaz MAPI (M"il ~ic"tion mjtlfl mterf;w:e) que perm i\e esc~bir IpI\t«lona de Con'lO eltctr6nlco.
Eta
~
P~ram·
Exce12007
Hidden page
Capitulo 12
°de II fune"'n en la OLl.
nom_a 11n
Nomb~ del pr«:ed imiel1lo
1 h ta_ ngumentoB
(Optional l8yVal I ByRef)(ParamArray l nonwariabieWIAs type) (-..: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 ~ritos 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
Por delecto, V;'ua l BMic paoa los arsu mentm. 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 ~ribell 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 d ifeCtorio 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 •• ~ l t ~ St,j~ DI. "t'. oofl', ~ St.
St,f
•
• Oort.
1.
Got M ln ~'DlrO
It ... . roflle
....
O ' ~D ' <>
.,
.0."' "
pr ... r
2SS1
DOl o
;he"
" "
St.R•• u't • Trl.(StrR@O.'t)
0
L O ""t"""O~ I t,
'nStT", GtrR. ."It, vtf
• 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! usa n dos lunciortes API, lit p.-;rne,a, findWindow, bo$ca lit l'enMa 'Caley.. I1ld00a' , la 5t'gUIlda , FlndEliecutablt, busca la ublcad6 n del arclWo Calc.exe,
DeciaraciOn de la fUrlCKln API· ............... API Iou«.
=-
Ynto,,..
.... blic DoO I . . . "",,cUen " IDdMInd<>w Lib ".".)2 "
'.,....0'
M
9""'0'
Str''''!. s,n",!) ... Long
.pC. . . ., , - .
' p"I_o_ M
",b.
•• t o I""".&. .0 1 lou ••• "" uchho 'jOC"tob' • .... bli< Do
Hidden page
Capitulo 12
E. EI objeto FileSystemObject Elobjeto FileS)'$temObjtct propoJl:iona acC'so al slm",. de .rdllvos de un "'lui, po. Perrnite ewec"' lme~te buscar, crear, ellmioar, move. aJl:hlvos 0 carjlf!las.
1.
M ~todo$
CopyFil. Copia
UIIO 0
mas IJl:hivos
de u~
lusa r I otro.
Crwt,TItltFi Io Cn!a un nomb
~
archlvo especijk:ado.
Movt!FUe Mueve urw:> 0 "' 0 18regar <.ilIto:s. M~odo$
relatlvos a las earpetn
CopyFoIdtr Copia una carpela de un lugar a Olro. C,nteFokIef Crea una carpeta.
SO!
puede
Programaci6n Windows
DeleteFoIder Elimirlll UrIII carpeta
espe<::~icad~
junto con
$OJ
conteniOO.
FaldftExists
DevueIve un v~1o< Boolea n que indica si exisle la caf?eta especificada. M
~
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 espec~Icad • .
2 . Propleda
...
0.;,"
Devueille UrIII coIecd6n formada par k.>s oI.>jetos Orin: dispor1ibles en eI equipa
,.
3. Ejemplo: copia Oe an;hivos Excel
I• ,• !
I•
fl siguiNl!e ~jemplo busca !odos 105 archivos tlCtlI que hay en la miSfIM carpeta que el/ibro activo r /05 copia en el directorio 'C:\Archivos beer. Sub CopI"'",hivoelJ
DI. r oo"" Obj..,. DI. o'r,ll. ~o erN .....u.... d'n.,torlo , ..100<> q..o. y . . . . . . . 1 Se' foo _ C , e.toObj.ctl · Sc
',r'ng
y
. . .I . . .
Ci!piWlo 12 . . .I . . . If No' f .o .'Ol<..."".... I·C.\."'hlvo. ~...,.I · I "'en
f oo.« ... ' %l Cler (,C ,IMCh'voo """,el 'l KIld If "000 100
o< o~l~
""col y 100 oop,> . . ., dl . . . . . .. o
O<Ok .• n h . Do
· \ ' .~I. ' · .
vtIOo,..., 11
n il. o<, rll. " •• foo.copyUI. "' .. worlOO • . •• '" • • \' . o"filo, ' C,IArchl""o "",0011'
.«h.vu oiqu'en,. otr'11 • • oir
o Capitulo 13: Codigo de una miniaplicacion A.
Presentaci6n general
8.
Descripci6n de la aplicaci6n GestPresupuesto • •
c.
o.
. . . . . . . . . . . . .. .. 336
M6dulo ThisWorbook 1. PreseotaciOO . 2. C6d igoVSA · · · · · ·
Formulario NuevoPresupuesto l.
PresentaciOn . · · · · · ·
• • •
338
•
•
338 339
•
·
·. • •
341
. · · · · · · · · · · · · · · · · · · · · · · ·
341 342
.
343 343
• • • •
2. Usia de contmles · · · · 3. lisla de celdas con nomore del modelO 4. C6digo VSA · · · · · · · . .
E. Formulario BuscarPresupuesto . l.
337
•
• •
• • •
Presupueslo. ~ttx
· · · · · · · · · · · • • • •
• • • • •
•
Presentaci6n . · ·
2. Lista de controles
3. C6digoVBA · · ·
F. MOdulos ProcActions 'J ProcGene l.
• • •
•
•
·
.
C6digo 'ISA del m6dulo PmcActKlrn;
2. C6digo '1SA del m6dulo ProcGeoe ·
• • •
•
34. 346 346 347 350 350 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
- EI artl1iYo que
cont"'" el
c6d iSO 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
Los p
Hidden page
capitulo 13 -
permiten. respec_
tivamente. buscar y crear un nuevo presupuesto.
-
C. MOdulo ThisWorbook I . PresentaciOn Este m6dulo permite: -
ag~r
los comandos de menUs", la lictla
- modifltaf la p
Com~os.
Uo::et: oculta la bal1'l de fOrmulas
y los encabe2ados
- restablecer el entorno Excel cuando se
se cierla et
Hidden page
-
-
,
I•
•
!"
1i l , - .• ; -. . " "n- . ii ' . , .
~ , , 1 ." '. ...... ". §
§
.... 2
:2
8-
0"
' ~ "
..
-.
"
~
8 i·"- ! •
~ ~ .3 · _'.d .
2, ' 0.
" §' .:~ ! _~
:~
....
Q;
I ,
... ,. "',. ... ., J I ,, I"" . jOJ '" :1 1.. ~ .8. 3..-. .. ..!• . 'j ' "' • . . .. . .. B "! ~ t H~P ~ h !!~~ ~ = 8~' : : lJ j H ~H , ' !. . l" "'" ... '~ .: l" "-c.."I" ." ..."" I-, .,"" ! I ."- .. .'ll•""""" .r"! "" ' -'". .... . . "' " ... '" . ...... - . ••. • " .. ..! .. : jl ! ... i '" - II .... -.. '" . : ~ - :id " . > "
M
-
'•
o
,
8 0_" 1M '"
·,!~I e~
-~
~" 7 ~:~ ~"~:;e ~
... . I ' _'" :; 0 .. ,
~
_~.,c
l.':~:~ ~
~ ~
,
"
"
~~-il ;
Q-"' ~.
l<.I~;'
':'~.l! ". 0 ;", ; o .~"'~~
"" " .... .. , . ,
:11_
;0 .. .~
....
0
;: _ . e::g:n~::~~::, . e~
"
~
5
,, ! :::~; ~ ~ ~
~ : Ze-::5"
'". " 'II. ~<;;~-~ .. ~ ",
". .:: ., "-
q "H·;; ~
~.! . rr 0.",0
..
.
~.
....
~f8 ~ " Pj i ~ i~z
~
.
"
Q
"
H~
C6digo de UJ'Ia miniapHcaci6n . . . I _. .
Set
... -..
eUo~t.
<>pt •
~ . Cont""'U.MdITyp
__ """"trolBu .. on.
10,.II .lIdQn .· l)
op .. caption • ' ~U oUonto opt_OnAeUon • ""\Iltlp1 • • t • -CU' un nu~ cllonto "
"'.ea. eU .... o &
~ . Cont
oC,)n.r<>l"ut<<>n.
'11,.1109. "!Q" , ' ~) O\lt_OoActiOG • "BuOOor_Clionco " opt . Cop.lon " -.uoeo r o,lonto O\lt . T' U pTex t " - 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,
_
~Iw
los datos
~
cliente en las celdas con nombre (CodCli, Emplesll ,
Direcd6n, etc.)
~Ieccionado
en el /ormulario .
I•
, .~
I•
• Programar en Excel: Macros y lenguaje VBA
Ihi
ca pitulo 13
2. Usta de controles c ...,
p~up
IXI
...,.
-.
Dol ... .... ....... , ...
I 1t1l...IiCiii3
" ~
I 11/01/2001
' ..... M~ . ,
I
.~
3
,NomINe del control
Dnglpo;i6n
l}
cboClient
Cliadro de tim. desplegable
2)
txtFecha
Cuadro de te>
3)
cboTema
Cliadro de lisla desplegabie
4)
cmdCfear
Bot6n de comaOOo
_.
,
-,
•
C6dgo de una mini(lplicad6n 3. Llsta de celdas COfi nombre del modelo Presupuesto.xlb:
I. Presupueslo
3. F...,1Ia
5. 6. 7.
Direccion CPostaI Ciudad
4. Empresa
8.
Pafs
2. Codeli
4. C6dlgo VBA (>pHon hpllclt
. '·,_.H••
.pr . . u"....to· , • ...... ro . 1«o.oft O
•••
Ho.t r . r_T.... _Offlce • • ..,he po. dor..,to
' X, r OOM
I•
l
•!
Sn
5.~
-'0,-,,""0.
. .
"DII/ ... ',...,...",
.. -
Prlv.t. 5"" ' xt . oc'"_ ""! oroup4a t. 'ByYol C.ncel MS,o ..... 1 "I"lIen COnc.1 t x"o<:'" •• "''''' '"t • .o'''')
"
-
-
~,~
. , .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... lh • onp•• h • l-ert ' .... pllco.lon . • n". ""nl ....ollc •• lon_ Po.b) ' \"""-ont ~-. 1>\' D'r lotrO., • • • tr"" " _ . . . . . .1 _ r . 40 .rchIY" ~ , ~ Whll • •• r f ll. . cbOT_ _ ""'I' ... ... ,.I.trfllo. . « f U • • • ><
•••
'"
0
•
0
•
. ..
0
-
.
....... ,... ' ...... .....
•
""n(.tr'U.,
"-
"
~~.
P<1v".
5" ~ """"rear.~lIc k ()
...••• ."T"._ ... 01. """ h
""rk bo<>'
0>. wl>kH._ .... s.rlng Uo ... ot>j.o.
.... ..,,,. . • ,.. .... 8«1"9
Colo.", ..
0
"
• xl.
..." ~ 0
..
o"""lIon. • Mogiox "<:1 'on"
"
c ..... , ,,.
M~
..
latro
~
~
,
-.
obllg •• orl ... • •
" br ... '.,..op'" ........... M b.h 0'" In Mo"boo,," w.k, ,.. ... n:.taWC,kbooJ; TIl'n ..... <:10 ...
." --, " *.- ." b" ••• ..- "
..
.M ._
~
....... • •
~ x .I
..... lon
.,
Nex, wbo VodUc ........1 11.. ..., yo .... .trf.,ld-. • cboClion. Rlghtl.X.P"" .... Mld«K. h..... ..... {.1 . . '"" .... · .d . .. • l>!r{ob'N._I Th . . lib..., " .K . . . .• • "" .... I0 .... lon 0
0
""
-..... . 0
"
•
•
"•
" •-
0
lib ......... .so I. pl&.O.lIl • , 1I>r. " ""........... rkboo • •. AddITa.p •••• , • •• 'PQ'4or • • ..... u"" . . . o. x " ~,
.
.. .. •
•
-I _
.... _
•• to.KI •• 1' 1
o r
_
, ,, I ,. " if, . "·l~"·..:; .,~ '''~1'.. '" :0...• • . . . ..... , . . ,... h - 1-" " - :: :;: "!i '!.
~ 'a.if··U·
!!~ P.~ ' 0 .,. .8
: ~~ .I:b
B;; iH ~
~ "~ ~ "' ''! ~ . ~
- ,.,. ~
. ~
;'
.:;- ~
~.
n .. ; : ~
~
o~t E.
••, - ·"_! ,,0__. . .. _0 .. . i . . , ... a!. ·. . .. -.....",., .... !- - ,.. --",.' .". , ; - ,--' ;~ p ~ i. - .... n .. -. Z:: ·-,,- ,- I .. -. ... , , ... - .-. 1 ..
i~
,.. ....
.. ~
~I
~ L~ oI j' ~~ "d. _ 1~ :; ': !1'!' ~
~
"" .. 0 ~I i .
•
....
...
::;~ " 1i';> 0" ...... ~ .. .. a ~
t
~i
,
!
i
1 ,
<
.
,
,
-
~
•
•
:: ;- 0
lI"
•.
.. . . , , -
;;0
,.,.il " ~:
:.:. ~ i
•
~< o
"' 0
c. .
•
.
~t~ 2
.,:; H¥ t
.
:t"
,"2" ~~ ",," . _
•
.
.",-•. •
~
.
o n
...
;- ~ 0
.
~~::l '"
::~
-. 8
• ~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 d~ i bles).
- abo-i' 0 etim inar uno 0 mas pteSUpuest05 en Ii hsta de presupuestos obIenida.
2. lista de controlM
,x;
au.CoO> .,.. u.......
<--".,,_. . . . , ~_,to
........ _ ....
<_ _ "0'.......
•
,to.·........_
<._ _ <._ _ .JOIft_..-..."
<._ _ "0......,......
Nombr. del control
DelCl"ipci6n
I.
cboClient
2.
cboOpe
Cuadra de IiSiII desj>legable mod~icable. Cuadra de I;sUl desplegable mod~ic.ble qve contiene
los operadores de rompa,ao;iOO
(> ..
0
<; - ).
C6digo de una miniilplicad60
3.
Wfecha
•• 5.
cmdBuscar cmdSIJ)lf
6 7
cmdAbrir
Cuadro de texto. BolOn de comanclo . BolOn de comaOOo. Boton de comaOOo. Cuadro de lir.ta desplegable.
IsIPmoup
3 • C6dlgo VBA ",,
,-
HIYlte Sub Uoe
eb 'os , . Mo:IJ<_ ••• • e_.Mo:IIt_ ••••
,
I.l..,e<-..
~.
1_,
p ...u".. •• _
,
tlSdoe,,,,,,tl ...... ra .~ ell ... , •• I . u ... d"plo-gol>lo LI . . . Clien« . 1·'u.e.
,
"
~~. 'u~
P'lv.t.
,
"
tx.hlOhO_""lofifl!lp
(''''''0' '_b ••
C-'.Qlo UUoe,,"" «
"
-.~
-,", ..-, I, - " . , "
P
~
-
I ..............
..... n Ca",,"
~.
c«1 _ P.chO(,x, • • ehO)
••' '''01"",,_
••• 0.
.. •
""1"0 •• " , o To 1.tPr•• up.LI •• COOnt , '.tPr. . up . • ".cUd I j I ~ " <>OO ... . Op
~
"
~
lrror 001"0
"",0.<1 ...
•
~
~
I•
I r" , ,
•• ....... om .... d ...... pr ..............
h .1_ •• o •• . Nurobo.
-
-
opUe ... I(Ioo ,~ O.
...".1
_....__..
~.
.~-. •• r.Deoer'p'lon
. .. I .
"
y
Hidden page
t
,
.~
•
1•
, II- , I ,~ · . .
•
,i , ~~ ~ ,
1
11 ,
•
•
-
,
t
·~
-..~~
..,
..
~ • ......
~~":'! "" ...~'!!,,,~ .. t: .... c~'" ¥ .. ~,,~ .. . """0"_e
-., . 1.O·: >· r~H .... I ' ....... . . . ... ... ..' .. .. " • •... '" ....... " !.,...... ., ' .... · -·~" ' U . ~. . . . ~~. " .~.- ... ~ ~.... o c o<,/ . ~t:.,
u
.", - .. ~ > t ~! .. ~;a," , ~ .", !'l
•
•~~¥"I~~~
·,.
..~, ~ ..~~;i,·BB -.. ~;! . "~ . ~ /) ~~ ¥ ~lr;!!: ·:l..i: -~" . j • .e . , n;·,'::·'::
u
... O.!:'/:!
'
...
<.>
... : .......
~
",,,
~ -• ~ .. , . ~ .. .. .. i " .., .. ' ' ' ! , u
0 ..
0
•
I• I·~ . "' :~ · . : ." ~~! . : ~~1_,:: -~ 8'''~a::: ::: <>. ~.. ~:: g.~~~~hl·~' g.] :, . :.:: .... j .. ~:O =~::: .", .. " .. 1': ~ ~ i!~"~,,,~.::::: i ...... : : ~. ..w ,. ,., " .. .... -., . . "'~~ • • .!I.! . ·~~ ···l~ ti ~~ =", . II .... _u." . ..... l .... .. ·."" " " ....... ... ~ I::: .. ~ "!;;~~R
, ..
~
u
..
-
'.
, · I'" ! ',. ." I
•:: •~" •• • s~~,,, ..•
I · . •• . , ~ , !>q ~ ••
. , , ,. ..
• "•
E
~~. !.. ~:
•
-- .. - ,.
"
-
•
,
• 1~ . " ", :" •
..
~ ~ ~
..
. "
Ow
w
0.'" t::::
.....
•
_...
.......
u
w
III
~
~
<;
Q
...
P"
" .. "'" ,., • WJ _
II
Hidden page
C6diQo de
Ulla
mllllapllcad6ll
- I . • >
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. freo u"" •• ,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 ""9B¢K( ",Do. . . . . 11. ~. la opHeoe'6tt preou"" ••
vbQo.o' lon , vbY •• Mo l • 0.. ~«o. Reou ... Next
vb'.,
Thon
'o, ' .
owAec·.. ·Q\!lt 011 1.«>. Go1\o 0, ~' i v . workbOO
•. C10"
"1>4 "
I ... Sub
2. C6digo VBA del m6dulo ProcGelle
I ,i !
!•
Option I KP" e"
v••• eb,.o pCb"."
PubUc I a. Int_r PubUc j a . In .. ~.
""_.odo "" 10 .........&0
Publ ' e Conot .t r ,..,lder • 'C . \P.o."~.to\· ObJ ..oo A:>O Priv ••• cnnel! "" ADODIi.eonn.c.lon Prlvo.. rotell "" """"" . R_co«l • • •
Programar eo Exre : Macros y leogua}e VBA
. . .I . . .
Hidden page
I 1ap1icaci60 una mo
,oa .........., ,•• c., ..... ........ .. ".
. .I . ..
• •
"
-
~,,-
'lb,o P, •• upu.oto .nCIi . 20' TIlen
Wi. ' ) • MuevoPuouJ> . ,%t''''hoo
."""90 ( 0 PR£$UI'Ui$1"O' ) •
Left( .bl<. ~_.
Len(vbk . " _ J
.1tOn9O ! • CODC:L I • I • rotCli ( · CLI_ CODCt.' · ) .R.f>90( · ........ A· ' • "o.~11 ( ·CL'_ ........ A· ) . bn9* ( · D'RECC',"",·' • 'o.D·' • TOtCll ( · c~l_elvtW) ' ) . Rong' ( ' PAls" • ucoo.(,o.CII( · CL',.AIS · )' 1M o lth
- " .." •
clo,..
ob"'oo
.
"
:&e<; . . .
,ncll .cleo.
~nnCIl.Cle.e
tOtel' • II<>th'ng Set ~nnC11 • II<>thlr>g Sub _
"'bile "netlon AIl,,"" o.O ... 800100. • ~,. I . 1>0. . ' •• oupuoo.o.odb
On .rror <>oTo S •• concli •
I rr,
N." .>.OOO1.Conn..,.lon
.-. . . . b"
With cMel! . ' rovld.,
• · Mlcro.oft.JIT.DLB08.o.0·
o"'older
""" With On luo.
•
· .reou~.o.o.odb·
~~
.>.1> ........ • ~ .... n«lon
.rr. On """r .>.I>n ......
-•, I
~
•
•
. . ..
'01 . .
"'_1-
~- '.nu"""o.o . """ . ,
0.\).1.
f
vbbeh ... tlcn
•
P\me.ion Ct,I rotbo(.Do •• M Control I ... 1Io<>Ieon 1>1. . ., oD.o" ... Sttl .... DI • •, 4&" Ao ~ 1>1. x ... '"togor
!•
rune ..""
.
• y
.
, . ,I ' . .
Hidden page
C Anexos A.
Lista de Instrucciones 1. Fecha
• •
• • • •
•
•
• • •
•
Hora/Matem~tjcas
2. Declaraci6n
3. E~ . · · · 4. 5. Estructuraci6n 6. Sistema · 7. Diversas . · ·
•
"""""
B.
•
•
•
· .
Lista de funcion6 . 1. COI1versiones
•
•
•
• • •
•
•
•
· · .
• •
3. Mate.mticas . · 4. Financieras · · · 5. Fechas y horas ·
•
Archivos, Sistema
7. Verificaci6n de
,.••
yaria~
Interacci6n
•
•
•
•
•
• •
Matrices .
10. saL .
. · ·
• • •
•
•
2. Cadenas de caracteres
••
•
•
. •
•
•
•
• • • • •
357 357 357 360 360 361 363 364 365 365 367 370 372 373 376 377 378 379 380
11. Diversas . 12. Sojvel ..
c.
Constantes VBA .
• • • • •
• • • •
•
381
•
382
• •
• • •
383
1. Con-stantes de color . . .
383
2. ConsIantes de fecha .. . 3. Constantes de tectas conespondientes a tetlas y nlimeros
384
4. Coostantes de teclas de funci6n 5. Constantes de teclas diversas . . . . . .
385 385
. . .
384
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 ~po
""
definido
j)Of
elusll3oo.
Reemptaza una canMad espec~icada de ca racteres de!ltro de una valiable ca· dena por 105 ca racteres e.otraidos de QUa cadellll.
''''Al inea "
Ia derech. una cadena de ca,acteres
cadellll.
1. Fecha Hora/Matem.iticas
,...
,.-
Oevuetve I. lecha del "';sterT13 en CUISO.
Iniclaliza el generado, de numeros aleatorios.
"""
[)evueIve I. hDfa
I, •
del sistema.
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 releoteca Oll 0 un recUISO de c6digo Macintosh.
Hidden page
Print. Declara las variables privadas memoria.
~
r!!SeNa su espacio de almacenamienlO en la
Property Gel Declara ~ nombre, los argOO1enkis y eI c6digo doe un que perm ile leer ~ valor de una propiedad.
procedim~1lIo
Property
Pmpert)' Lot Declare ~ nombre, los argoolf!ntos ~ ~ c6digo doe un proeedimiento Property que ~ as
p.-'" Declare
~
nombre, los argumentos y eI c6digo <.Ie un procedimiento que a";goa """ relerenc;' a un OOjelO.
Public Declara las variables pUblicas
~
P~
Ies reserva espacio de almacenamiento en
~
memor~.
RtDim
Dimenwna variables de tipo tabla dioamg y las raseN. espiIClO doe almaceo.mienlO en la memoria.
Aslgoa ul\a
refert'nC~
a un OOjeto.
Static
Define las variables memoria .
•
esta~
y las reseNa espacio de .Imacenamiento en
Declare el nombre, los argumen\o$ y eI t6dilO de un proeedimienlO Sub.
~
i- "po
Driine un tipo <.Ie datos delinido por ei uwafio.
•
~
Ane~os
3. Error .~
Simul. la ocurrencla Oe 11M error.
"" .~
Act;"'a una rutiN! de tratamie<1to de em:>res y ~ifica su ub;caci6n deIltro de un procedimiento. Tamb<~n 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 s«uentilll 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.
lod. ..Unlock ContlOla el acceso plr ~ de OlIOS procesos a 1000 0 parte de 00 atChM.!
abie<1o mediante la
instrucc~n ~ ...
""
Pe
Print If. Esc:~be los
Esc:ribe
~
c!atos
COl'
rormato en tin atChlYo secueoclaL
COI'tenide de una
vl~able
en un II«:h iYO de dtsc.o.
,-
CiellI todos los archives de d iscos abioertos con Ia instrucci60
~ ...
"'"
DeiiM la posici6n de la proxima lectllla y ~ritU1'a en un ald>iYO abioerte con Ia instrucc~n ~ ...
.......
DeiiM los atributos de un archlYo.
Width If. AsJgn. III Iongitud de la linea de salida. 00 .tChM.! .bierte
COl'
I. instmtci6n
ape ...
I
Write /I Escribe datos ef1 un atChlYo secueoci.al.
.. 5. EslructuraciOn
,• co, !•
Trans/iere ~ control a 00 Ploce
Hidden page
""
Interrumpe I. ejecuci60 de un pn:x:edimief1to,
1f••• Then ...
E1self.. . E1R ... EndIf Permite I. ejecuci6n condieional de un &r\lPO de do de ooa eJqlfeSi6n dada. While ... Wond Ejecuta una ""fie de iJlStllJociooes mienlta.
SO!
in~troc.ciooes ~g(in
eI onulbl·
cumpla una condicioo dada.
W"" Ejecuta u"' set;" de in.truct;iones sob", un 00ic0 objeto el usuarlo.
Q
un tipc
d~inido pDf
6. Sistema
''''
Emite una sei\al !IOOO
ChOir Cam/lja
~
directo
ChDrive Camb4a 18 unida
Ii ~
!
!-
..'"
Ctea un nuevo directorio 0 ooeva carpeta.
Mime Modilica el oombre de
u.n archlYo, de
un direclOrio 0 de una ca rpeta.
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 dev~ Vlllon!s en Vil!';'" ~ ...
de tipo strine
~ 00
de tipo Variant.
1. Convenlones
''"''
Convierte una exf)
~po ~ean.
CByte Corrvierte u.-.a exP
CCur Convierte
..
",
Convierte
\11\/1 expresi6n
\11\/1
expresicln
a datos de Upo CUfrerq.
I
datos de tipo Date.
'''"
Convierte urlll eXp'esi6n. datos de tipo Double (!IobIe
'Do< Convierte
"M
exp
I
Pret~).
datos de tipo Decimal.
Clnt Convierte "M expteSi6n I datos de iiI'"
I ",. .,
Convierte
Int~r (nomb",
entem).
llfII
expresicln a datos de iiI'" l ong (entem largo).
lIM
e:
~ C5n&
!
,I•
Convierte
y
Hidden page
Q8CoIor
Devuel"" un valor que indica el <:<\dig<> de <.:Olor RGB
~Oen(e
aI nUrneR:I
de color indicado.
ROB Devoel"" un
n~""'m
entem que
"'p~nt.
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
~I
primer car/lete< de una eadeM.
CIv, CIvS OevueNe el r;.1filcter correspoodie11te .. c6digo ASCII
espec~icado.
InStr OevueNe la posici6n de I. primeu ocu,,,,neil de """ cadena doentro de otra codena.
I i
•! •
i•
'''''''~
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
: Macros y
Hidden page
Hidden page
Hidden page
Rw"" Devuetve uo numero
r~'Ode.ado 8 una cantidad espec~i<:ada de posiciones
.
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
~ctoC.lculQ.11
..... -,,.
'DU .....c l . . . .. . . lB' Y p h
",>1 • '~
_120 . . .
Mog OO> .nt lnb.1 -"" .... .. _lIS Mog""" pix l,,".1
I
Otras funciooes .•1 b"n no son ;nlll""",,as. puecien oI>\e"" .... a pamr de funciooes intrinsec.lS .
!!
AJgoo::.s ejemplos, .p Secante .. 1/ Cos(X).
•! •
COS OC3nte • 1 / SlnIX), COOongente • 1 1 hn(X),
,i
• y
Hidden page
Hidden page
Anexos nat.Serlal Oevuelve la lecha coflespOndiente 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 3 1 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
mi·
n!j)ro!Sef'ta los
nutos .
~"
0evueM! un numero entero compreodido entre I y 12 que representa
~
mes
del 8110.
MonthN ame
Oevuetve una ca
"~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 gundO$.
li .... , limoS OevueNe la hera octual.
ff!l)resenta
los
se-
TI~
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 Y"r Dewelve un
~a
num~ro
que
ind~
el di. de I.:;emana ewe<:ffK.:m.
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_ Kog Bo ~
>Hoy •• •
~
no t @
........ I. 0..,"dAd. . . . ..,......." . ...... ,,~.rl ""9""'X "" 0,,110 110<110 ru~ 1>0"" • • _
............ _
TI_, • • MgUr>do ••
cd"",. y _ ... n
I ,~ !
I•
01 01_ qu. " . '0 . ..I>0l&< •
. .""".............. l o ............ ~ • • h. 17 II H .... ' 0 . T I . .S. . loII11 - ""'Io toSul.IIYe. r l ~"" ) . - " h INow l • I , 11 . I Ila9110X 'el dltl., dl.
l1a..ocbo
Hidden page
CO, Oevuelve lllioogitoo
I!fl
by\1'S de un
~hivo ~bie
con I, instrutd6n ap ....
Seek, SeekS Dewelve II poSici60 de lectura y escOlu,. 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 CiflCO primeros archiros enconlrildos en /. carpel. ;telu. l. Sob Llo<&A«:bi""o I) !)i • • UPa'" M. string
PI_ ou'H....
Sttl"~
.uPn• • 0",01,11 • ' \ '
.tr.ll• • DITI.tTP.<~1 .or j • 1 '" S
....
HI . IThen 0«. 11• • Olr(o.r,",.1
• «rlle • Oi T(I
illd II 11 ou. n. H . gllO ~
" ..
'I'l>e" "MeMvo , ' • • 'rOIl. , Ot<01" • "P",,"" , ' • • 1l."",.Tl... , . . ... ,., • 01.<1111 •
"T... no, • • "'..... ".l1.Loo '.«.11.I . ". ,"0 ") KM I f ~""t
j
IruO Sub
I ,~ !
I
•"
7. VerificaciOn de variables
tsArray Devuelw
un valo, que Illdita li una
van able es" 110 una matriz.
loOate
Devul!1ve 00 valor que indica ,.; "lUI
e..,~
puede
conYffli~
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",. Mod~ica
...........
una >eslricdon
~
II
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 inlcrmaciOO ",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
tamb<~n mues!fa
eI cuadro de
di~klgo
SoIwr.
di~IOII'I
_k>m
AI1e~os
-,....
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 delin ir oonsta ntes pa ra mejor. r la legibilidad del e6digo
Ylacim. , "" manteoimi\!<1to.
Tlmblen puede utilizar las silllJienles constantes VBA (constantes Inltlnsecasl en tod~ su e6digo.
l. Constant" de color
I
,i
, •
,I•
•
AIleX05
2. Constantes de IKha
Coo",,,, vt>Su~
V," 1 2 3
vbMonda VbTuesd~ vbWednesda
• , 5 6
vbThufSda
.,,'"
vllSaturd
3. Constantes de teelas correspondiente$ Los valores de
vb~
I.ls
Dom.!!!i
M,,,,, M06Mes
,-
Viemes Sibodo ill
letras y nu meros
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
~
Dac~
Con5tilnle vbKeyRight
Valor <»2,
Teela IFlecha defecha)
vb~Oown
<»28 <»29
Tecla [fleeha abajol Tecla SeMi6n
<»2' <»28 <»2e
Tecla (Imp< PHnt)
vb
,.,
eel
Print vbKeyE>
~~vbK oseJl
leclll[£JECUTARI Tecla SNAPSHOT Tecla [ln~rl
vb~Kelp
<»20 <»2E <»2F
Yb~umloclo.
<>90
Tecla lBioq Numl
vbK RBullOO
""
Sot6n~;erdo del .atOO Bot6n secuoda.rio del ratlln
vbKeyOelete
~LButton
<»2
Tecla [~irl Teda Ayuda
Indlre
A
pilotea, (1"1' EaceI, 283 AdcIlns · eel' 'fiM , 89 Ans... !~Nll.1Id . 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 C~, 274 lurw;iOn GetOtr!«I, 274 Autofl .. ,: Ie' • Qbjeto, 88
B
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
Indk:e
c
c" rkter de coolinullCiOO, 82 ~ I Fonn~t· objeto, 88 Cl'ls. coIecciOO, 147 Chart· objeto, 248
VMse t.mb;en
Ob~to Cl>~rt
Charts· colecciOn, 1 32
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 OlEDB£rmr5, 90 OlEObieCts, 294 Recer1IFites, 90 SmartTagRecognizefs, 90 SmartTags, 148 UsedObjecI. , 90 Watches, 90 Windows, 90, 133 Workbooks, 90 WorkSheets, 90, 133
CoIKei6n Charts
evenlo.247 COMAddlns ·
c~ l !wl6n • 89
Comenlllrios.82
COmmanda.l1 · coWd 6n • 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. Constanta. 63, 83. 103 de a b. 383 de 1echI. 384 de tecIft, 384 de teeln de Iuncl6n, 385 de tecIft diw:ISaS, 385 Inl~, 64 ~liUda5, 63 eu.dros de di6108O lonnul.ri05, 180 Inte&rados, 180
ro
prede!irMOOs,l80, I84
ClI!olomOOCumeniPropetties • colecd6n, 132 CII!olomVlews ' oolecei6n, 132
D
DOE, 290 cbl~ ... 293 ;nk;I.liaci6n,291 vlnc;ulaci6n, 291 Debug . objeto. 88, 264 DtlauitWebOptions · objelO, 88, 3/5
,
Oepuraci6n, 263 Vhse tambH!n [,/OreS Dialogs· coIecci6n, 90 Oo ... Loop instrucci6n, 72
E
Ed itor VSA, 25, JO IICO!lIe de ooa _tar\!, 32 i~ de OOdigo, 30 lipoifalla , 30 ErrcrCt>ecki"3OPtion$ . objeto, 89
Erro
Ermt (1\Inci6nI, 268 EffOt (inwocd6n), 268 0.. EffOt, 265 O\ICicnell
u n 00,
77
lodice FOt, 77 ~~ de objelO$, 29 E' pIorldor de proyec:tos, 28
(oit
F
!'",g.. P'qramador
cle!cripc:iOO, II en 110 dntI de .......... IIS, II f1IeSysIemObject • objeIo, 332 For Udl ... Next
most,.,
Qtn
For ... Ne>:t ~,14 F~, 9, 38, 40,
194
ciMe, 209 d~,,195
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 lec~ y horas, 373 !in.ncie,as, 372 InteracciOO, 378 lisla. 365 m.tfm'tleIs,370 matrices, 319 $i~e,
376 soIvef, 382
SOL, 380
Hidden page
Indlce Inle
L
M
303
. ob;"to, 89
Macros, 11 agnaciOn,21 defi"'r eI klga r de almacenamiellto, 15 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 refere!lC~ rel.t ....... , 14 gralm ...... ,ibro con macros. 16
las """"":5 y t. seRuridad, 18 modificaciOn de los po riimelros de ""2uridad, 18 moditicar, 20 Matrices, 61 Mensllje,186
""'", ,
Ba rras de comandos, Barras de rI'IO!<'IU, 9
Metodos, 86, 93, 103 Microsoft VI~., Basic
lIojas Userfonn, 194 MoOeI" de objetos, 87
Mc\dulns, 10,38·39
y
indice dar nombre, 4() eliminar, 40 ~r,40
importa r, 40 paSOlr, 39 M6dulos de clase, 38, 40
MS&B<»:, 186
N
o
Names· \:Olea::i6n, 90, 132
ObjelO, 91, 99
AIIswe
315
ErI, 268 ErtOIChecklngOptions, 89 file$ystemObjecl, 332 Hypeflink, 323
languar.oeSettings, 89
OLEOilject, 294 f'ageSe\up, 141 PfOIection, 147 Pu~ishObject , 313
QueryTable, 305 SmartTagOptiOl1s, 131
Hidden page
I6gicos, 79 oridad 80 , Option uplicit, 57
"
Ou~ook
pliolea r desde Excel, 288
p
PageSetup·objeto, 147 Procedim~to, 10 Procedlmientos. 40 III'C,,"O. 41
ak:ance. 44 8'l1Umentos, 45
8rsumenl05 coo oomb
e;e.:trtar, 42 eiemplos,
50
elimlnar, 42
function , 41 genent , 42 lIamar, 47 nomb!es, 83 property. 4/ ~ecciooar.
41
Sub, 41
Propel'ly. 41 Propieclodes, 86, 91.103 ~Iativa. a 18 venlana de la apHcaciiln, 119
Protection· objeto. 147, 155 Proyecto,JQ
Publicaciim de pAginas Web, 312
Indlce
Q R
~lIbie ·
OOjeto, 305
R.,.. - 001:10,
147, 159 VN5e t.mbiIn Ob;ffo R.¥
RetenlfllIS · coieccOSn, 90 Red+ ' iO... ~tQ
s _. ~nsr1as,
82
clescriiXi6n!le In diterentes opciones de 5egIlridad, 18 fl ' "," dillill res, 19
las mICros y II segY,IdId, 18 modrticlCi6n de 101
Pl'f.me ~os!le
Seleet Case, 70 ServIdQr OLE, 273 So< Instroo:i6n, 10 1
S,....rtl asQptlons , OOjeIO, 131
S,....,tTaeRecoenaers . coIecci6n, Smanf l&' - coIe«i6n, 148 Speech · objeto, 89 SpellinaO¢on$ ' OOjeto, 89 Sub, 42 procedimie!1tos, 4 1 - 42
90
5O:'g uridld, 18
fr.dice
T
u v
ThisWOfkbook, 38
UseOObjects - cclecci6n, 90
Variables, 5J, 83
'"
..:c,,,, al entomo VeE , 25 cerrar eI elllotllO VBE, 26 Oesctipci6n del enlomo veE, 27 entomo
VEE • objeto, 10, 89 VEProject, 132 Vent.1J\11 C6diflO, 29 VentaJ\ll Inmed i.lo, 29
Venl"". In'petti6n, 29 Venia,," locales, 29
VentaJ\ll Propied;tdes, 28
Vloculos Excel , 296 Visual Basic Edilot
Vh", VBE
Iodice
w
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
Workbook· objeto, 2%
VMse
rambj~n
Objflta W",*book
Workbooks· coW!cciOn, 90 Worbheel
Vhse Objflto W",ksheet WorkSheetFunction . abjeto, 89 WorkSheets· coIecci6n, 90, 133
x
'ML importaci6n, e>
ModeIo EJ
•
•••
,i
Copy rig hIed material
....
, . . ' . . '1.111 .1'01-01" _ Coo hi. UOOM .. ' ... uoom .... $
• --
.. ' "
, • •
" .
?
..
«
•
.'u"" ._ .........._
. ..." _ ,.. t............ ,...1......... . ......,' .... , 1M Ii ...... 10 ..1o.056ot . ......... ' ..... " ..... ~ . . .o. I ....... ~it ....1n t . . . . .. lo .........100 do 1M ._.p' nloftio: ..... _ _ oj. . , ': ,IM_joI "",..," ,.,..,.... II . ..................... _ ...., .. _ .
+
II '
".C