Módulo de clase Excel VBA

El módulo de clase en VBA se puede definir como el módulo que ayuda a crear sus propios objetos con sus propias propiedades y métodos, como hojas de trabajo y objetivos de rango de Excel.

En términos simples con el módulo de clase de ayuda VBA, podemos crear objetos con propiedades propias. Antes de crear un módulo de clase y sus objetos en VBA, es recomendable comprender el concepto de clase y objeto. Considere un ejemplo del mundo real para comprender qué es una clase y qué es un objeto y su relación.

Por ejemplo, si tomamos un plan de construcción o un plano de un edificio, con la ayuda de un plan de construcción podemos construir no solo un edificio sino que podemos usar el mismo plan y podemos construir múltiples edificios en diferentes lugares. Pueden variar en el tamaño de las habitaciones o la altura del techo, etc., pero las propiedades reales del edificio siguen siendo las mismas, ya que debería haber un sótano, puertas, pilares, techo, etc.

Del mismo modo, si toma un modelo o modelo de automóvil, podemos producirle múltiples duplicados. Un automóvil tendrá propiedades como una serie de ruedas, color, potencia, etc. algunas de las propiedades pueden variar de un automóvil a otro, pero la configuración principal seguirá siendo la misma.

Para hacerlo más claro podemos definir como:

  • Clase: es un plano de una cosa que ayuda a crear un objeto.
  • Objeto: existencia real de una cosa.

¿Cómo insertar un módulo de clase en Excel VBA?

A continuación se muestran los diferentes ejemplos para insertar un módulo de clase en Excel usando el código VBA.

Puede descargar esta plantilla de Excel del módulo de clase VBA aquí - Plantilla de Excel del módulo de clase VBA

Módulo de clase de Excel VBA - Ejemplo # 1

A continuación se detallan los diferentes pasos para insertar el módulo de clase utilizando el código VBA en Excel.

Paso 1: Vaya al menú " Desarrollador " en la parte superior y haga clic en Visual Basic en el lado izquierdo.

Paso 2: Para crear un módulo de clase, necesitamos insertar un módulo de clase en VBA. Haga clic en el menú desplegable Insertar en la parte superior. De eso, elija un Módulo de clase .

Ahora se inserta un módulo de clase en el lado izquierdo en VBA como se muestra en la siguiente captura de pantalla.

Como se discutió anteriormente, un módulo de clase es un plan con el que crearemos objetos. Por lo tanto, necesitamos definir algunas variables y métodos que serán accesibles para todos los objetos.

Paso 3: cambie el nombre del módulo de clase según su requisito, aquí cambié como Blueprint

Paso 4: Ahora necesitamos definir las variables y los métodos.

Código:

 Opción Public explícita add As Integer Public pro As Integer Public x As Integer Public y As Integer 

Como se muestra en la captura de pantalla anterior, primero comience con la opción explícita. ¿Por qué opción explícita? Lanzará un error si usamos alguna variable en el programa que no esté definida, por lo que debemos definir todas las variables explícitamente. Aquí definimos cuatro variables add, pro, x e y. Todas las variables se definen como públicas porque entonces otros módulos solo pueden acceder a estas variables.

Paso 5: Hasta ahora, las variables definidas ahora necesitan definir métodos o funciones.

Código:

 Opción Público explícito add As Integer Public pro As Integer Public x As Integer Public y As Integer Sub sum () add = x + y MsgBox (add) End Sub 

Definí un método simple sum (), puede definir subprogramas complejos según los requisitos. En el submétodo sum () definimos cómo realizar la operación de suma y dónde almacenar ese valor y finalmente mostrar el resultado en un cuadro de mensaje.

Paso 6: se ha creado un módulo de clase ahora es el momento de crear un módulo normal para usar el plan de clase. Por lo tanto, inserte un módulo de la misma manera que insertamos un módulo de clase.

Paso 7: Por defecto, el nombre del módulo será module1 que podemos cambiar si lo deseamos. Escriba el código en module1.

Código:

 Submatemáticas () Dim obj As New Blueprint obj.x = 5 obj.y = 6 obj.sum End Sub 

Aquí estamos escribiendo un subprograma matemático (). En eso, creamos un objeto con el nombre obj igual que un plano de clase. Esa es la razón por la que hemos definido de tal manera "obj como nuevo plano", lo que significa la duplicación del plano y el nombre es obj.

En este programa, no definimos x e y, pero asignamos directamente los valores a x e y porque estos ya están definidos en un módulo de clase y el obj es una duplicación de él. Por lo tanto, tendrá esas variables, pero para llamarlas debemos usar un nombre de objeto variable.

Obj.x = 5 media, el valor 5 se almacenará en x variable.

Obj.y = 6 el valor medio 6 se almacenará en la variable y.

Ahora llame a los métodos que se definieron en el módulo de clase utilizando el nombre del objeto obj.

Obj.sum () realizará la operación de suma como se define en el módulo de clase. En el módulo de clase, definimos como x + y un objeto, definimos los valores para x e y, por lo tanto, tomará los valores y realizará el cálculo y almacenará el resultado en suma, que es un tipo entero. En el último paso, mostrará el resultado en el cuadro de mensaje.

Paso 8: Ejecute el módulo1 presionando la tecla F5 o haciendo clic en el botón Reproducir .

Paso 9: Seleccione el nombre de la macro y haga clic en la opción Ejecutar .

Los resultados se mostrarán a continuación.

Módulo de clase Excel VBA - Ejemplo # 2

Siga los pasos a continuación:

Paso 1: Ahora agregue otro método llamado "mul" para realizar la operación de multiplicación. El resultado debe almacenarse en las celdas (5, 5) de la hoja1.

Código:

 Sub mul () pro = x * y Sheet1.Cells (5, 5) = pro End Sub 

En el método mul () anterior, multiplicamos x e y, y el resultado se almacena en "pro", que es un tipo de datos entero.

Paso 2: Ahora, vaya al módulo1 y llame a este método mul usando el objeto obj como se muestra a continuación.

Código:

 Sub math1 () Dim obj As New Blueprint obj.x = 5 obj.y = 6 obj.mul End Sub 

Paso 3: Presione la tecla F5 para ejecutar el módulo. Vaya a la hoja 1 y verifique que el resultado se mostrará a continuación.

En el ejemplo anterior, mostramos los resultados en el cuadro de mensaje, pero en el segundo método, mostramos en Excel. Entonces, si declaramos las variables y los métodos en el módulo de clase, podemos usarlo en otros módulos con la ayuda de un objeto sin repetir el código. Espero que haya entendido cómo insertar el módulo de clase en Excel VBA y cómo crear un objeto para él.

Cosas para recordar

  • Siempre es recomendable usar la opción explícita al preparar un módulo de clase porque puede haber un error tipográfico al usar variables en VBA.
  • Si no mencionamos el número de hoja para mostrar los resultados, elegirá la hoja activa automáticamente.
  • Use la palabra clave pública al iniciar las variables para que otras variables puedan acceder a ellas.
  • Puede llamar a las variables o métodos solo después de crear el objeto. por lo tanto, cree un objeto para la clase y luego llame a las variables y métodos.

Artículos recomendados

Esta es una guía para el módulo de clase VBA. Aquí discutimos cómo insertar el Módulo de clase en Excel usando el código VBA junto con algunos ejemplos prácticos y una plantilla de Excel descargable. También puede consultar nuestros otros artículos sugeridos:

  1. VBA Buscar y reemplazar
  2. Suma de Excel por color
  3. El archivo de verificación de VBA existe
  4. Excel Eliminar tabla dinámica
  5. Código VBA | Ejemplos

Categoría: