LO MAXIMO

15
Presentación 1. Presentación del lenguaje VBA 17 1.1 Objetivos del lenguaje VBA 17 1.2 Algunas definiciones 18 1.3 Escritura de código VBA 19 2. Las macros de Excel 19 2.1 Mostrar la ficha PROGRAMADOR en la cinta de opciones 19 2.2 Descripción de la ficha PROGRAMADOR 20 2.2.1 Grupo Código 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 configuración de seguridad 27 2.4.2 Descripción 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 ubicación dada 30 2.4.5 Firmas electrónicas de macros 30 2.5 Modificar el código 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 rápido 36 3.3 Asociar una macro a un botón de comando 37 3.4 Asignar una macro a una imagen 38 3.5 Asociar una macro a una zona de un objeto gráfico 38 VBA Excel 2013 Programación en Excel: Macros y lenguaje VBA 1/15 © Ediciones ENI www.ediciones-eni.com

description

MUY UTIL

Transcript of LO MAXIMO

Presentación

1. Presentación del lenguaje VBA 17

1.1 Objetivos del lenguaje VBA 171.2 Algunas definiciones 181.3 Escritura de código VBA 19

2. Las macros de Excel 19

2.1 Mostrar la ficha PROGRAMADOR en la cinta de opciones 192.2 Descripción de la ficha PROGRAMADOR 20

2.2.1 Grupo Código 202.2.2 Grupo Complementos 212.2.3 Grupo Controles 21

2.3 Grabar una macro 222.3.1 Grabar la primera macro 222.3.2 Ejecutar una macro 232.3.3 Grabar una macro con referencias relativas 232.3.4 Definir el lugar de almacenamiento de una nueva macro 252.3.5 Eliminar una macro 262.3.6 Guardar un libro con macros 26

2.4 Las macros y la seguridad 272.4.1 Modificar la configuración de seguridad 272.4.2 Descripción de las diferentes opciones de seguridad 282.4.3 Habilitar las macros cuando aparece la advertencia de seguridad 292.4.4 Activar las macros en una ubicación dada 302.4.5 Firmas electrónicas de macros 30

2.5 Modificar el código de una macro 31

3. Asignar una macro 33

3.1 Acceso a una macro desde la cinta de opciones de Office 2013 333.2 Asociar una macro a un icono de la barra de herramientas de acceso rápido 363.3 Asociar una macro a un botón de comando 373.4 Asignar una macro a una imagen 383.5 Asociar una macro a una zona de un objeto gráfico 38

VBA Excel 2013Programación en Excel: Macros y lenguaje VBA

1/15© Ediciones ENIwww.ediciones-eni.com

3.6 Asociar una macro a una imagen Control ActiveX 39

4. El entorno de desarrollo VBE 40

4.1 Acceso al entorno VBE 404.2 Cerrar el entorno VBE 404.3 Volver a Excel 404.4 Descripción del entorno VBE 414.5 Elegir las ventanas que hay que mostrar 44

5. Configuración del editor VBA 44

5.1 Configuración de la tipografía 445.2 Configuración de la introducción de código 455.3 Manejo de errores 465.4 Acoplar una ventana 48

El lenguaje VBA

1. Módulos 49

1.1 Presentación 491.2 Acceso a los módulos 511.3 Importar y exportar código VBA 51

2. Procedimientos 52

2.1 Definiciones 522.2 Acceso a los procedimientos 532.3 Procedimientos Sub 532.4 Procedimientos Function 542.5 Declaración de procedimientos 552.6 Alcance de los procedimientos 562.7 Argumentos de los procedimientos 562.8 Argumentos con nombre 572.9 Llamar a un procedimiento 592.10 Llamar a una función VBA en una fórmula Excel 592.11 Ejemplos de procedimientos y funciones 62

VBA Excel 2013Programación en Excel: Macros y lenguaje VBA

2/15© Ediciones ENIwww.ediciones-eni.com

