Está en la página 1de 15

VBA Excel 2013

Programacin en Excel: Macros y lenguaje VBA

Presentacin

1. Presentacin del lenguaje VBA 17

1.1 Objetivos del lenguaje VBA 17


1.2 Algunas definiciones 18
1.3 Escritura de cdigo VBA 19

2. Las macros de Excel 19


2.1 Mostrar la ficha PROGRAMADOR en la cinta de opciones 19
2.2 Descripcin de la ficha PROGRAMADOR 20
2.2.1 Grupo Cdigo 20
2.2.2 Grupo Complementos 21
2.2.3 Grupo Controles 21
2.3 Grabar una macro 22
2.3.1 Grabar la primera macro 22
2.3.2 Ejecutar una macro 23
2.3.3 Grabar una macro con referencias relativas 23
2.3.4 Definir el lugar de almacenamiento de una nueva macro 25
2.3.5 Eliminar una macro 26
2.3.6 Guardar un libro con macros 26
2.4 Las macros y la seguridad 27
2.4.1 Modificar la configuracin de seguridad 27
2.4.2 Descripcin de las diferentes opciones de seguridad 28
2.4.3 Habilitar las macros cuando aparece la advertencia de seguridad 29
2.4.4 Activar las macros en una ubicacin dada 30
2.4.5 Firmas electrnicas de macros 30
2.5 Modificar el cdigo de una macro 31

3. Asignar una macro 33


3.1 Acceso a una macro desde la cinta de opciones de Office 2013 33
3.2 Asociar una macro a un icono de la barra de herramientas de acceso rpido 36
3.3 Asociar una macro a un botn de comando 37
3.4 Asignar una macro a una imagen 38
3.5 Asociar una macro a una zona de un objeto grfico 38

www.ediciones-eni.com Ediciones ENI 1/15


VBA Excel 2013
Programacin en Excel: Macros y lenguaje VBA

3.6 Asociar una macro a una imagen Control ActiveX 39

4. El entorno de desarrollo VBE 40


4.1 Acceso al entorno VBE 40
4.2 Cerrar el entorno VBE 40
4.3 Volver a Excel 40
4.4 Descripcin del entorno VBE 41
4.5 Elegir las ventanas que hay que mostrar 44

5. Configuracin del editor VBA 44

5.1 Configuracin de la tipografa 44


5.2 Configuracin de la introduccin de cdigo 45
5.3 Manejo de errores 46
5.4 Acoplar una ventana 48

El lenguaje VBA

1. Mdulos 49
1.1 Presentacin 49
1.2 Acceso a los mdulos 51
1.3 Importar y exportar cdigo VBA 51

2. Procedimientos 52
2.1 Definiciones 52
2.2 Acceso a los procedimientos 53
2.3 Procedimientos Sub 53
2.4 Procedimientos Function 54
2.5 Declaracin de procedimientos 55
2.6 Alcance de los procedimientos 56
2.7 Argumentos de los procedimientos 56
2.8 Argumentos con nombre 57
2.9 Llamar a un procedimiento 59
2.10 Llamar a una funcin VBA en una frmula Excel 59
2.11 Ejemplos de procedimientos y funciones 62

www.ediciones-eni.com Ediciones ENI 2/15


VBA Excel 2013
Programacin en Excel: Macros y lenguaje VBA

3. Variables 63
3.1 Tipos de variables 63
3.2 Declaracin de variables 68
3.2.1 Declaraciones implcitas 68
3.2.2 Declaraciones explcitas 69
3.2.3 Sintaxis de las instrucciones de declaracin 69
3.3 Declaracin de los tipos de variables 70
3.3.1 Declaraciones explcitas del tipo 70
3.3.2 Declaraciones implcitas del tipo 71
3.4 Matrices 73
3.5 Constantes 75
3.5.1 Constantes personalizadas 75
3.5.2 Constantes integradas 76

4. Estructuras de decisin 77
4.1 Instruccin If 77
4.2 Instruccin Select Case 80

