Módulos de clase de Excel VBA
Cuando usamos VBA usamos las propiedades y atributos definidos en VBA pero lo que sucede cuando queremos crear nuestras propias propiedades y métodos y atributos, es cuando usamos un módulo de clase en VBA para que podamos tenerlo definido por el usuario, un El módulo de clase tiene su propio conjunto de códigos definidos por el usuario para funciones, propiedades y objetos.
Los módulos de clase se utilizan para crear un objeto. Cuando decimos elementos, aunque es una variable, son programas pequeños. Mientras escribimos el código, generalmente escribimos en módulos. Los módulos esenciales son donde escribimos nuestros principios para hacer el trabajo. También utilizamos el formulario de usuario para crear interfaces gráficas de usuario.
Pero si miras la imagen de arriba, puedes ver "Módulo de clase". Estoy seguro de que no lo ha tocado hasta que esté leyendo esta publicación. Debe preguntarse qué es este módulo de clase VBA cuando todo el trabajo se puede hacer utilizando nuestro módulo regular.
¿Qué es el módulo de clase?
Los módulos de clase permiten al usuario crear su objeto de la misma manera que tenemos elementos integrados en módulos estándar como "Hojas de trabajo", "Libros de trabajo", "Rango", etc.
Así, usando un módulo de clase, podemos crear objetos personalizados.
La clase tiene una relación directa con los objetos. Por ejemplo, tiene un diagrama de máquina para construir una máquina, pero recuerde que todavía no es una máquina y, usando este diagrama de máquina, podemos hacer muchas máquinas como esa.
Por ejemplo, si desea enumerar varias marcas de máquinas para enumerar las características de varios modelos.
En la máquina tenemos el nombre de la marca, el número de serie, la potencia de la máquina, el color del dispositivo, la cantidad de motores que intervienen, el tipo de combustible del motor, etc.… En lenguaje técnico, se denominan “propiedades”.
En cuanto a las propiedades de la máquina, podemos arrancar, podemos apagar, podemos aumentar la velocidad del motor, podemos pausar, etc… Y estos se denominan “Métodos”.
Ejemplo
Empecemos a rodar la pelota porque siempre es aburrido leer la parte teórica. Para insertar un módulo de clase, vaya a la opción de insertar en un editor visual básico.
Ahora podemos ver un módulo de clase como el siguiente.
Esto es similar al que tenemos arriba como módulo regular. Cambie el nombre del módulo de la clase en la ventana de propiedades. Para ver la ventana de propiedades, presione la tecla F4 .
Ahora declare la variable como una cadena.
Sin crear un subprocedimiento en VBA, necesitamos declarar la variable y usar la palabra "Público" no "Dim".
Ahora podemos acceder a esta variable en cualquier módulo y módulo de clase.
Ahora ve a un módulo normal y nombra la variable.
Después de declarar la variable, necesitamos asignar el tipo de datos en VBA; en lugar de establecer el tipo de datos, podemos dar el nombre del módulo de clase, es decir, CM.
Usando la variable "k", podemos acceder a la variable pública que hemos definido en el módulo de clase, es decir, "Mi valor".
Como podemos ver en la imagen de arriba, está mostrando la opción de nombre de variable del módulo de clase para asignarle el valor.
Ahora muestre el valor de la variable asignada en el cuadro de mensaje de VBA.
Código:
Sub Class_Example () Dim k As New CM k.MyValue = "Hola" MsgBox k.MyValue End Sub
Ejecute este código usando la tecla F5 o manualmente para mostrar el resultado.
Módulo de clase frente a objetos
En la etapa inicial del módulo de clase, todos se confunden con qué es la clase y qué es un objeto.
Para comprender esto, recuerde nuestro ejemplo anterior de un diagrama de máquina. Lo primero que necesitamos para producir una máquina es diseñar la máquina primero, y luego se pueden replicar varias copias con ese diseño.
Ahora relacione esto con nuestro módulo de clase.
- Aquí el módulo de clase es un diseño. Y el objeto es la copia creada por el diseño.
- Una cosa más interesante es que necesitamos usar la palabra "nuevo" para crear un objeto desde el módulo de la clase.
A continuación se muestra un ejemplo del mismo.
Una cosa más cuando usamos objetos integrados como hojas de trabajo, libros de trabajo y objetos de rango, no usamos la palabra "nuevo".
Para comenzar los procedimientos con el Módulo de clase, debe saber estas cosas básicas. En los próximos artículos, veremos los ejemplos del siguiente nivel.
Parece difícil de entender esto; cuanto más tiempo pases con un módulo de clase, te acostumbrarás.