3. Variables 63

3.1 Tipos de variables 633.2 Declaración de variables 68

3.2.1 Declaraciones implícitas 683.2.2 Declaraciones explícitas 693.2.3 Sintaxis de las instrucciones de declaración 69

3.3 Declaración de los tipos de variables 703.3.1 Declaraciones explícitas del tipo 703.3.2 Declaraciones implícitas del tipo 71

3.4 Matrices 733.5 Constantes 75

3.5.1 Constantes personalizadas 753.5.2 Constantes integradas 76

4. Estructuras de decisión 77

4.1 Instrucción If 774.2 Instrucción Select Case 80

5. Estructuras en ciclo 82

5.1 Instrucción Do...Loop 825.2 Instrucción While...Wend 845.3 Instrucción For...Next 845.4 Instrucción For Each...Next 865.5 Salir de las estructuras de control 87

6. Operadores 88

6.1 Operadores aritméticos 886.2 Operadores de comparación 896.3 Operadores lógicos 906.4 Operador de concatenación 906.5 Prioridad de los operadores 91

7. Reglas de escritura del código 92

VBA Excel 2013Programación en Excel: Macros y lenguaje VBA

3/15© Ediciones ENIwww.ediciones-eni.com

7.1 Comentarios 927.2 Carácter de continuación 927.3 Sangrías 937.4 Nombres de los procedimientos, variables y constantes 93

La programación de objetos en Excel

1. Presentación 95

2. El modelo de objetos de Excel 96

2.1 Presentación 962.2 Objetos y colecciones 97

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

3.1 Propiedades 1003.2 Propiedades que representan objetos 1003.3 Métodos 1023.4 Eventos 1033.5 Colecciones 1043.6 Redacción automática de instrucciones 106

4. Instrucciones usadas con los objetos 108

4.1 La instrucción With 1084.2 La instrucción For Each...Next 1094.3 La instrucción If TypeOf 1094.4 La instrucción Set 110

5. El Examinador de objetos 111

5.1 Presentación 1115.2 Búsqueda en el Examinador de objetos 113

Objetos de Excel

VBA Excel 2013Programación en Excel: Macros y lenguaje VBA

4/15© Ediciones ENIwww.ediciones-eni.com

1. El objeto Application 115

1.1 Propiedades que representan las opciones de Excel 1161.1.1 Opciones de la categoría General 1161.1.2 Opciones de la categoría Fórmulas 1171.1.3 Opciones de la categoría Revisión 1191.1.4 Opciones de la categoría Guardar 1211.1.5 Opciones de la categoría Avanzadas 122

1.2 Propiedades relativas a la presentación de la aplicación 1291.3 Propiedades varias 1311.4 Métodos del objeto Application 135

1.4.1 Métodos que actúan sobre las fórmulas y cálculos 1351.4.2 Métodos que actúan sobre las celdas 1361.4.3 Métodos que actúan sobre las listas personalizadas 1361.4.4 Métodos que muestran los cuadros de diálogo 1361.4.5 Métodos relacionados con las acciones en Excel 1371.4.6 Métodos relativos al correo 1381.4.7 Otros métodos 138

1.5 Ejemplos de códigos que usan el objeto Application 1401.5.1 Modificación de la interfaz de Excel 1401.5.2 Creación de una lista personalizada 1401.5.3 Selección de columnas no consecutivas 1411.5.4 Evaluación del resultado de una fórmula 141

2. Objeto Workbook 142

2.1 Objetos y colecciones 1432.2 Propiedades 145

2.2.1 Propiedades relativas a la actualización y registro de libros 1452.2.2 Propiedades relativas a libros compartidos 1462.2.3 Otras propiedades 149

2.3 Lista de métodos 1512.3.1 Métodos que actúan directamente sobre los libros 1512.3.2 Métodos relativos a la seguridad 1532.3.3 Métodos relativos a libros compartidos 1532.3.4 Métodos relacionados con datos vinculados 154