5. Estructuras en ciclo 82
5.1 Instruccin Do...Loop 82
5.2 Instruccin While...Wend 84
5.3 Instruccin For...Next 84
5.4 Instruccin For Each...Next 86
5.5 Salir de las estructuras de control 87

6. Operadores 88
6.1 Operadores aritmticos 88
6.2 Operadores de comparacin 89
6.3 Operadores lgicos 90
6.4 Operador de concatenacin 90
6.5 Prioridad de los operadores 91

7. Reglas de escritura del cdigo 92

7.1 Comentarios 92

www.ediciones-eni.com Ediciones ENI 3/15


VBA Excel 2013
Programacin en Excel: Macros y lenguaje VBA

7.2 Carcter de continuacin 92


7.3 Sangras 93
7.4 Nombres de los procedimientos, variables y constantes 93

La programacin de objetos en Excel

1. Presentacin 95

2. El modelo de objetos de Excel 96

2.1 Presentacin 96
2.2 Objetos y colecciones 97

3. Principios de uso de los objetos y las colecciones 100

3.1 Propiedades 100


3.2 Propiedades que representan objetos 100
3.3 Mtodos 102
3.4 Eventos 103
3.5 Colecciones 104
3.6 Redaccin automtica de instrucciones 106

4. Instrucciones usadas con los objetos 108


4.1 La instruccin With 108
4.2 La instruccin For Each...Next 109
4.3 La instruccin If TypeOf 109
4.4 La instruccin Set 110

5. El Examinador de objetos 111

5.1 Presentacin 111


5.2 Bsqueda en el Examinador de objetos 113

Objetos de Excel

www.ediciones-eni.com Ediciones ENI 4/15


VBA Excel 2013
Programacin en Excel: Macros y lenguaje VBA

1. El objeto Application 115


1.1 Propiedades que representan las opciones de Excel 116
1.1.1 Opciones de la categora General 116
1.1.2 Opciones de la categora Frmulas 117
1.1.3 Opciones de la categora Revisin 119
1.1.4 Opciones de la categora Guardar 121
1.1.5 Opciones de la categora Avanzadas 122
1.2 Propiedades relativas a la presentacin de la aplicacin 129
1.3 Propiedades varias 131
1.4 Mtodos del objeto Application 135
1.4.1 Mtodos que actan sobre las frmulas y clculos 135
1.4.2 Mtodos que actan sobre las celdas 136
1.4.3 Mtodos que actan sobre las listas personalizadas 136
1.4.4 Mtodos que muestran los cuadros de dilogo 136
1.4.5 Mtodos relacionados con las acciones en Excel 137
1.4.6 Mtodos relativos al correo 138
1.4.7 Otros mtodos 138
1.5 Ejemplos de cdigos que usan el objeto Application 140
1.5.1 Modificacin de la interfaz de Excel 140
1.5.2 Creacin de una lista personalizada 140
1.5.3 Seleccin de columnas no consecutivas 141
1.5.4 Evaluacin del resultado de una frmula 141

2. Objeto Workbook 142

2.1 Objetos y colecciones 143


2.2 Propiedades 145
2.2.1 Propiedades relativas a la actualizacin y registro de libros 145
2.2.2 Propiedades relativas a libros compartidos 146
2.2.3 Otras propiedades 149
2.3 Lista de mtodos 151
2.3.1 Mtodos que actan directamente sobre los libros 151
2.3.2 Mtodos relativos a la seguridad 153
2.3.3 Mtodos relativos a libros compartidos 153
2.3.4 Mtodos relacionados con datos vinculados 154

www.ediciones-eni.com Ediciones ENI 5/15


VBA Excel 2013
Programacin en Excel: Macros y lenguaje VBA

2.3.5 Mtodos relativos al envo de libros 155


2.3.6 Otros mtodos 156
2.4 Ejemplos de cdigos que usan el objeto Workbook 156
2.4.1 Creacin de un libro Excel 156
2.4.2 Importar una base de datos y exportarla al formato HTML 157
2.4.3 Mostrar las propiedades de un libro 158
2.4.4 Exportar un libro al formato PDF 159

3. El objeto Worksheet 159


