VBA Excel 2016 - Ediciones ENI Ediciones ENI VBA Excel 2016 Programaci£³n en Excel: Macros y lenguaje

  • View
    31

  • Download
    7

Embed Size (px)

Text of VBA Excel 2016 - Ediciones ENI Ediciones ENI VBA Excel 2016 Programaci£³n en Excel:...

  • Ediciones ENI

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

    Colección Recursos Informáticos

    Contenido

  • 1Contenido

    Podrá descargar algunos elementos de este libro en la página web de Ediciones ENI: http://www.ediciones-eni.com.

    Escriba la referencia ENI del libro RIT16EXCV en la zona de búsqueda y valide. Haga clic en el título y después en el botón de descarga.

    Prólogo

    Capítulo 1 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 pestaña Desarrollador en la cinta de opciones . . . . . 19 2.2 Descripción de la pestaña Desarrollador . . . . . . . . . . . . . . . . . . . 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 . . . . 27 2.4.3 Habilitar las macros cuando aparece la advertencia

    de seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

  • 2 Programación en Excel: macros y lenguaje VBA

    VBA Excel 2016

    2.4.4 Activar las macros en una ubicación dada . . . . . . . . . . . . 29 2.4.5 Firmas electrónicas de macros . . . . . . . . . . . . . . . . . . . . . . 30

    2.5 Modificar el código de una macro . . . . . . . . . . . . . . . . . . . . . . . . 30

    3. Asignar una macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.1 Acceso a una macro desde la cinta de opciones

    de Office 2016 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.2 Asociar una macro a un icono de la barra de herramientas

    de acceso rápido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.3 Asociar una macro a un botón de comando . . . . . . . . . . . . . . . . 36 3.4 Asignar una macro a una imagen . . . . . . . . . . . . . . . . . . . . . . . . 36 3.5 Asociar una macro a una zona de un objeto gráfico. . . . . . . . . . 37 3.6 Asociar una macro a una imagen Control ActiveX . . . . . . . . . . 37

    4. El entorno de desarrollo VBE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.1 Acceso al entorno VBE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.2 Cerrar el entorno VBE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.3 Volver a Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.4 Descripción del entorno VBE. . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.5 Elegir las ventanas que hay que mostrar . . . . . . . . . . . . . . . . . . . 43

    5. Configuración del editor VBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.1 Configuración de la tipografía . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.2 Configuración de la introducción de código . . . . . . . . . . . . . . . . 44 5.3 Manejo de errores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 5.4 Acoplar una ventana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

    Capítulo 2 El lenguaje VBA

    1. Módulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 1.1 Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 1.2 Acceso a los módulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 1.3 Importar y exportar código VBA . . . . . . . . . . . . . . . . . . . . . . . . . 49

  • 3Contenido

    2. Procedimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 2.1 Definiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 2.2 Acceso a los procedimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 2.3 Procedimientos Sub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 2.4 Procedimientos Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 2.5 Declaración de procedimientos . . . . . . . . . . . . . . . . . . . . . . . . . . 53 2.6 Alcance de los procedimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 2.7 Argumentos de los procedimientos . . . . . . . . . . . . . . . . . . . . . . . 54 2.8 Argumentos con nombre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 2.9 Llamar a un procedimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 2.10 Llamar a una función VBA en una fórmula de Excel . . . . . . . . . 57 2.11 Ejemplos de procedimientos y funciones . . . . . . . . . . . . . . . . . . 60

    3. Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 3.1 Tipos de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 3.2 Declaración de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

    3.2.1 Declaraciones implícitas. . . . . . . . . . . . . . . . . . . . . . . . . . . 66 3.2.2 Declaraciones explícitas . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 3.2.3 Sintaxis de las instrucciones de declaración . . . . . . . . . . . 67

    3.3 Declaración de los tipos de variables . . . . . . . . . . . . . . . . . . . . . . 68 3.3.1 Declaraciones explícitas del tipo . . . . . . . . . . . . . . . . . . . . 68 3.3.2 Declaraciones implícitas del tipo . . . . . . . . . . . . . . . . . . . . 69 3.3.3 Convención de nombres de variables . . . . . . . . . . . . . . . . 71

    3.4 Matrices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 3.5 Constantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

    3.5.1 Constantes personalizadas. . . . . . . . . . . . . . . . . . . . . . . . . 73 3.5.2 Constantes integradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

    4. Estructuras de decisión. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4.1 Instrucción If . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.2 Instrucción Select Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

    5. Estructuras en ciclo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.1 Instrucción Do...Loop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 5.2 Instrucción While...Wend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

  • 4 Programación en Excel: macros y lenguaje VBA

    VBA Excel 2016

    5.3 Instrucción For...Next . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 5.4 Instrucción For Each...Next . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.5 Salir de las estructuras de control . . . . . . . . . . . . . . . . . . . . . . . . 86

    6. Operadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 6.1 Operadores aritméticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 6.2 Operadores de comparación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 6.3 Operadores lógicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 6.4 Operador de concatenación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 6.5 Prioridad de los operadores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

    7. Reglas de escritura del código . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 7.1 Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 7.2 Carácter de continuación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 7.3 Sangrías . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 7.4 Nombres de los procedimientos, variables y constantes . . . . . . 91

    Capítulo 3 La programación de objetos en Excel

    1. Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

    2. El modelo de objeto de Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 2.1 Presentación .