VBA Excel 2013Programación en Excel: Macros y lenguaje VBA

5/15© Ediciones ENIwww.ediciones-eni.com

2.3.5 Métodos relativos al envío de libros 1552.3.6 Otros métodos 156

2.4 Ejemplos de códigos que usan el objeto Workbook 1562.4.1 Creación de un libro Excel 1562.4.2 Importar una base de datos y exportarla al formato HTML 1572.4.3 Mostrar las propiedades de un libro 1582.4.4 Exportar un libro al formato PDF 159

3. El objeto Worksheet 159

3.1 Lista de objetos y colecciones 1603.2 Objetos y colecciones 1603.3 Propiedades 1633.4 Métodos 1653.5 Ejemplos de códigos que usan el objeto Worksheet 168

3.5.1 Ordenar las hojas de cálculo de un libro 1683.5.2 Protección de las hojas de cálculo de un libro 1693.5.3 Ordenar una tabla 169

4. El objeto Range 170

4.1 Propiedades y métodos que devuelven un objeto Range 1704.2 Sintaxis de las propiedades que devuelven un objeto Range 1734.3 Lista de objetos y colecciones 1774.4 Propiedades 179

4.4.1 Propiedades relacionadas con la posición y el formato de las celdas 1794.4.2 Propiedades que se relacionan con el contenido de celdas y con las fórmulas

1804.4.3 Otras propiedades 181

4.5 Métodos 1824.5.1 Métodos que devuelven un objeto 1824.5.2 Métodos que se relacionan con la presentación de las celdas 1824.5.3 Métodos relacionados con el contenido de las celdas 1844.5.4 Métodos relacionados con los nombres de celdas 1864.5.5 Métodos relacionados con los filtros 1864.5.6 Métodos relacionados con el modo esquema 1874.5.7 Métodos que se relacionan con la herramienta de Auditoría 187

VBA Excel 2013Programación en Excel: Macros y lenguaje VBA

6/15© Ediciones ENIwww.ediciones-eni.com

4.5.8 Otros métodos 188

5. Ejemplos de uso de los objetos 189

5.1 Cálculo del importe de un premio 1895.2 Asignar comentarios a las celdas 1915.3 Creación de una tabla dinámica con mini gráficos 193

Cuadros de diálogo

1. Presentación 197

2. Cuadros de diálogo integrados 198

2.1 El objeto Dialog 1982.2 Los métodos GetOpenFileName y GetSaveAsFileName 199

3. Cuadros de diálogo predefinidos 201

3.1 La función InputBox 2013.2 El método InputBox 2023.3 La función MsgBox 2033.4 Constantes usadas en los cuadros de diálogo 207

Formularios

1. Presentación 209

2. Crear un formulario 210

3. Personalizar un formulario 219

3.1 Escribir procedimientos 2193.2 Lista de eventos asociados a los principales controles 2203.3 Ejecutar y cerrar un formulario 226

VBA Excel 2013Programación en Excel: Macros y lenguaje VBA

7/15© Ediciones ENIwww.ediciones-eni.com

4. Ejemplo de formulario personalizado 227

4.1 Presentación 2274.2 Código asociado al botón macro de la ficha Empleados 2294.3 Código VBA asociado al formulario 229

Mejoras en la interfaz de usuario

1. Presentación 235

2. Personalización de la cinta con la utilidad Custom UI Editor 236

2.1 Presentación de la utilidad Custom UI Editor 2362.2 Ejemplo de código XML de personalización 2382.3 Etiquetas XML correspondientes a los distintos elementos de la cinta 241

2.3.1 Fichas y grupos 2412.3.2 Principales controles de la cinta de opciones 2422.3.3 Atributos de los controles de la cinta de opciones 2452.3.4 Resumen de los atributos para cada control 2472.3.5 Imágenes de la galería de iconos de Microsoft Office 2492.3.6 Funciones de llamadas Callbacks 2492.3.7 Uso de las funciones de llamada Callbacks 252

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