3.1 Lista de objetos y colecciones 160
3.2 Objetos y colecciones 160
3.3 Propiedades 163
3.4 Mtodos 165
3.5 Ejemplos de cdigos que usan el objeto Worksheet 168
3.5.1 Ordenar las hojas de clculo de un libro 168
3.5.2 Proteccin de las hojas de clculo de un libro 169
3.5.3 Ordenar una tabla 169

4. El objeto Range 170


4.1 Propiedades y mtodos que devuelven un objeto Range 170
4.2 Sintaxis de las propiedades que devuelven un objeto Range 173
4.3 Lista de objetos y colecciones 177
4.4 Propiedades 179
4.4.1 Propiedades relacionadas con la posicin y el formato de las celdas 179
4.4.2 Propiedades que se relacionan con el contenido de celdas y con las frmulas
180
4.4.3 Otras propiedades 181
4.5 Mtodos 182
4.5.1 Mtodos que devuelven un objeto 182
4.5.2 Mtodos que se relacionan con la presentacin de las celdas 182
4.5.3 Mtodos relacionados con el contenido de las celdas 184
4.5.4 Mtodos relacionados con los nombres de celdas 186
4.5.5 Mtodos relacionados con los filtros 186
4.5.6 Mtodos relacionados con el modo esquema 187
4.5.7 Mtodos que se relacionan con la herramienta de Auditora 187

www.ediciones-eni.com Ediciones ENI 6/15


VBA Excel 2013
Programacin en Excel: Macros y lenguaje VBA

4.5.8 Otros mtodos 188

5. Ejemplos de uso de los objetos 189


5.1 Clculo del importe de un premio 189
5.2 Asignar comentarios a las celdas 191
5.3 Creacin de una tabla dinmica con mini grficos 193

Cuadros de dilogo

1. Presentacin 197

2. Cuadros de dilogo integrados 198

2.1 El objeto Dialog 198


2.2 Los mtodos GetOpenFileName y GetSaveAsFileName 199

3. Cuadros de dilogo predefinidos 201

3.1 La funcin InputBox 201


3.2 El mtodo InputBox 202
3.3 La funcin MsgBox 203
3.4 Constantes usadas en los cuadros de dilogo 207

Formularios

1. Presentacin 209

2. Crear un formulario 210

3. Personalizar un formulario 219

3.1 Escribir procedimientos 219


3.2 Lista de eventos asociados a los principales controles 220
3.3 Ejecutar y cerrar un formulario 226

www.ediciones-eni.com Ediciones ENI 7/15


VBA Excel 2013
Programacin en Excel: Macros y lenguaje VBA

4. Ejemplo de formulario personalizado 227


4.1 Presentacin 227
4.2 Cdigo asociado al botn macro de la ficha Empleados 229
4.3 Cdigo VBA asociado al formulario 229

Mejoras en la interfaz de usuario

1. Presentacin 235

2. Personalizacin de la cinta con la utilidad Custom UI Editor 236

2.1 Presentacin de la utilidad Custom UI Editor 236


2.2 Ejemplo de cdigo XML de personalizacin 238
2.3 Etiquetas XML correspondientes a los distintos elementos de la cinta 241
2.3.1 Fichas y grupos 241
2.3.2 Principales controles de la cinta de opciones 242
2.3.3 Atributos de los controles de la cinta de opciones 245
2.3.4 Resumen de los atributos para cada control 247
2.3.5 Imgenes de la galera de iconos de Microsoft Office 249
2.3.6 Funciones de llamadas Callbacks 249
2.3.7 Uso de las funciones de llamada Callbacks 252

3. Ejemplo de cinta personalizada con el Custom UI Editor 253


3.1 Presentacin 253
3.2 Cdigo XML de la cinta 255
3.3 Cdigo VBA de personalizacin de la cinta (mdulo "Cinta") 257

4. Personalizacin de la cinta de opciones mediante la coleccin CommandBars 261

5. Ejemplos de barras de comandos 262

5.1 Barras de herramientas personalizadas 262


5.2 Comandos de mens en formato Office 2013 262
5.3 Agregar el grupo a la barra de herramientas de acceso rpido 262

