Biblioteca Online : ¡La Suscripción ENI por 9,90 € el primer mes!, con el código PRIMER9. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Macros y lenguaje VBA
  3. Más allá con VBA
Extrait - Macros y lenguaje VBA Descubra la programación en Excel (nueva edición)
Extractos del libro
Macros y lenguaje VBA Descubra la programación en Excel (nueva edición) Volver a la página de compra del libro

Más allá con VBA

Esto es solo el principio

Tras haber leído todos los capítulos hasta aquí, está empezando a comprender todas las posibilidades que tiene a su disposición. Sin embargo, esto es solo el comienzo del aprendizaje de VBA y la forma básica de cómo utilizarlo para permitir ahorrar tiempo a sus usuarios.

Estas no son las únicas cosas que se pueden aprender; hay otras más adelante.

Este libro abarca temas que le hacen descubrir los fundamentos de la programación y pronto, con la experiencia, se sentirá tentado de ir más allá. Para que siga adelante, aquí tiene algunas ideas de temas sobre los que puede seguir aprendiendo.

Módulos de clase

Ya ha visto en los capítulos Manipular celdas de Excel y Manipular hojas de Excel la posibilidad de trabajar con objetos que tienen distinto grado de sofisticación, y de utilizar sus propiedades, métodos e incluso sus eventos.

Ha escrito sus ejercicios en módulos, ha escrito funciones y procedimientos en formularios de usuario. El tema que deliberadamente no se ha tratado hasta ahora, considerado de un nivel más avanzado, se refiere a los módulos de clase.

Definición básica de un módulo de clase

Un módulo de clase es un módulo que le permite crear sus propios objetos. Usted almacena en él las variables que desee, permitiendo al resto de sus programas acceder a sus propiedades, pero también a sus métodos e incluso a sus eventos.

Así que puede crear su propio tipo de datos.

Para despertar su interés, he aquí un ejemplo.

Agregar un módulo de clase

 Para agregar un módulo de clase a su proyecto, haga clic en el menú Insertar - Módulo de clase.

Aparecerá en la carpeta Módulos de clase. Puede darle el nombre que quiera. Este nombre se utilizará, después, para crear el objeto.

images/cap22_img_01.png

En este ejemplo, el módulo de clase se llamará clsExpediente.

Una vez creado el módulo de clase, puede añadirle lo que necesite.

Variables

Puede almacenar variables en un módulo de clase, que serán visibles (Public) o no (Private) desde el programa que lo llame. Los tipos de datos son idénticos a los vistos en este libro.

Private strExpediente As String 
Private dtFechaApertura As Date 
Private rngCeldas As Range 

Ejemplo 1: declarar variables privadas en un módulo de clase

Propiedades

Tal y como ha descubierto en este libro...

Continuar progresando en el control de Excel

Este libro le ha permitido descubrir ciertas características de Excel que puede manipular con VBA. Estas no son las únicas funcionalidades que quedan por descubrir. A través de la grabadora de macros, puede aprender algunas de ellas por su cuenta.

Tablas dinámicas

Las tablas dinámicas le permiten realizar cálculos sobre conjuntos de datos. Agrupando la información y organizándola según sus propios criterios, podrá ver, por ejemplo, totales por categoría, resultados por trimestres y mucho más, todo ello de forma muy sencilla.

images/cap22_img_05.png

Es menos frecuente tener la necesidad de generarlas mediante programación, pero, aun así, se puede hacer.

El tipo de objeto VBA que representa una tabla dinámica es PivotTable. También hace referencia a PivotField para sus campos.

La función de Excel IMPORTARDATOSDINAMICOS corresponde a GetPivotData en VBA.

Formatos condicionales

Cuando se trabaja con conjuntos de datos y se desea resaltar los números que destacan o cumplen ciertos criterios, el formato condicional es una herramienta especialmente eficaz. Puede, sin utilizar inicialmente código VBA, jugar con el color del texto, el color del fondo de la celda o incluso con los iconos que estarían visibles.

En VBA, utilizando FormatConditions, podrá manipular las condiciones y los formatos directamente...

Controlar una aplicación que no sea Excel

Cuando empezó a programar en VBA con este libro, solo utilizamos objetos de Excel.

Debe saber que el lenguaje VBA también puede utilizarse con otras aplicaciones de Microsoft, como Access, Word, Outlook o PowerPoint. Por lo tanto, puede utilizar la base de conocimientos que ha adquirido para considerar trabajar con estas otras herramientas.

Al añadir las bibliotecas dedicadas, puede manipular documentos de Word o correos electrónicos creados con Outlook. A continuación, se presentan algunos códigos de muestra para controlar dichas aplicaciones.

Crear y escribir en un documento de Word

Agregando la librería Microsoft Word 16.0 Object Library, se pueden manipular objetos de Word.

 Para añadir una biblioteca, utilice el menú Herramientas de VBE y seleccione Referencias. Las bibliotecas aparecen en orden alfabético: marque las que quiera añadir a su proyecto y desmarque las que no necesite.

El siguiente programa abrirá la aplicación Word, creará un nuevo documento y escribirá Buenos días en él.

Option Explicit 
Public Sub ControlarWord() 
   'Declaraciones 
   Dim wdApp As Word.Application 
   Dim wdDoc As Word.Document 
   Set wdApp = New Word.Application 
 
   With wdApp 
       .Visible...