3.1 Presentación 2533.2 Código XML de la cinta 2553.3 Código VBA de personalización de la cinta (módulo "Cinta") 257

4. Personalización de la cinta de opciones mediante la colección CommandBars 261

5. Ejemplos de barras de comandos 262

5.1 Barras de herramientas personalizadas 2625.2 Comandos de menús en formato Office 2013 2625.3 Agregar el grupo a la barra de herramientas de acceso rápido 262

VBA Excel 2013Programación en Excel: Macros y lenguaje VBA

8/15© Ediciones ENIwww.ediciones-eni.com

6. Barras de comandos 264

6.1 Terminología 2646.1.1 Barra de comandos 2646.1.2 Control 264

6.2 Crear una barra de comandos 2646.3 Eliminar una barra de comandos 2656.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 2677.2 Especificar el título de un control 2687.3 Eliminar un control 2687.4 Asociar un procedimiento a un control 2687.5 Otras propiedades 2697.6 Lista de imágenes asociadas a los botones de comando 270

8. Ejemplos de menús personalizados 272

8.1 Presentación 2728.2 Código de los ejemplos 2738.3 Código del módulo de clase ThisWorkbook 2748.4 Código de la hoja "Nota de Gastos" 2748.5 Código del módulo ProcMenus 2758.6 Código del módulo ProcAction 280

Administración de eventos

1. Presentación 283

2. Escritura de eventos 284

2.1 Eventos de libro, de hoja o de formulario 2842.2 Eventos del objeto Application 2862.3 Evento asociado a un gráfico incrustado 289

VBA Excel 2013Programación en Excel: Macros y lenguaje VBA

9/15© Ediciones ENIwww.ediciones-eni.com

3. Eventos del objeto Application 291

4. Eventos del objeto Workbook 296

5. Eventos del objeto Worksheet 299

6. Eventos del objeto Chart 301

Depuración y administración de errores

1. Diferentes tipos de error 303

1.1 Errores de sintaxis 3031.2 Errores de compilación 3041.3 Errores de ejecución 3051.4 Errores de lógica 306

2. Depuración 307

2.1 Presentación 3072.2 La barra de herramientas Depuración 3072.3 El objeto Debug 309

3. Administración de errores en VBA 310

3.1 El objeto Err 312

Comunicación con las aplicaciones Office

1. La tecnología Automation 315

1.1 Presentación 3151.2 Uso de la tecnología Automation 317

VBA Excel 2013Programación en Excel: Macros y lenguaje VBA

10/15© Ediciones ENIwww.ediciones-eni.com

2. Comunicación con Word desde Excel 318

2.1 El modelo de objeto Word 3182.2 Principales colecciones del modelo de objetos Word 3192.3 Principales objetos del modelo de objetos Word 3202.4 La colección Documents 3222.5 Objetos Document 3222.6 Ejemplo 325

3. Comunicación con Access desde Excel 327

3.1 El modelo de objeto Access 3273.2 Principales colecciones del modelo de objeto Access 3283.3 Principales objetos del modelo de objeto Access 3283.4 Ejemplos 330

3.4.1 Listar tablas de una base Access 3303.4.2 Mostrar una tabla Access en Excel 3313.4.3 Abrir una tabla o consulta Access en un nuevo libro 332

4. Comunicación con Outlook desde Excel 333

4.1 Objetos Outlook 3334.2 Acceso a los objetos Outlook 334

4.2.1 Creación de un objeto (e-mail, contacto...) en Outlook 3344.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 Métodos del objeto OLEObject 3385.2 Propiedades del objeto OLEObject 338

6. Métodos y propiedades relativos a los vínculos con Excel 339

6.1 Métodos y propiedades del objeto Workbook 3396.2 Métodos y propiedades de otros objetos 341

VBA Excel 2013Programación en Excel: Macros y lenguaje VBA

11/15© Ediciones ENIwww.ediciones-eni.com

Internet

1. Consultas por Internet 343

2. El objeto QueryTable 345

2.1 Propiedades del objeto QueryTable 3462.2 Ejemplos 350

3. Publicación de páginas Web 352

3.1 Asociación de un elemento de libro a una página Web 3533.2 Publicación de la página Web 3543.3 Ejemplo 354

4. Los objetos WebOptions y DefaultWebOptions 355

4.1 Propiedades 3564.1.1 Opciones de la ficha General 3564.1.2 Opciones de la ficha Exploradores 3574.1.3 Opciones de la ficha Archivos 3584.1.4 Otras propiedades 358

4.2 Método del objeto WebOptions 359

5. Importar, exportar y asignar archivos XML 359

5.1 Colecciones 3605.2 Métodos del objeto Workbook 3615.3 Eventos del objeto Workbook 3625.4 Métodos del objeto XmlMap 363

6. El objeto HyperLink 363

6.1 Propiedades 3636.2 Métodos 364

Programación Windows

VBA Excel 2013Programación en Excel: Macros y lenguaje VBA

12/15© Ediciones ENIwww.ediciones-eni.com

1. Presentación de las API 367

2. Llamar a una función de la API Windows 369

2.1 Sintaxis de la instrucción Declare 3692.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 3714.2 Abrir la calculadora de Windows 372

5. El objeto FileSystemObject 374

5.1 Métodos 3745.2 Propiedades 3765.3 Ejemplo: copia de archivos Excel 376

Código de una miniaplicación

1. Presentación general 377

2. Descripción de la aplicación GestPresupuesto 378

3. Cinta Office 2013 personalizada 380

3.1 Presentación 3803.2 Código XML de la cinta personalizada 381

4. Módulo ThisWorbook 382

4.1 Presentación 3824.2 Código VBA del módulo ThisWorkbook 382

VBA Excel 2013Programación en Excel: Macros y lenguaje VBA

13/15© Ediciones ENIwww.ediciones-eni.com

5. Formulario NuevoPresupuesto 383

5.1 Presentación 3835.2 Lista de controles 3835.3 Lista de celdas con nombre del modelo Presupuesto.xltx 3845.4 Código VBA del formulario NuevoPresupuesto 384

6. Formulario BuscarPresupuesto 387

6.1 Presentación 3876.2 Lista de controles 3876.3 Código VBA del formulario BuscarPresupuesto 388

7. Módulos ProcCinta y ProcGene 391

7.1 Código VBA del módulo ProcCinta 3917.2 Código VBA del módulo ProcGene 393

Anexos

1. Lista de instrucciones 397

1.1 Cadenas de caracteres 3971.2 Fecha Hora/Matemáticas 3981.3 Declaración 3981.4 Error 4001.5 Archivo 4011.6 Estructuración 4051.7 Sistema 4061.8 Diversas 407

2. Lista de funciones 408

2.1 Conversiones 4082.2 Cadenas de caracteres 4102.3 Matemáticas 4132.4 Financieras 415

VBA Excel 2013Programación en Excel: Macros y lenguaje VBA

14/15© Ediciones ENIwww.ediciones-eni.com

2.5 Fechas y horas 4172.6 Archivos, Sistema 4202.7 Verificación de variables 4222.8 Interacción 4232.9 Matrices 4232.10 SQL 4242.11 Diversas 4252.12 Solver 426

3. Constantes VBA 428

3.1 Constantes de color 4283.2 Constantes de fecha 4283.3 Constantes de teclas correspondientes a letras y números 4293.4 Constantes de teclas de función 4293.5 Constantes de teclas diversas 430

índice 433

VBA Excel 2013Programación en Excel: Macros y lenguaje VBA

15/15© Ediciones ENIwww.ediciones-eni.com