www.ediciones-eni.com Ediciones ENI 8/15


VBA Excel 2013
Programacin en Excel: Macros y lenguaje VBA

6. Barras de comandos 264


6.1 Terminologa 264
6.1.1 Barra de comandos 264
6.1.2 Control 264
6.2 Crear una barra de comandos 264
6.3 Eliminar una barra de comandos 265
6.4 Mostrar una barra de comandos 266

7. Controles (opciones o botones de comando) de las barras de comandos 267

7.1 Agregar un control 267


7.2 Especificar el ttulo de un control 268
7.3 Eliminar un control 268
7.4 Asociar un procedimiento a un control 268
7.5 Otras propiedades 269
7.6 Lista de imgenes asociadas a los botones de comando 270

8. Ejemplos de mens personalizados 272

8.1 Presentacin 272


8.2 Cdigo de los ejemplos 273
8.3 Cdigo del mdulo de clase ThisWorkbook 274
8.4 Cdigo de la hoja "Nota de Gastos" 274
8.5 Cdigo del mdulo ProcMenus 275
8.6 Cdigo del mdulo ProcAction 280

Administracin de eventos

1. Presentacin 283

2. Escritura de eventos 284

2.1 Eventos de libro, de hoja o de formulario 284


2.2 Eventos del objeto Application 286
2.3 Evento asociado a un grfico incrustado 289

www.ediciones-eni.com Ediciones ENI 9/15


VBA Excel 2013
Programacin en Excel: Macros y lenguaje VBA

3. Eventos del objeto Application 291

4. Eventos del objeto Workbook 296

5. Eventos del objeto Worksheet 299

6. Eventos del objeto Chart 301

Depuracin y administracin de errores

1. Diferentes tipos de error 303

1.1 Errores de sintaxis 303


1.2 Errores de compilacin 304
1.3 Errores de ejecucin 305
1.4 Errores de lgica 306

2. Depuracin 307
2.1 Presentacin 307
2.2 La barra de herramientas Depuracin 307
2.3 El objeto Debug 309

3. Administracin de errores en VBA 310


3.1 El objeto Err 312

Comunicacin con las aplicaciones Office

1. La tecnologa Automation 315

1.1 Presentacin 315


1.2 Uso de la tecnologa Automation 317

www.ediciones-eni.com Ediciones ENI 10/15


VBA Excel 2013
Programacin en Excel: Macros y lenguaje VBA

2. Comunicacin con Word desde Excel 318


2.1 El modelo de objeto Word 318
2.2 Principales colecciones del modelo de objetos Word 319
2.3 Principales objetos del modelo de objetos Word 320
2.4 La coleccin Documents 322
2.5 Objetos Document 322
2.6 Ejemplo 325

3. Comunicacin con Access desde Excel 327

3.1 El modelo de objeto Access 327


3.2 Principales colecciones del modelo de objeto Access 328
3.3 Principales objetos del modelo de objeto Access 328
3.4 Ejemplos 330
3.4.1 Listar tablas de una base Access 330
3.4.2 Mostrar una tabla Access en Excel 331
3.4.3 Abrir una tabla o consulta Access en un nuevo libro 332

4. Comunicacin con Outlook desde Excel 333

4.1 Objetos Outlook 333


4.2 Acceso a los objetos Outlook 334
4.2.1 Creacin de un objeto (e-mail, contacto...) en Outlook 334
4.2.2 Acceso a los objetos (contactos, citas...) de Outlook 335
4.3 Ejemplo de uso del objeto MailItem 336

5. Objetos vinculados o incrustados 337

5.1 Mtodos del objeto OLEObject 338


5.2 Propiedades del objeto OLEObject 338

6. Mtodos y propiedades relativos a los vnculos con Excel 339

6.1 Mtodos y propiedades del objeto Workbook 339


6.2 Mtodos y propiedades de otros objetos 341

Internet

www.ediciones-eni.com Ediciones ENI 11/15


VBA Excel 2013
Programacin en Excel: Macros y lenguaje VBA

1. Consultas por Internet 343

