5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
1/236
VBA Excel 2007
Programar en Excel: Macros y Lenguaje VBAMichel AMELOT
Ediciones ENI
Diciembre 2007
http://www.ediciones-eni.com
CONTENIDO
1. INTRODUCCION A LAS MACROS .......................................................... 61.1 El Lenguaje VBA ........................................................................................................................... 6
1.1.1 Objetivos del lenguaje VBA ............................................................................................ 6
1.1.2 Algunas definiciones ....................................................................................................... 7
1.1.3 Escritura de cdigo VBA ................................................................................................. 7
1.2 Las macros de Excel ..................................................................................................................... 7
1.2.1 Mostrar la ficha Programador en la cinta de opciones .................................................. 7
1.2.2 Descripcin de la ficha Programador ............................................................................. 8
1.2.3 Grabacin de macros ...................................................................................................... 9
1.2.4 Las macros y la seguridad ............................................................................................ 13
1.2.5 Modificar el cdigo de una macro ................................................................................ 15
1.3 Asignacin de macros ................................................................................................................ 17
1.3.1 Asociar una macro a un botn de comando ................................................................ 17
1.3.2 Asignar una macro a una imagen ................................................................................. 17
1.3.3 Asociar una macro a una zona de un objeto grfico .................................................... 17
1.3.4 Asociar una macro a una imagen Control ActiveX ....................................................... 18
1.3.5 Asociar una macro a un icono de la barra de herramienta de acceso rpido ............ 191.4 El entorno de desarrollo VBE ..................................................................................................... 21
1.4.1 Acceso al entorno VBE .................................................................................................. 21
1.4.2 Cerrar el entorno VBE ................................................................................................... 21
1.4.3 Volver a Excel ............................................................................................................... 21
1.4.4 Descripcin del entorno VBE ........................................................................................ 22
1.5 Configuracin del Editor VBA .................................................................................................... 24
1.2.6 Configuracin de la tipografa ...................................................................................... 24
1.2.7 Configuracin de la introduccin de cdigo ................................................................. 25
1.2.8 Gestin de errores ........................................................................................................ 26
1.2.9 Acople de una ventana ................................................................................................. 27
1.2.10 Elegir las ventanas que hay que mostrar ..................................................................... 281.6 Novedades de la versin 2007 ................................................................................................... 28
1.6.1 Novedades de Excel 2007 ............................................................................................. 28
1.6.2 Las novedades de VBA Excel 2007 ................................................................................ 28
2. EL LENGUAJE VBA ................................................................................302.1 Mdulos ..................................................................................................................................... 30
2.1.1 El Explorador de Proyectos ........................................................................................... 30
2.1.2 Acceso a los mdulos ................................................................................................... 31
http://www.ediciones-eni.com/http://www.ediciones-eni.com/5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
2/236
2.1.3 Importar y exportar cdigo VBA ................................................................................... 32
2.2 Procedimientos .......................................................................................................................... 32
2.2.1 Definiciones .................................................................................................................. 32
2.2.2 Acceso a los procedimientos ........................................................................................ 33
2.2.3 Procedimientos Sub ...................................................................................................... 33
2.2.4 Procedimientos Function .............................................................................................. 34
2.2.5 Declaracin de procedimientos .................................................................................... 35
2.2.6 Alcance de los procedimientos .................................................................................... 36
2.2.7 Argumentos de los procedimientos ............................................................................ 36
2.2.8 Argumentos con nombre .............................................................................................. 37
2.2.9 Llamar a un procedimiento .......................................................................................... 38
2.2.10 Llamar a una funcin VBA en una frmula Excel .......................................................... 39
2.2.11 Ejemplos de procedimientos y funciones ..................................................................... 41
2.3 Variables .................................................................................................................................... 42
2.3.1 Tipos de variables ......................................................................................................... 42
2.3.2 Declaracin de variables ............................................................................................... 47
2.3.3 Declaracin de los tipos de variables ........................................................................... 49
2.3.4 Arreglos (Arrays) ........................................................................................................... 512.3.5 Constantes ................................................................................................................... 54
2.4 Operadores ................................................................................................................................ 57
2.4.1 Operadores aritmticos ................................................................................................ 57
2.4.2 Operadores de comparacin ........................................................................................ 57
2.4.3 Operadores lgicos ....................................................................................................... 58
2.4.4 Operador de concatenacin ......................................................................................... 59
2.4.5 Prioridad de los operadores ......................................................................................... 59
2.5 Estructuras de decisin .............................................................................................................. 60
2.5.1 Instruccin IF ................................................................................................................ 60
2.5.2 Instruccin Select Case ................................................................................................. 63
2.6 Estructuras en ciclo .................................................................................................................... 642.6.1 Instruccin Do...Loop .................................................................................................... 64
2.6.2 Instruccin While...Wend ............................................................................................ 66
2.6.3 Instruccin For...Next .................................................................................................. 66
2.6.4 Instruccin For Each...N ext .......................................................................................... 68
2.6.5 Salir de las estructuras de control ................................................................................ 68
2.7 Sentencia With... End With ........................................................................................................ 69
2.8 Reglas de escritura del cdigo ................................................................................................... 70
2.8.1 Comentarios ................................................................................................................. 70
2.8.2 Carcter de continuacin de lnea ................................................................................ 70
2.8.3 Sangras......................................................................................................................... 70
2.8.4 Nombres de procedimientos, variables y constantes ................................................. 71
3. LA PROGRAMACIN DE OBJETOS EN EXCEL .........................................723.1 Presentacin .............................................................................................................................. 72
3.2 El modelo de objetos de Excel ................................................................................................... 72
3.2.1 Objetos y colecciones ................................................................................................... 74
3.3 Principios de uso de los objetos y las colecciones ...................................................................... 75
3.3.1 Propiedades .................................................................................................................. 75
3.3.2 Propiedades que representan objetos ......................................................................... 76
3.3.3 Mtodos ....................................................................................................................... 77
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
3/236
3.3.4 Eventos ......................................................................................................................... 78
3.3.5 Colecciones .................................................................................................................. 79
3.3.6 Redaccin automtica de instrucciones ....................................................................... 80
3.4 Instrucciones usadas con los objetos ......................................................................................... 82
3.4.1 La instruccin With ....................................................................................................... 82
3.4.2 La instruccin For Each...Next ...................................................................................... 83
3.4.3 La instruccin If TypeOf ................................................................................................ 84
3.4.4 La instruccin Set .......................................................................................................... 84
3.5 El Examinador de objetos .......................................................................................................... 85
3.5.1 Presentacin ................................................................................................................. 85
3.5.2 Bsqueda en el Examinador de objetos ...................................................................... 87
4. OBJETOS DE EXCEL ...............................................................................884.1 El objeto Application .................................................................................................................. 88
4.1.1 Propiedades que representan las opciones de Excel .................................................. 88
4.1.2 Propiedades relativas a la presentacin de la aplicacin ............................................. 99
4.1.3 Propiedades diversas .................................................................................................. 100
4.1.4 Mtodos del objeto Application ................................................................................. 102
4.1.5 Ejemplos de cdigos que usan el objeto Application ................................................. 104
4.2 Objeto Workbook .................................................................................................................... 106
4.2.1 Objetos y colecciones ................................................................................................. 107
4.2.2 Propiedades ................................................................................................................ 108
4.2.3 Lista de mtodos ........................................................................................................ 111
4.2.4 Ejemplos de cdigos que usan el objeto Workbook .................................................. 113
4.3 El objeto Worksheet ................................................................................................................ 116
4.3.1 Objetos y colecciones ................................................................................................. 117
4.3.2 Propiedades ................................................................................................................ 118
4.3.3 Mtodos ..................................................................................................................... 119
4.3.4 Ejemplos de cdigos que usan el objeto Worksheet ................................................. 120
4.4 El objeto Range ........................................................................................................................ 1224.4.1 Propiedades y mtodos que devuelven un objeto Range .......................................... 122
4.4.2 Sintaxis de las propiedades que devuelven un objeto Range .................................... 123
4.4.3 Lista de objetos y colecciones .................................................................................... 126
4.4.4 Propiedades ................................................................................................................ 127
4.4.5 Mtodos ..................................................................................................................... 129
4.5 Ejemplos de uso de los objetos ................................................................................................ 132
4.5.1 Clculo del importe de un premio .............................................................................. 132
4.5.2 Asignacin de comentarios a las celdas ..................................................................... 134
5. CUADROS DE DILOGO ...................................................................... 1365.1 Presentacin ............................................................................................................................ 136
5.2 Cuadros de dilogo integrados ................................................................................................ 1365.2.1 El objeto Dialog ........................................................................................................... 136
5.2.2 Los mtodos GetOpenFileName y GetSaveAsFileName ............................................ 142
5.3 Cuadros de dilogo predefinidos ............................................................................................ 144
5.3.1 La funcin InputBox .................................................................................................... 144
5.3.2 El mtodo InputBox .................................................................................................... 144
5.3.3 La funcin MsgBox ...................................................................................................... 145
5.3.4 Constantes usadas en los cuadros de dilogo ............................................................ 148
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
4/236
6. FORMULARIOS .................................................................................. 1506.1 Presentacin ............................................................................................................................ 150
6.2 Crear un formulario ................................................................................................................. 150
6.3 Lista de controles ..................................................................................................................... 151
6.3.1 Crear un control .......................................................................................................... 152
6.3.2 Propiedades de los controles ..................................................................................... 1526.4 Personalizar un formulario ...................................................................................................... 156
6.4.1 Escribir procedimientos .............................................................................................. 156
6.4.2 Lista de eventos .......................................................................................................... 157
6.4.3 Resumen de eventos por objeto ................................................................................ 158
6.4.4 Cancelar un evento ..................................................................................................... 159
6.4.5 Ejecucin y cierre de un formulario ........................................................................... 160
6.4.6 Eventos invocados ...................................................................................................... 161
6.5 Ejemplo de formulario personalizado ...................................................................................... 161
6.5.1 Presentacin ............................................................................................................... 161
6.5.2 Cdigo asociado al botn macro de la ficha Empleados ............................................ 163
6.5.3 Cdigo VBA asociado al formulario ............................................................................ 164
7. BARRAS DE COMANDOS Y MENS ..................................................... 1687.1 Presentacin ............................................................................................................................ 168
7.2 Ejemplos de barras de comandos ............................................................................................ 169
7.2.1 Barras de herramientas personalizadas ..................................................................... 169
7.2.2 Grupo "Comandos de mens" en formato Office 2007 ............................................. 169
7.2.3 Agregar un comando a la barra de herramientas de acceso rpido .......................... 169
7.3 Barras de comandos ................................................................................................................ 170
7.3.1 Terminologa ............................................................................................................... 170
7.3.2 Crear una barra de comandos .................................................................................... 170
7.3.3 Eliminar una barra de comandos ................................................................................ 171
7.3.4 Mostrar una barra de comandos ................................................................................ 172
7.4 Controles de las barras de comandos ...................................................................................... 173
7.4.1 Agregar un control ...................................................................................................... 173
7.4.2 Especificar el ttulo de un control ............................................................................... 173
7.4.3 Eliminar un control ..................................................................................................... 174
7.4.4 Asociar un procedimiento a un control ...................................................................... 174
7.4.5 Otras propiedades ...................................................................................................... 174
7.4.6 Lista de imgenes asociadas a los botones de comando ........................................... 175
7.5 Ejemplos de mens personalizados ......................................................................................... 177
7.5.1 Presentacin ............................................................................................................... 177
7.5.2 Cdigo de los ejemplos ............................................................................................... 179
7.5.3 Cdigo del mdulo de clase ThisWorkbook ............................................................... 179
7.5.4 Cdigo de la hoja "Nota de Gastos" .......................................................................... 1807.5.5 Cdigo del mdulo ProcMenus .................................................................................. 180
7.5.6 Cdigo del mdulo ProcAction ................................................................................... 184
8. ADMINISTRACIN DE EVENTOS ......................................................... 1878.1 Presentacin ............................................................................................................................ 187
8.2 Escritura de eventos ................................................................................................................ 187
8.2.1 Eventos de libro, de hoja o de formulario ................................................................. 187
8.2.2 Eventos del objeto Application................................................................................... 189
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
5/236
8.2.3 Evento asociado a un grfico incrustado .................................................................... 191
8.3 Eventos del objeto Application ................................................................................................ 194
8.4 Eventos del objeto Workbook .................................................................................................. 195
8.5 Eventos del objeto Worksheet ................................................................................................. 196
8.6 Eventos del objeto Chart ......................................................................................................... 197
9. DEPURACIN Y ADMINISTRACIN DE ERRORES ................................. 1989.1 Diferentes tipos de error .......................................................................................................... 198
9.1.1 Errores de sintaxis ...................................................................................................... 198
9.1.2 Errores de compilacin ............................................................................................... 199
9.1.3 Errores de ejecucin ................................................................................................... 200
9.1.4 Errores de lgica ......................................................................................................... 201
9.2 Depuracin .............................................................................................................................. 201
9.2.1 Presentacin ............................................................................................................... 201
9.2.2 La barra de herramientas Depuracin ........................................................................ 201
9.2.3 El objeto Debug .......................................................................................................... 202
9.3 Administracin de errores en VBA ........................................................................................... 203
9.3.1 On Error (Instruccin) ................................................................................................. 203
9.3.2 Error (Funcin) ............................................................................................................ 205
9.3.3 Error (Instruccin)....................................................................................................... 205
9.3.4 Err (Objeto) ................................................................................................................. 205
10. CODIGO DE UNA MINIAPLICACIN .................................................... 20810.1 Presentacin general ............................................................................................................... 208
10.2 Descripcin de la aplicacin GestPresupuesto ........................................................................ 209
10.3 Mdulo ThisWorbook .............................................................................................................. 210
10.3.1 Presentacin ............................................................................................................... 210
10.3.2 Cdigo VBA ................................................................................................................. 211
10.4 Formulario NuevoPresupuesto ................................................................................................ 213
10.4.1 Presentacin ............................................................................................................... 213
10.4.2 Lista de controles ........................................................................................................ 213
10.4.3 Lista de celdas con nombre del modelo Presupuesto.xltx ......................................... 213
10.4.4 Cdigo VBA ................................................................................................................. 214
10.5 Formulario BuscarPresupues to ............................................................................................... 216
10.5.1 Presentacin ............................................................................................................... 216
10.5.2 Lista de controles ........................................................................................................ 217
10.5.3 Cdigo VBA ................................................................................................................. 217
10.6 Mdulos Pro cA ctions y ProcGene .......................................................................................... 220
10.6.1 Cdigo VBA del mdulo Pro cAct ions ........................................................................ 220
10.6.2 Cdigo VBA del mdulo ProcG ene ............................................................................ 222
11. ANEXOS ............................................................................................. 225
11.1 Lista de instrucciones............................................................................................................... 225
11.2 Lista de funciones .................................................................................................................... 227
11.3 Constantes VBA ....................................................................................................................... 234
11.3.1 Constantes de color .................................................................................................... 234
11.3.2 Constantes de fecha ................................................................................................... 234
11.3.3 Constantes de teclas correspondientes a letras y nmeros ....................................... 235
11.3.4 Constantes de teclas de funcin ................................................................................. 235
11.3.5 Constantes de teclas diversas..................................................................................... 235
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
6/236
10 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
111... IIINNNTTTRRROOODDDUUUCCCCCCIIIOOONNNAAALLLAAASSSMMMAAACCCRRROOOSSS
1.1
E L VBA
Vial Baic aa Alicacione (VBA B A) e el lengaje deogamacin comn a oda la alicacione del aee Micoof Office 2007 (Wod, Acce,Ecel, Olook PoePoin).
1.1.1 O VBA
Tabajando en Ecel, el o del lengaje VBA le emie:
A : VBA emie efeca en na nica oeacin nacanidad imoane de comando de Ecel.
I E: el conenido la eenacin de odo loelemeno conenido en n libo (hoja, celda, gfico, ec.) eden modificae aa de cdigo VBA.
C : lo fomlaio on lo cado de dilogo
comeo o conole AcieX (cado de eo, lia delegable, ec.) a lo ee le ede aocia cdigo VBA. Lo fomlaio emien cea ineface amigableaa la enada o la alida de infomacin.
P E: ed ede agega a la inefa de Ecel neo
men comando. El cdigo VBA ede aociae a modo abeiado de eclado,icono, ec.
M E: a cada ocin de Ecel le coeonde na oiedad
de n objeo VBA. Po ejemlo, ede modifica el io de fene o defeco a ai dela oiedade StandardFont(fene) StandardFontsize(amao de fene)del objeo Application.
E:
Application.StandardFont = "Arial"
Application.StandardFontSize = "10"
C E M O: VBA emie inecambia
infomacin ene la alicacione Office ando objeo eecfico oio de cadano. Po ejemlo, ede inea na abla o n gfico Ecel en n achio de Wod,cea menaje Olook con n achio Ecel adjno, ec.
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
7/236
11 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
1.1.2 A
P: Cada libo abieo en Ecel iene aociado n oeco e coniene odo lomdlo de cdigo VBA agado en caegoa.
M: Lo mdlo conienen la maco gabada oio ocedimieno fncione
ecio en VBA. Lo mdlo eden eoae como achio indeendiene aa lego eimoado en oo libo.
P: Lo ocedimieno on bogama ecio en VBA. Cada maco gabadagenea n ocedimieno con el mimo nombe de la maco. De la mima manea, ed edecea ocedimieno ando la inccinSub.
F: La fncione on ocedimieno e deelen n alo. Paa cea na fncin edebe ilia la inccinFunction.
1.1.3
E VBAHa do manea de cea n ocedimieno VBA:
Genea aomicamene el cdigo a ai de la gabacin de maco,
Ecibi diecamene el cdigo del ocedimieno en el Edio de Vial Baic (o enonoVBE).
La imea olcin e m encilla eo mcho m limiada e la egnda. Loocedimieno geneado aomicamene lo emien aomaia accione eeiiaealiada con Ecel (fomao de celda, odena dao, ec.).
Si deea efeca oeacione eecfica: algoimo de clclo, inecambio de menaje deinfomacin con el aio, conola la coheencia de dao en n libo o calie oaoeacin e haga o de eca eeiia o condicionale, ed debe cea oioocedimieno en el edio de VBA.
1.2
L E
1.2.1
M P
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
8/236
12 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
Paa ecibi maco, ejeca maco gabada o cea alicacione Ecel, debe moa la fichaPde la igiene manea:
a. Haga clic en el bon , lego en el bon(bicado bajo el cado de dilogo).
b.
Seleccione la caegoa en el men de la iieda.c. Acie la ocin bicada en
.d. Haga clic en el bon: la ficha e aadi a la cina de ocione de
Ecel, a la deecha de la ficha .
1.2.2 D P
1.2.2.1 G CN D
Vial Baic Abe el enono de deaollo. El modo abeiado de eclado e [Al] [F11].
Maco Mea la lia de maco. El modo abeiado de eclado e [Al] [F8].
Gaba maco Comiena la gabacin de na maco.
Ua efeencia elaia Pemie a efeencia elaia a la imea celda eleccionada.
Segidad de maco Peonalia la configacin de egidad de la maco.
1.2.2.2 G CN D
Inea Pemie inea conole (fomlaio o AcieX) en Ecel.
Modo DieoAcia o deacia el modo Dieo. En el modo Dieo lo conole AcieXeden eleccionae modificae eo no eden ejecae.
Poiedade Mea la oiedade del objeo Ecel eleccionado (hoja o conol).
Ve cdigo Pemie accede diecamene al cdigo aociado al conol eleccionado.
Ejeca cado dedilogo
Ejeca n cado de dilogo eonaliado.
El go XML emie adminia aignacione XML.
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
9/236
13 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
1.2.3 G
1.2.3.1 G
Paa cea na maco con el gabado:
a. Haga clic en el bon de la ficha o en el bon de la baa deeado.
b. En el cado de dilogo e aaece, eciba el nombe de la maco, decicin , ilo deea, el modo abeiado de ecla aociado.
c.
Haga clic en el bonaa inicia la gabacin.d. Realice en Ecel la oeacione e deee gaba. Po ejemlo, eleccione el ango de
celda A1:B8", alie n elleno n bode a ea celda.
e. Haga clic en el bon de la ficha o en el bon dela baa de eado aa deene la gabacin de la maco.
1.2.3.2 E
Paa ejeca na maco dede Ecel:
a. Haga clic en el bon de la ficha o le el modo abeiado deecla [Al] [F8].
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
10/236
14 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
b. Haga doble clic en el nombe de la maco o imeo eleccinela lego haga clic en elbon .
Paa ialia la infomacin elaia a na maco (modo abeiado de eclado
decicin), eleccione la maco en la lia haga clic en el bon .
Paa deene la ejeccin de na maco, le [Ecae] o [Cl][Paa].
1.2.3.3 G
Si gaba na maco en el modo (modo o defeco), lo ango de celdaefeenciado en la oeacione de eleccin, delaamieno en fijo. Po ejemlo:Range("A2")deigna la celda A2.
Si gaba na maco en el modo , lo ango de celda en eeado enelacin a la oicin de la imea celda acia. Po ejemlo: ActiveCell.Range("A2")deigna la celda bicada bajo la celda acia, ActiveCell.Range("B1")deigna la celdabicada a la deecha de la celda acia.
ActiveCell.Range("A1") ieme hace efeencia a la imea celda acia. A1
ede conideae la efeencia elaia a la imea celda acia.
Paa gaba na maco con efeencia elaia:
a.
Haga clic en el bon de la ficha : el bon eda acio (e e decolo naanja).
b. Si ele a hace clic en el bon , e eda deaciado la maco e gabancon efeencia abola.
E:
La mima ecencia de oeacione e ha egiado en do maco: la imea(RefRelativa) e gab con la ocin efeencia elaia, la egnda (RefAbsoluta), conla ocin efeencia abola.
La ecencia de oeacione e la igiene:
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
11/236
15 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
eleccin de n ango de celda,
delaa el ango do fila hacia abajo na colmna a la deecha.
SubRefAbsoluta()
'Referencias absolutas
Range("B2:C8").Select
Selection.Cut Destination:=Range("C4:D10")
Range("C4:D10").SelectEnd Sub
SubRefRelativa()
'Referencias relativas
ActiveCell.Range("A1:B7").Select
Selection.Cut Destination:=ActiveCell.Offset(2, 1).Range("A1:B7")
ActiveCell.Offset(2, 1).Range("A1:B7").Select
End Sub
1.2.3.4 D
Paa defini el lga de almacenamieno de na nea maco:
a. Haga clic en el bon de la ficha o le el modo abeiado[Al] [F8].
b. Aba la lia eleccione el libo en el e deee cea la maco.
Si elige , la maco e gaba en el libo eonal.lb; la maco
e acceible dede odo lo libo Ecel.
1.2.3.5 E
Paa elimina na maco:
a. Haga clic en el bon de la ficha o le el modo abeiado[Al] [F8].
b. Seleccione la maco e deea elimina haga clic en el bon . Haga clic en elbon aa confima la eliminacin.
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
12/236
16 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
1.2.3.6 G
Paa gaba n libo con maco:
a.
Haga clic en el bon de la ficha o le el modo abeiado[Al] [F8].
b. Haga doble clic en el nombe de la maco o le la combinacin de ecla aociada a lamaco.
Paa ialia la infomacin elaia a na maco (modo abeiado de eclado
decicin), eleccione la maco de la lia haga clic en el bon ....
Si gada o imea e n libo con maco, aaece el menaje igiene:
a. Haga clic en el bon aa anla la gabacin del libo in la maco.b. En el cado de dilogo , aba la lia eleccione
(*.).
Lo libo e conienen maco ienen la eenin (en e de ) icono e
diinge o n igno de eclamacin.
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
13/236
17 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
Paa gaba n neo libo con maco, ambin ede ealia la igiene oeacione:
a. Haga clic en el bon .b. Aae el neo del an haa la ocin .c. Haga clic en .
1.2.4
L
La configacin de egidad de la maco emie conola lo e oce al abi n liboe coniene maco.
La modificacione de la configacin de egidad de maco igen olamene en Ecel
no afecan a la oa alicacione de Micoof Office.
1.2.4.1 M
a. Haga clic en el bon de la ficha .b. Seleccione la ocin deeada.c. Haga clic enaa alida eleccin.
Si e cambia la configacin de egidad, la nea ocione e alican a odo lolibo, eceo a lo libo a abieo en Ecel. Paa alicala a eo libo, debe
cealo abilo neamene.
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
14/236
18 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
1.2.4.2 D
D : Toda la maco oda la adeenciade egidad en dehabiliada.
D : Ocin o defeco. La maco en
dehabiliada eo aaece la igiene adeencia de egidad (bajo la cina deocione) aa lo libo e conienen maco:
Tambin e oible habilia la maco, olamene aa ee libo, de la igienemanea:
Haga clic en el bon bicado a la deecha de la adeencia de
egidad aneio. Seleccione la ocin haga clic en el bon : la
maco en habiliada deaaece la adeencia de egidad.
D : Si la maco de nlibo ienen fima digial de n oigen aobado, la maco odn ejecae. Si eloigen no e aoiado, aaece na noificacin: en ee cao e oible habiliala maco fimada o aoba el oigen. La maco in fima digial no odnhabiliae.
H ( ;
): Si e elecciona ea ocin, oda la maco en habiliada. Seecomienda no a ea ocin de foma emanene.
Caliea e ea la ocin elegida, i e inala n ogama anii comaible con
Micoof Office Sem 2007, lo libo e conengan maco en analiado ane
de abie.
1.2.4.3 F
Paa fima digialmene n oeco maco, debe:
a. Obene n ceificado digial de ae de na aoidad de ceificacin comecial,como (.eiign.com), e inalalo,
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
15/236
19 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
b. Fima digialmene oeco. Paa ello, ae al enono VBE (acceible dede el
comando de la ficha ) eleccione la ocin del men. Haga clic en el bon aa elecciona ceificado.
Paa oba oeco maco, en odenado, ede cea oio ceificado de
aofima con la ada de .(ogama diibido con Micoof Office 2007).
1.2.5 M
Paa accede al cdigo de na maco:
a. Haga clic en el bon de la ficha o le el modo abeiado[Al] [F8].
b. Seleccione la maco e deea modifica haga clic en el bon .
El cdigo de la maco aaece en na enana del enono Micoof Vial Baic (e Elenono de deaollo VBE ma adelane).
Una maco coeonde a n ocedimieno en lengaje VBA. Un ocedimieno VBA e
na ecencia de inccione agada en n bloe de cdigo e comiena con
Sub emina con End Sub.
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
16/236
20 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
Pede modifica o comlea el cdigo deno de ee ocedimieno.
E:
Inee el igiene cdigo al final del ocedimieno moado e la figa aneio:
...MsgBox "El formato de celdas " & Selection.Address & _
vbCr & "se ha modificado correctamente"End Sub
Paa oba ocedimieno, haga clic en el icono de la baa de heamiena o e la
ecla [F5]. Aaece el igiene menaje:
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
17/236
21 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
1.3
A
Se ede aocia na maco a diino conole (boone de comando, imgene, ec.) o a la baa de
heamiena de acceo ido aa da al aio n acceo amigable ido aa ejeca maco.
1.3.1
A
a. Haga clic en el bon de la ficha .
b. Dibje el bon con la ada de la heamiena (ae eio iieda de la baa
de Conole de fomlaio).
Al ola el bon del an, aaece el cado de dilogo .
c. Seleccione el en la lia haga clic en.
1.3.2
A
a. Inee na imagen con n clic en el bon de la ficha .
b. Haga clic con el bon ecndaio del an eleccione la ocin .
c. Seleccione el en la lia haga clic en el bon.
1.3.3
A
1. Inee n objeo gfico (imagen, imagen edieada, foma o SmaA, acceible
dede el go de la ficha ).
2. Paa defini en el objeo na ona e emia ejeca na maco, haga clic en
(en la ficha ), eleccione la foma deeada dibje la foma deno
del objeo e acaba de cea.
3. Haga clic con el bon deecho del an eleccione la ocin .
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
18/236
22 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
4. Seleccione el en la lia alide con n clic en el bon.
5. Seleccione la foma ineada. Aaece la eccin haga clic
en la ficha .
6. En el go de la ficha , haga clic en la lia
lego en .
7. En el mimo go de la ficha , haga clic en la lia
, lego en .
8. Ahoa, al hace clic en la foma, e ejeca la maco.
1.3.4
A C AX
a. Acie el modo Dieo (i e e no e a acio) con n clic en el bon de la
ficha .
b. Haga clic en el bon de la ficha .
c. Dibje na imagen con la ada de la heamiena (deno de lo conole AcieX)
ele el bon del an.
d. Ahoa ede moa modifica la oiedade de la imagen (en aicla, aocia
na imagen o medio de la oiedad ) con n clic en el bon .
e. Haga clic con el bon deecho del an eleccione la ocin .
f. Deno del ocedimieno VBA aociado a la imagen, eciba la inccin Callegida
del nombe de la maco e deea ejeca.
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
19/236
23 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
g. Deacie el modo Dieo con n clic en el bon de la ficha .
h. Haga clic en la imagen: la maco Teste ejeca.
1.3.5
A
Tambin e oible inea en la baa de heamiena de acceo ido n comando e
emia ejeca na maco. Paa ello:
a. Haga clic en el bon , lego en el bon (abajo
a la deecha del cado de dilogo).
b. Seleccione la caegoa en el men de la iieda.
c. En la lia delegable de caegoa, aiba a la iieda, eleccione :
aaecen la maco dionible en la colmna de la iieda.
d. Seleccione na maco haga clic en el bon: la maco aa a la colmna de la
deecha.
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
20/236
24 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
e. Haga clic en el bon aa elecciona n neo icono aa la maco.
f. Pede modifica el oden de lo comando o medio de la do flecha iada a la
deecha.
g. En la lia delegable iada aiba a la deecha, ede elecciona libo: en ee
cao la modificacione efecada olamene e alican a ee libo.
h. Haga clic en el bonaa alida.
Ahoa hab n neo comando en la baa de heamiena de acceo ido aa ejeca la
maco.
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
21/236
25 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
1.4
E VBE
VBE ( B E) e el enono en el e ede inodci, modifica oba cdigo
VBA. Ee enono e llama ambin IDE (I D E) o edio de VBA.
El enono VBE one a dioicin nmeoa heamiena aa facilia la ogamacin laea a no de cdigo VBA: heamiena de deacin, inodccin aiida,
eloado de objeo, ec.
1.4.1
A VBE
Paa accede al enono VBE dede Ecel, haga clic en el bon de la ficha
o le la combinacin [Al] [F11].
Si el enono VBE a e abieo, ede accede a ello dede la baa de aea Windo:
1.4.2 C VBE
Paa cea el enono VBE ole a Ecel, haga clic en el bon Cea de la enana (X oja
bicada aiba a la deecha de la enana incial del enono VBE).
1.4.3 V E
Paa ole a Ecel in cea el enono VBE, e caliea de ea e oibilidade:
a. Haga clic en el icono de la baa de heamiena ,
b. O le el modo abeiado [Al] [F11].
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
22/236
26 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
1.4.4 D VBE
Toda la enana del enono VBE eden ialiae dede el men .
(1) L E
Lo boone de la baa de heamiena e lian a coninacin de iieda
deecha:
1 Ve Micoof Ecel 11 Inemi maco2 Inea na hoja 12 Deene maco
3 Gada libo 13 Modo de dieo
4 Coa 14 Eloado de oeco
5 Coia 15 Venana de Poiedade
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
23/236
27 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
6 Pega 16 Eaminado de objeo
7 Bca 17 Cado de heamiena
8 Dehace 18 Ada de Micoof Vial Baic
9 Reei 19 Poicin acal en la enana de cdigo
10 Ejeca maco
(2)
E
Cada libo abieo en Ecel iene aociado n oeco. El eloado de oeco emie
e odo lo oeco odo lo mdlo de cada oeco egn na eca en
bol. Lo mdlo e agan en cao caegoa:
mdlo aociado a objeo Ecel (libo hoja),
mdlo aociado a fomlaio,
mdlo endae,
mdlo de clae.
Cada mdlo ede conene mcho ocedimieno.
(3)L P
Pemie moa la oiedade elaia al libo, a la hoja de clclo, a la hoja gfica
a lo fomlaio.
(4)L C
En ea enana e encenan do ona con lia delegable:
la ona objeo (10)mea la lia de lo objeo de mdlo,
la ona ocedimieno (11) mea lo ocedimieno o lo eeno del objeo
eleccionado en la ona objeo. Lo eeno a ado aaecen en negia.
(5) I
Una lia delegable aaece aomicamene cando e ecibe el nombe de n objeo
egido de n no. La lia mea lo modo, oiedade conane dionibleaa ee objeo.
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
24/236
28 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
Si la lia no e acia, eleccione en el men mae la cailla
de la ficha .
(6) V I
Pemie moa lo aloe de la aiable, modificala, ejeca la inccione.
(7)V L
Coniene odo lo aloe de la aiable del ocedimieno en co.
(8)V I
Coniene odo lo aloe de la aiable e eiamene haan ido definida como
eeione de ineccin.
La enana , e e an incialmene aa la deacinde alicacione (e calo D ).
(9)E E
Pemie ialia, aa cada objeo, oiedade, modo conane.
1.5
C E VBA
1.2.6 C
La alaba clae, la fncione la inccione VBA aaecen en al; lo objeo, modo
oiedade, en nego, lo comenaio, en ede. La inccione e conienen eoe
e deacan en ojo.
Paa modifica el eilo (colo, io de lea, amao) de lo difeene io de cdigo,
eleccione en el men haga clic en la ficha .
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
25/236
29 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
1.2.7 C
Eien difeene heamiena e facilian la inodccin la acaliacin del cdigo VBA:
o ejemlo, la comobacin aomica de la inai, la declaacin obligaoia de la
aiable, la inccione e e comlean aomicamene, ec.
Paa acia ea ocione, eleccione en el men haga clic en la ficha
.
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
26/236
30 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
1.2.8 G
La ocione de ineceacin de eoe emien eablece i la ejeccin del cdigo e
inemi al oci n eo de ejeccin.
Paa acia ea ocin, eleccione en el men haga clic en la ficha
.
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
27/236
31 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
Si cdigo VBA incle na gein de eoe, eleccione la ocin
o la inccione de gein de eoe no en enida en cena.
Cieo ejemlo de ea memoia inclen na gein de eoe; e imoane e acie
ea ocin aa e fncionen coecamene.
La gein de eoe e elica en el calo D .
1.2.9
A
Una enana acolada e coloca aomicamene cando la mee. Una enana no e
acolada i ede bicae en calie lga de la analla emanece ah.
Paa defini la enana e deea acola, eleccione en el men
haga clic en la ficha.
Acie la enana e deea acola deacie la oa. Lego haga clic en.
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
28/236
32 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
1.2.10 E
N
MB
T
Poiedade Ve Venana Poiedade [F4]
Poeco Ve Eloado de oeco [Cl] [R]
Inmediao Ve Venana Inmediao [Cl] [G]
Ineccin Ve Venana Ineccin
Venana Locale Ve Venana Locale
Eloado de objeo Ve Eaminado de objeo [F2]
Mdlo Ve Cdigo [F7]
1.6
N 2007
1.6.1 N E 2007
Ecel 2007 foma ae del aee M O 2007 (ambin llamado Office 12) e
beneficia, en conecencia, de la mao ae de la mejoa de ea ein: nea inefa de
aio (cina de ocione ficha e agan lo comando eemlaan lo men baa
de heamiena), comae la heamiena gfica (ene Ecel, Wod PoePoin), ema
de Office, gabacin de achio en fomao df , ec.
Oa noedade e incle Ecel 2007: caacidad geneal amenada (amena la canidad de
fila colmna), mao facilidad en la edaccin de fmla, mejoa en el fomao
condicional, abla Ecel, filo odenamieno, ec.
1.6.2
L VBA E 2007
Al conaio de lo e oce con la inefa de Ecel, el enono de deaollo conea
men baa de heamiena.
De oda foma, la docmenacin en lnea e ha mejoado conideablemene: el aeco de
Vial Sdio, ejemlo de cdigo de aea modelo de objeo eniecido (infomacin
obe lo cambio en elacin a la eione aneioe).
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
29/236
33 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
De la mima foma, la mejoa en Ecel inodcen n eniecimieno en el modelo de
objeo de Ecel, como o ejemlo:
Neo objeo aociado a lo fomao condicionale: Databar(baa aa fomao
condicional de na baa de dao), IconCriterion (eeena el cieio con n
icono indiidal deno de n jego de icono), ec.
Neo modo del objeo Workbook: ApplyTheme (emie alica n ema a n
libo), ExportAsFixedFormat(emie blica n libo en fomao PDF o XPS), ec.
Nea oiedade aociada al objeo Application: ShowDevTools(indica i la
ficha e iible en la cina de ocione),ShowMenuFloaties(indica i
la minibaa de heamiena deben aaece cando el aio hace clic con el bon
deecho del an), ec.
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
30/236
34 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
222... EEELLLLLLEEENNNGGGUUUAAAJJJEEEVVVBBBAAA
2.1
M
2.1.1
E E P
El cdigo VBA aociado a n libo e agado en n oeco e coniene aia caea:
a. La caea
Coniene n mdlo de clae aociado al libo del oeco (llamado o defecoThisWorkbook) n mdlo de clae o cada na de la hoja de clclo hoja degfico del libo. En aicla, en eo mdlo de clae e encenan loocedimieno de eeno aociado al libo a la hoja.
b. La caea
Coniene lo fomlaio (UserForm) del oeco el cdigo VBA aociado.
c. La caea
Aga lo difeene mdlo endae (comeo o no o m ocedimieno)e eden e llamado dede calie ocedimieno del oeco.
d. La caea
Coniene lo mdlo de clae ado aa la ceacin de nea clae de objeo. Lomdlo de clae on iliado eecialmene aa la ecia de lo ocedimienode eeno aociado a lo objeo Application Chart (e calo
A ).
La lia de odo lo mdlo aaece en foma jeica en el Eloado de oeco delenono VBE.
Si el eloado de oeco no e a la ia, elija la ocin
del men o le el modo abeiado [Cl] [R].
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
31/236
35 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
Paa e el cdigo aociado a n mdlo, haga doble clic obe el nombe del mdlo.
Lo elemeno del lengaje VBA decio en ee calo eden ae en lo difeenemdlo.
2.1.2
A
Paa inea n neo mdlo en el enono VBE, e la ocin del men , o
haga clic en el icono de la baa de heamiena lego en .
Si la enana e maimiada, el nombe del mdlo aaece obe la baa de
lo de .
a. Paa aa de n mdlo a oo, en la enana , haga doble clic en el nombedel mdlo e deea acia.
b. Paa elimina n mdlo, en la enana , haga n clic deecho en el nombe delmdlo e deea elimina, elija la ocin e indie i deea eoa elmdlo o no.
c.
Paa da nombe a n mdlo, acie el mdlo. Si e neceaio, aba la enana de cambie la oiedadName.
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
32/236
36 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
2.1.3 I VBA
Lo mdlo fomlaio eden eoae a n achio aa lego imoalo a oooeco Ecel.
a. Paa eoa n achio, haga clic obe el nombe del achio en el eloado de
oeco, lego eleccione la ocin del men (o del menconeal) o le la combinacin de ecla [Cl] [E].
b. Paa imoa n achio, haga clic obe el nombe del achio en el eloado deoeco, lego eleccione la ocin del men (o del menconeal) o le la combinacin de ecla [Cl] [M].
La eenin del achio ceado deende del io de achio eoado:
Lo mdlo de clae (mdlo aociado al libo a la hoja mdlo de claeindeendiene) ienen la eenin .cl,
Lo fomlaio ienen la eenin .fm,
Lo mdlo endae ienen la eenin .ba.
2.2
P
2.2.1
D
Lo ocedimieno on e emien decomone na aea de ogamacin
comleja en n conjno de aea m bee imle. Pemien ogania el cdigo denode mdlo aa obene n cdigo de manenimieno m imle fcilmene eiliable.
En VBA Ecel, e diingen e io de ocedimieno:
Lo ocedimieno S(o bina) e llaman bogama o ocedimieno Sb
Lo ocedimieno Fe llaman fncione,
Lo ocedimieno Pe llaman ocedimieno de oiedad.
En ee calo, olamene no ineean lo do imeo, e on lo m iliado.
Pno comne ene ocedimieno Sb fncione:
Ambo conienen inccione /o modo VBA,
Ambo acean agmeno,
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
33/236
37 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
Ambo eden e llamado dede oa fncione oo ocedimieno Sb.
Caaceica eecfica de la fncione: deelen aloe.
2.2.2 A
Paa accede a n ocedimieno dede la enana de cdigo de n mdlo, aba la
egnda lia de la enana del mdlo, haga clic obe el nombe del ocedimieno ale deea accede o ecoa lo ocedimieno con [Cl] [Flecha aiba] [Cl] [Flechaabajo].
Paa elecciona na alaba en el cdigo, haga doble clic obe la alaba. Paa elecciona na lnea, bie el neo del an a la iieda de la lnea haga
clic cando el neo e coniee en na flecha. Paa elecciona n go de caacee, e la cnica de aae ola o haga
[Ma] clic.
Paa elecciona n ocedimieno comleo, bie el neo del an a la iiedade caliea lnea del ocedimieno. Cando el neo e coniee en na flecha,haga doble clic.
Paa ejeca n ocedimieno, haga clic en el ocedimieno e deea ejeca
le [F5] o . Paa elimina n ocedimieno, eleccione odo el ocedimieno, le [S].
2.2.3
P S
Ha do io de ocedimieno Sb:
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
34/236
38 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
Lo ocedimieno Sb geneale Lo ocedimieno Sb aociado a eeno.
Un e n ocedimieno declaado en n mdlo (genealmene nmdlo enda). El llamado a ee io de ocedimieno e define elciamene en elcdigo.
Un e n ocedimieno e e ejeca aomicameneane cieo eeno de n objeo. S nombe e foma con el nombe del objeo, egido delgin bajo "_" del nombe del eeno (ejemlo: Workbook_Open). El llamado a eoocedimieno e imlcio, e deci, el ocedimieno e ejeca aomicamene cando eodce el eeno aociado.
E:
El igiene ide al aio e confime deeo de abandona laalicacin, ale de Ecel i el aio eonde e S. Ee cdigo ede ejecae con n
bon de comando o na ocin de men e emia abandona la alicacin.
Private SubTerminar()IfMsgBox("Desea salir del programa?",
vbQuestion + vbYesNo) = vbYes ThenApplication.Quit
End IfEnd Sub
El igiene abe aomicamene el libo .cando e abe el libo .. Ee ocedimieno e aociado al eeno Open delobjeoWorkbook e encena en el mdlo ThisWorkbookdel libo ..
Private Sub Workbook_Open()'Abre el libro Ventas.xlsxWorkbooks.Open Filename:="C:\VENTAS\VENTAS.xlsx"'Activa el libro ResumenWindows("RESUMEN.xlsx").Activate
End Sub
2.2.4 P F
Lo ocedimieno F, llamado comnmene fncione, deelen n alo e ela
de n clclo. El alo e deele a a del nombe de la fncin.
El lengaje Vial Baic incle nmeoa fncione inegada, ale como la ada enclclo con fecha (da, eek, ea, foma, ec.). Adem de ea fncione inegada, edede cea oia fncione eonaliada.
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
35/236
39 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
E:
La igiene fncin ide al aio e confime deeo de abandona la alicacin deele Truei el aio eonde e S, Falseen cao conaio.
Function Terminar() As BooleanIfMsgBox("Desea salir del programa?", _
vbQuestion + vbYesNo) = vbYes ThenTerminar = True
ElseTerminar = False
End IfEnd Function
2.2.5
D S S:
[Private| Public] [Static] SubNomProc([argumentos])
End Sub
S F:
[Private| Public] [Static] FunctionNomProc ([argumentos]) [As]
End Function
Paa cea n ocedimieno So F, e deben eea lo igiene ao:
a. deemine el del ocedimieno: iado o blico,b. declae el ocedimieno egn io con la alaba clae Sub o Function,
egida del nombe del ocedimieno,c. defina lo e e deban aa como ameo al ocedimieno e
indelo ene anei de del nombe del ocedimieno,d. en el cao de na fncin, i e neceaio, indie el io del alo deelo de
de la alaba claeAs,
e.
edace el cdigo e emia efeca la oeacin deeada. Si e neceaio, eExit Sub o Exit Function aa ali del ocedimieno. En el cao de na
fncin, aigne el elado al nombe de la fncin,f. finalice el ocedimieno con End Subo End Function.
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
36/236
40 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
2.2.6 A
El alcance de n ocedimieno deemina la eenin de o.
Un ocedimieno Publicede e llamado dede de odo lo oeco
Ecel.
Un ocedimieno Privateolamene ede e llamado dede n ocedimieno deno delmimo mdlo.
La alaba clae Static indica e la aiable locale del ocedimieno on manenida
ene n llamado oo, e deci, e conean lo aloe de la aiable.
Si no e indica Publico Private, lo ocedimieno on o defeco.
2.2.7 A
Lo agmeno e an aa anfei a lo ocedimieno ameo en foma de dao. Lacanidad de agmeno ede aia de 0 a aio.
Paa declaa n agmeno, baa eecifica nombe. Sin embago, la inai comleaaa declaa n agmeno e la igiene:
[Optional] [ByVal| ByRef] [ParamArray] [Astipo]
La ocin Optional: indica e el agmeno e ocional ede omiie. Lo
agmeno ocionale deben bicae al final de la lia de agmeno, e de ioVariant.
La ocin ByVal: indica e el agmeno e aa o alo. El ocedimieno accede a na
coia de la aiable; alo inicial no e modifica o el ocedimieno al e e lo aa. La ocin ByRef(ocin o defeco): indica e el agmeno e aa o efeencia. En
ee cao, el ocedimieno ede accede a la aiable oiamene dicha; de ea manea, alo eal ede e modificado o el ocedimieno al e lo aa.
La alaba clae ParamArray: e a nicamene como limo agmeno de la lia aaindica e e aa de na mai ocional de elemeno de ioVariant. No edeae con la alaba clae ByVal, ByRef Optional.
: eecifica el nombe del agmeno. Paa la aiable de mai, no eecifica
dimenin. : eecifica el io de dao del agmeno aado al ocedimieno (Byte, Boolean,
Integer, Long, ec.).
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
37/236
41 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
2.2.8 A
El aaje de agmeno a n ocedimieno egn oden de aaicin e a ece difcil deealia, eecialmene cando ha ameo ocionale. De la mima foma, la legibilidad delo llamado a ocedimieno con mcho ameo no ieme e fcil.
Lo agmeno con nombe facilian el aaje de agmeno gacia a la igiene enaja:
El oden de lo agmeno con nombe no e imoane. Lo agmeno ocionale eden omiie.
La inai de lo agmeno con nombe e:
NomArg := valor
E:
E BA:
If MsgBox("Desea salir de la aplicacin?", _vbYesNo + vbQuestion, "Gestin de ventas") = vbYes ThenApplication.Quit
End If
:
If MsgBox(Prompt:= "Desea salir de la aplicacin?", _Buttons:=vbYesNo + vbQuestion, _Title:="Gestin de ventas") = vbYes Then
Application.QuitEnd If
:
If MsgBox(Prompt:= "Desea salir de la aplicacin?", _Title:="Gestin de ventas", _Buttons:=vbYesNo + vbQuestion) = vbYes ThenApplication.Quit
End If
El nombe de lo agmeno aaece aomicamene en el enono VBE a medida e
e ecibe la inccin. Lo agmeno ocionale aaecen ene cochee.
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
38/236
42 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
2.2.9
L
S:
[Call] NomProc [lista de argumentos]
Si e indica la alaba clae Call, debe coloca la lia de agmeno ene anei.
Recede e en la inai, lo cochee ignifican ocionalidad.
Paa almacena el elado de na fncin en na aiable, e la igiene inai:
= NomProc ([lista de argumentos])
Paa llama a n ocedimieno de oo mdlo, e la igiene inai:
NombreMdulo.NombreProcedimiento
E: ThisWorkbook.Salir_Aplicacion
Paa llama a n ocedimieno de oo libo, e la igiene inai:
Application.Run"NombreLibro!NombreMdulo.NombreProcedimiento"
E: Application.Run "Ventas.xls!ThisWorkbook.Salir_Aplicacion"
Paa ejeca el comando aneio, el libo .debe ea abieo.
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
39/236
43 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
2.2.10 L VBA E
La fncione VBA eden ae en la fmla Ecel. Toda la fncione declaada como
Publicen dionible en el aiene aa fncione de Ecel (en la caegoa ).
E:
E BA
.
Function CalcEdad(fechaNac As Date)DimzFecha As Date'Calcula la edad en funcin de la fecha de nacimientoCalcEdad = Abs(DateDiff("YYYY", fechaNac, Date))
zFecha = DateAdd("YYYY", CalcEdad, fechaNac)IfzFecha > Date ThenCalcEdad = CalcEdad - 1
End Function
Paa a ea fncin en Ecel:
a. Seleccione la ocin de la ficha .b. En el cado de dilogo , en la lia , elija
; la fncinCalcEdadea ahoa acceible:
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
40/236
44 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
c. Seleccione la fncin haga clic en ; el cado de dilogo le edi loagmeno de la fncin como e e a:
Ee ejemlo mea la imoancia del nombe de lo agmeno de la fncione:
cano m elcio ean o, m fcil e a la fncin en Ecel.
Ahoa ede modifica la fmla aa incli el eo "ao" eende la fmla a oda lalia.
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
41/236
45 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
El elado en Ecel e el igiene:
2.2.11 E
C E .
Sub Mostrar_Tabla()Dim TabValAs VariantDim CeldaAs RangeDim iAs Integer'Muestra el contenido de la tabla en la hoja de clculo activaTabVal = Array("Buen Da", 1.244, "=A1+12", "=A2+12")For i = 0To 3
Set Celda = Range("A" & i + 1)If MCell(Celda, TabVal(i))Then
MsgBox "La celda se actualiz con xito"Else
MsgBox "La celda no se pudo actualizar"End If
Next iEnd Sub
El cdigo de eo ejemlo debe ecibie en n mdlo enda o en el mdlo
ThisWorkbook.
La fncin MCell infoma obe el alo aignado a na celda. Deele True i la celda e
acali coecamene, Falseen cao conaio.
Private Function MCell(CeldaAs Range, ValorAs Variant) As Boolean'Actualizacin de una celda a partir de un valorMCell = False
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
42/236
46 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
If Not IsEmpty(Celda)Then Exit FunctionCelda.Value = ValorIf Celda.Text "#VALOR!"Then
MCell = TrueEnd If
End Function
Si eba ee ejemlo, obend el igiene elado:
La ecea celda no e do acalia.
2.3
V
La aiable emien almacena aloe inemedio dane la ejeccin del cdigo VBA aa
alo lego en clclo, comaacione, eba, ec.
La aiable e idenifican o n nombe e emie hace efeencia al alo e conienen
n io e deemina la naalea de lo dao e eden almacena.
Paa declaa na aiable ede ae la inccin Dim:
DimNomVariableAsTipo
2.3.1
T
2.3.1.1
NT R
T
Byte 0 a 255 1
Integer(eneo) 32 768 a 32767 2
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
43/236
47 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
Long(eneo lago) 2 147 483 648 a 2 147 483 647 4
Single (eal imle
de coma floane)
3.402823E38 a 1.401298E45 (aloe negaio)
1.401298E45 a 3.402823E38 (aloe oiio)4
Double(eal doble
de coma floane)
1.79769313486231E308 a 4.94065645841247E324 (aloe
negaio)
4.94065645841247E324 a 1.79769313486231E308 (aloe
oiio)
8
Currency(moneda
de no fijo)922 337 203 685 477.5808 a 922 337 203 685 477.5807 8
Decimal
+/79 228 162 514 264 337 593 543950 335 in eaado
decimal;
+/7.9228162514264337593543950335 con 28 cifa a la
deecha del eaado decimal; el meno nmeo diino de
ceo e +/0.0000000000000000000000000001
12
El alo o defeco de lo io de dao nmico e ceo.
2.3.1.2
C El io e String. Eien do io de cadena:
La cadena de longid aiable eden conene aoimadamene do mil millone de
caacee.
La cadena de longid fija eden conene de 1 a aoimadamene 64 Kb de
caacee.
El alo o defeco de lo io de dao Stringe "" (Sing nlo).
E:
'Cadena de longitud variableDimDomicilio As String'Cadena de longitud fija (20 caracteres)DimNombre As String* 20
2.3.1.3 B El io e Boolean. La aiable ede oma lo aloe True(Vedadeo) o False(Falo).
Oca 2 be.
El alo o defeco de lo io de dao lgico e False.
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
44/236
48 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
2.3.1.4 FEl io e Date. La aiable ede oma lo aloe de fecha de hoa del imeo de eneo
del ao 100 al 31 de diciembe de 9999. Oca 8 be.
El alo o defeco de lo io de dao Datee 18991230 12:00:00 AM
2.3.1.5
VLa aiable de io Variant eden conene dao de odo io, adem de lo aloe
eeciale Empty, Error Null.
Ua el io de dao Variantofece m fleibilidad en el aamieno de dao. Po ejemlo,
i na aiable de io Variantconiene cifa, e ede a alo eal o eeenacin
en foma de cadena, egn el coneo.
De oda foma, la aiable de io Varianteieen 16 be de memoia aa nmeo
22 be + la longid de la cadena aa lo caacee; eo ede e ejdicial en el cao deocedimieno lago o en mdlo comlejo.
El alo o defeco de lo io de dao Variante Empty.
E:
SubVariable_Variant()'Declaracin de la variable "Valx" como VariantDimValx As Variant'Asignacin de una sucesin de valores a la variable'y mostrar el tipo del resultado: 10 da Integer
Valx = 10MsgBox Valx & " es de tipo " & TypeName(Valx)'Ejemplo da StringValx = "Ejemplo"MsgBox Valx & " es de tipo " & TypeName(Valx)'Esta multiplicacin da DoubleValx = 12500.32 * 1E+21MsgBox Valx & " es de tipo " & TypeName(Valx)'#1/1/99# da DateValx = #1/1/99#MsgBox Valx & " es de tipo " & TypeName(Valx)'True da BooleanValx = TrueMsgBox Valx & " es de tipo " & TypeName(Valx)
End Sub
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
45/236
49 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
2.3.1.6 OEl io e Object. Paa cea na aiable e conenga n objeo, comience o declaa la
aiable como io Objeo lego agnele n objeo.
El alo o defeco de lo io de dao Objeo e Nothing.
Paa declaa na aiable Objeo:
a. Si el io de objeo no e conoce, e la inai:
DimNomVariableAs Object
b. Si e conoce el io de objeo, e la inai:
DimNomVariableAsTipoObjeto
E:
SubVariables_Objeto()'Test se declara como objeto'NomCli se declara como hoja de clculo'AImprimir se declara como grficoDimTest As ObjectDimNomCli AsWorksheetDimAImprimir AsChart
End Sub
Paa aignale n objeo a na aiable Objeo, e la inccinSet:
SetNomVariable= ObjetoaAsignar
E:
D ZonaTest Range
A6 B15 :
Dim ZonaTestAs RangeSet ZonaTest = Range("A6:B15")
Paa finalia la aociacin ene na aiable n objeo deeminado, e la igieneinai:
SetNomVariable=Nothing
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
46/236
50 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
2.3.1.7 T ( TDU)Lo io de dao eonaliado e cean con la inccinTypeada a niel de mdlo.
S:
TypeNomTipoPersonalizado
NomElemento1AsTipoDatos
NomElemento2AsTipoDatos
...
End Type
La definicin del io eonaliado olamene ede hacee en la
de n mdlo.
E:
D
ProGene.
B6
B11 . E , .
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
47/236
51 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
2.3.2
D
Paa cea na aiable, debe declaala, e deci, dale n nombe. Lego ede a ee
nombe aa modifica el alo de la aiable, a ee alo, ec.
La declaacin de aiable en VBA ede e o .
2.3.2.1 D Se hacen diecamene al aigna n alo a n nombe de aiable. El io de dao e
enonce el io o defeco, o ea, Variant.
E:
I = 12Importe = 12000
Nombre = "Juan Carlos"
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
48/236
52 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
2.3.2.2 D Reieen el o de na (Dim, Public, Private, Static). Si el
io de la aiable no e indica, la aiable ela del io o defeco, o ea,Variant.
Se ede imone la declaacin imlcia de aiable ando la inccin Option
Explicit en la eccin de declaacin de cada mdlo. Paa inea ea inccin
aomicamene en cada neo mdlo, acie la ocin del
men ficha .
E:
DimIPrivateImporte As DoublePublicNombre As String
Paa oimia la elocidad de ejeccin del cdigo VBA, e ecomienda declaa la
aiable en foma elcia.
2.3.2.3 S
{Dim | Private | Public | Static} NomVariable[As]
En la inai, la llae, , ignifican eleccin el ie, , ignifica eclin, e deci, en la
inai aneio e debe ecibi na de la alaba clae: Dim, Piae, Pblic o Saic.
. D
La aiable declaada con la inccin Dim en dionible aa odo
lo ocedimieno del mdlo. No on acceible dede ningn oo mdlo. La aiable
declaada con la inccinDim olamene en dionible deno
del ocedimieno.
. P
Solamene e ede a . La aiable Private olamene en
dionible aa el mdlo en el e on declaada.
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
49/236
53 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
. P
Solamene e ede a . La aiable declaada con la inccin
Publicon acceible dede el conjno de mdlo de odo lo oeco Ecel abieo. Si
la inccin Option Private Module e eecifica en la eccin de declaacin del
mdlo, la aiable olamene on blica deno del oeco e la ecibe.
. S
Solamene e ede a . La aiable declaada con la inccin
Staticconean alo dane oda la dacin de la ejeccin del cdigo.
2.3.3
D
2.3.3.1 D El io de la aiable e eecifica en la declaacin, a la alaba claeAs.
E:
SubTotalAcum()
DimTotal As IntegerStaticAcum As IntegerTotal = Total + 10Acum = Acum + 10'Devuelve 10 en cada ejecucin del procedimientoMsgBox Total
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
50/236
54 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
'Devuelve 10 en la primera ejecucin, luego 20 la segunda vez,'30 la tercera, etc.'Las variables Static conservan el ultimo valor asignadoMsgBox Acum
End Sub
Ued ede declaa m de na aiable en na mima inccin eo, aencin, el io dedao olamene e enido en cena aa la lima aiable, el io Variante aigna a
la oa. Si no deea ee comoamieno, eableca elciamene el io de dao a cada
aiable.
E:
Identificador Variant
Superficie Latitud .
DimIdentificador, Superficie As Integer
DimLatitud As Integer
2.3.3.2 D El io de aiable e declaa o el o de n fijo en el momeno de iliacin o o la
inccin DT.
. E
Ued debe agega no de lo igiene caacee al nombe de la aiable:
S T
% Inege& Long
! Single
# Doble
@ Cenc
$ Sing
E:
'Declara la variable como tipo Cadena (String).
DimNombre$'Declara la variable como tipo Moneda (Currency).DimDeuda@'Declara la variable como tipo Real de doble precisin (Double).DimIncremento#
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
51/236
55 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
. I DT
Ea inccione e emlean en la ona de declaacin del mdlo aa defini lo io de
dao o defeco de la aiable co nombe comienan o lo caacee eecificado. La
igiene abla mea el liado de la inccione DTaa coeondiene a cada io
de dao:
I T
DefBool Boolean
DefDbl Double
DefInt Integer
DefDate Date
DefLng Long
DefStr String
DefCur Currency
DefObj Object
DefSng Single
DefVar Variant
DefByte Byte
E:
'Todas las variables cuyos nombres comienzan por una letra comprendida entre I'y K y por la letra N son variables de tipo entero (Integer).DefIntI-K, N'Las variables que comienzan por una letra comprendida entre A y H sern de'tipo cadena (String).DefStrA-H
La inccione DT no ienen efeco i e eablece la inccin Option
Explicit.
2.3.4 A (A)
Un aeglo e n conjno de elemeno conigo, odo del mimo io, e comaen n
nombe comn, a lo e e ede accede o la oicin (ndice) e oca cada no de ello
deno del aeglo. Un aeglo ede ene aia dimenione: A lo aeglo de na dimenin
e le llama ecoe o lia, a lo de do dimenione abla o maice, a lo aeglo de 3dimenione en adelane e le llama aeglo mlidimenionale. El mimo nmeo de
dimenione de n aeglo en VBA e 60.
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
52/236
56 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
Un aeglo de do dimenione e eeena con na aiable con do bndice: el ime
bndice coeonde a la fila el egndo bndice coeonde a la colmna.
En VBA ha do io de aeglo: e ienen ieme el mimo amao
co amao cambia en iemo de ejeccin.
2.3.4.1
D
Paa cea na aiable aeglo, e la igiene inai:
{Dim|Private|Public|Static} variable([dimensiones]) [Astipo]
: E n idenificado e nomba el aeglo
: Define el io de la aiable. Pede e n io imle (Inege, Long, Single, Doble,
Sing, ec), n io objeo (Objec, Wokbook, Range, ec) o n io definido o el
aio.
: e na lia de eeione nmica, eaada o coma e definenla dimenione del aeglo. Si e eecifica la dimenione, el aeglo e eico, i e
omie, el aeglo e dinmico. ede e de la foma:
[LimInferiorTo] LimSuperior[, [LimInferiorTo] LimSuperior]...
donde LimInferiorcoeonde al ndice meno del aeglo en ea dimenin. Como
e ocional, i e omie, alo e ceo. LimSuperiorcoeonde al ndice eio
del aeglo en ea dimenin.
Nee e lo anei on obligaoio en la declaacin de na aiable aeglo.
Po defeco, el meno alo del ndice de n aeglo en na dimenin e 0. Paa modifica elmeno alo del ndice, e la inccin Option Base {0 | 1} en la eccin dedeclaacin del mdlo.
Paa defini el conenido de n aeglo, e ede a la fncin Array(el aeglo debe edinmico) o deliege lo dao en na hoja o aigne na o na cada aiable del aegloando lo ndice.
E:
E , E,
.
ConstFacFRF = 6.55957ConstFacBEF = 40.3399ConstFacDEM = 1.95583
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
53/236
57 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
ConstFacESP = 166.386ConstFacITL = 1936.27
SubMuestra_Factor()DimPais As VariantDimFactor(5) As DoubleDimi As Integer'Lista de pases
Pas = Array("Francia", "Blgica", "Alemania", "Espaa", "Italia")
'Lista de los factores por pasFactor(0) = FacFRFFactor(1) = FacBEFFactor(2) = FacDEMFactor(3) = FacESPFactor(4) = FacITL
'Muestra los pases y sus factores en la hoja de clculo EuroFori = 0 To4
WithSheets ("Euro").Cells(i + 1, 1) = Pais(i).Cells(i + 1, 2) = Factor(i)
End WithNexti
End Sub
E , . E BA
:
SubMuestra_Factor2'Matriz de dos ndicesDimTabFactor(5, 1) 'Pordefecto esta matriz es de tipo VariantDimi As Integer
'Lista de pases y sus factoresTabFactor(0, 0) = "Francia"
TabFactor(0, 1) = FacFRFTabFactor(1, 0) = "Blgica"TabFactor(1, 1) = FacBEFTabFactor(2, 0) = "Alemania"TabFactor(2, 1) = FacDEMTabFactor(3, 0) = "Espaa"TabFactor(3, 1) = FacESPTabFactor(4, 0) = "Italia"TabFactor(4, 1) = FacITL
'Muestra los pases y sus factores en la hoja de clculo EuroFori = 0 To4
WithSheets("Euro").Cells(i + 1, 1) = TabFactor(i, 0).Cells(i + 1, 2) = TabFactor(i, 1)
End WithNexti
End Sub
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
54/236
58 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
2.3.5 C
Una conane emie aigna n nombe elcio a n alo ee no e ede cambia.
2.3.5.1 C La declaacin de na conane e hace con la inccin Consten la eccin de declaacin
de n mdlo o n ocedimieno.
ConstNomConstante[As] =
D: Coeonde al io de dao de la conane. El io de dao no ede e n
objeo (Object) ni n io eonaliado (Type). Si no e eecifica el io de dao,
io e deemina de acedo al alo aignado.
: Coeonde al alo de la conane. No ede e na fncin definida o
el aio, ni na fncin inneca de Vial Baic eo i ede e na eein e
inolce oeadoe, oa conane lieale.
E: D .
SubConstantes()'Ejemplos de constantes autorizadas:ConstVal1 = "Mega+" 'El tipo de datos es StringConstVal2 = 148 'El tipo de datos es IntegerConstVal3 = 125.45 'El tipo de datos es DoubleConstVal4 As Single= 125.45ConstVal5 As Double= Val2 * Val3ConstVal6 As String= Val1 & " cuesta " & Val2'Ejemplo de constante no autorizada por el uso de una funcin VB'por lo que la siguiente instruccin genera un error
ConstVal6 = Sqr(Val4)End Sub
Paa cea na conane acceible al conjno de lo libo, e la debe declaa en la eccin de
declaacin de n mdlo bica la inccinPublicane de la inccinConst.
2.3.5.2 C VBALa conane ada o lo objeo Micoof Ecel an ecedida o la lea "l"; la
conane ada con oa inccione fncione Vial Baic an ecedida o la lea
"b", la conane Micoof Office an ecedida o la lea "mo".
Paa moa la lia de conane inegada, aba el eaminado de objeo con n clic en
el icono o lando la ecla de fncin [F2]. Eciba la alaba C en la lia
delegable T lego haga clic en el icono .
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
55/236
59 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
Paa obene la lia de conane Vial Baic, oceda de la igiene manea:
a. Aba la ada de Vial Baic o medio del icono de la baa de heamiena
o de la ecla [F1],
b.
Eciba la alaba "Conane" en la ona de beda haga clic en el bon:
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
56/236
60 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
c. La lia de conane claificada o io ea ahoa acceible:
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
57/236
61 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
2.4
O
Lo oeadoe emien ealia oeacione aimica con aiable /o conane,
comaa aiable ene ella, eala aia condicione, ec.
Se diingen aio io de oeadoe:
Oeadoe aimico,
Oeadoe de comaacin,
Oeadoe lgico,
Oeado de concaenacin.
El oeado de aignacin e el igno =. El alo de la eein iada a la deecha del
igno igal e aignado a la aiable iada a la iieda del igno (ejemlo: IntA = 12).
2.4.1 O
Pemien efeca clclo aimico con aiable /o conane.
O C
+ Adicin
- Saccin /o Negacin
/ Diiin eal
Mod Reido de la diiin
\Diiin enea* Mlilicacin
^ Poenciacin
2.4.2 O
Comaan do aloe o do cadena de caacee.
O C
< Meno e
Mao e
>= Mao o igal e
= Igal a
Diino de
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
58/236
62 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
La inccin Option Compare {Binary|Text|Database} iliada
emie declaa el modo de comaacin o defeco e coniene a en la
comaacin de cadena. Pede oma e aloe oible:
Option Compare Binary(ocin o defeco) ealia la comaacin de cadena
baada en el oden deiado de la eeenacin binaia inena de lo caacee: A < B
< E < Z < a < b < e < < < < < < ...
Option Compare Textealia la comaacin de cadena in diingi macla
de mincla: (A=a) < (=) < (B=b) < (E=e) < (=) < (Z=) < (=)...
Option Compare Databaseealia la comaacin de cadena baado en el oden
deeminado o el idenificado de ameo egionale de la bae de dao en la e
e ealia la comaacin de cadena.
2.4.3
O
Pemien eala imlneamene do (o m) aloe booleano o eeione e deelen
ee io de alo. Genealmene e an con la inccin If.
O C
And
Si oda la eeione ienen el alo True, el
elado e True. Si na de la eeione iene
el alo False, el elado e False.
OrSi o lo meno na de la eeione iene el
alo True, el elado e True(o inclio).
Xor Si na lo na de la eeione iene el aloTrue, el elado e True(o eclio).
Not Deele el conaio de la eein.
EqvDeele True i la do eeione ienen el
mimo alo de edad.
Imp
Deele False cando la imea eein e
True la egnda False, en cao conaio
deele True.
E:
(A>=1) And (A== 10)deele Truei A e eicamene meno e 10,
(A>0) Or (B>0) Or (C>0) deele Truei al meno no de lo aloe e oiio.
5/20/2018 Vip Genial Fantastico-macros Para Excel-explicado y Totalmente Practico
59/236
63 Laboaoio de Siema Faclad de Mina Co Maco en Ecel 2007 Calo Alae C.
2.4.4 O
El oeado de concaenacin e el igno &. Combina do eeione de cadena.
E:
C .
StrApeNom = Apellido & " " & Nombre
2.4.5 P
Cando ha aio oeadoe en na mima eein, cada no de ello e eala en n
oden edeeminado, llamado ioidad de lo oeadoe.
Lo oeadoe e ealan en el igiene oden: oeadoe aimico, oeado de
concaenacin, oeadoe de comaacin, oeadoe lgico.
Lo oeadoe de comaacin ienen la mima ioidad; e deci, on ealado o oden de
aaicin, de iieda a deecha.
Lo oeadoe aimico lgico e ealan en el igiene oden de ioidad:
A L
^ Not
-(Negacin) And
*, / Or
\ Xor
Mod Eqv
+, - Imp
El o de anei emie modifica la ioidad aa e n elemeno de na eein ea
ealado ane e lo oo. La oeacione enceada ene anei e ealan ieme
ane e la oa.
E:
"3 + 4 * 5" 23: (4 * 5)
( + 3). "(3 + 4) * 5" 35. .
Se aconeja a anei aa mej