2. El objeto QueryTable 345


2.1 Propiedades del objeto QueryTable 346
2.2 Ejemplos 350

3. Publicacin de pginas Web 352

3.1 Asociacin de un elemento de libro a una pgina Web 353


3.2 Publicacin de la pgina Web 354
3.3 Ejemplo 354

4. Los objetos WebOptions y DefaultWebOptions 355

4.1 Propiedades 356


4.1.1 Opciones de la ficha General 356
4.1.2 Opciones de la ficha Exploradores 357
4.1.3 Opciones de la ficha Archivos 358
4.1.4 Otras propiedades 358
4.2 Mtodo del objeto WebOptions 359

5. Importar, exportar y asignar archivos XML 359


5.1 Colecciones 360
5.2 Mtodos del objeto Workbook 361
5.3 Eventos del objeto Workbook 362
5.4 Mtodos del objeto XmlMap 363

6. El objeto HyperLink 363

6.1 Propiedades 363


6.2 Mtodos 364

Programacin Windows

1. Presentacin de las API 367

www.ediciones-eni.com Ediciones ENI 12/15


VBA Excel 2013
Programacin en Excel: Macros y lenguaje VBA

2. Llamar a una funcin de la API Windows 369


2.1 Sintaxis de la instruccin Declare 369
2.2 Paso de argumentos 370

3. Lista de funciones API Windows 370

4. Ejemplos de uso de funciones API Windows 371

4.1 Recuperar el directorio Windows 371


4.2 Abrir la calculadora de Windows 372

5. El objeto FileSystemObject 374


5.1 Mtodos 374
5.2 Propiedades 376
5.3 Ejemplo: copia de archivos Excel 376

Cdigo de una miniaplicacin

1. Presentacin general 377

2. Descripcin de la aplicacin GestPresupuesto 378

3. Cinta Office 2013 personalizada 380


3.1 Presentacin 380
3.2 Cdigo XML de la cinta personalizada 381

4. Mdulo ThisWorbook 382

4.1 Presentacin 382


4.2 Cdigo VBA del mdulo ThisWorkbook 382

5. Formulario NuevoPresupuesto 383

5.1 Presentacin 383

www.ediciones-eni.com Ediciones ENI 13/15


VBA Excel 2013
Programacin en Excel: Macros y lenguaje VBA

5.2 Lista de controles 383


5.3 Lista de celdas con nombre del modelo Presupuesto.xltx 384
5.4 Cdigo VBA del formulario NuevoPresupuesto 384

6. Formulario BuscarPresupuesto 387


6.1 Presentacin 387
6.2 Lista de controles 387
6.3 Cdigo VBA del formulario BuscarPresupuesto 388

7. Mdulos ProcCinta y ProcGene 391

7.1 Cdigo VBA del mdulo ProcCinta 391


7.2 Cdigo VBA del mdulo ProcGene 393

Anexos

1. Lista de instrucciones 397


1.1 Cadenas de caracteres 397
1.2 Fecha Hora/Matemticas 398
1.3 Declaracin 398
1.4 Error 400
1.5 Archivo 401
1.6 Estructuracin 405
1.7 Sistema 406
1.8 Diversas 407

2. Lista de funciones 408

2.1 Conversiones 408


2.2 Cadenas de caracteres 410
2.3 Matemticas 413
2.4 Financieras 415
2.5 Fechas y horas 417
2.6 Archivos, Sistema 420
2.7 Verificacin de variables 422
2.8 Interaccin 423

www.ediciones-eni.com Ediciones ENI 14/15


VBA Excel 2013
Programacin en Excel: Macros y lenguaje VBA

2.9 Matrices 423


2.10 SQL 424
2.11 Diversas 425
2.12 Solver 426

3. Constantes VBA 428


3.1 Constantes de color 428
3.2 Constantes de fecha 428
3.3 Constantes de teclas correspondientes a letras y nmeros 429
3.4 Constantes de teclas de funcin 429
3.5 Constantes de teclas diversas 430

ndice 433

www.ediciones-eni.com Ediciones ENI 15/15

También podría gustarte