Tipo de VBA

Type es una declaración en VBA que se usa para definir variables similares a la función DIM, se usa en el nivel definido por el usuario donde tenemos uno o más valores en una variable, hay dos nomenclaturas para la declaración de tipo que es pública o privada sin embargo estos son opcionales de usar, pero el nombre de la variable y el nombre del elemento son obligatorios.

¿Qué es la declaración de tipo en Excel VBA?

La declaración de tipo de VBA se utiliza para definir variables bajo un solo nombre de grupo con diferentes tipos de datos asignados a cada variable. Esto nos ayuda a agrupar múltiples variables bajo un solo objeto para usarlas bajo el nombre de tipo definido.

Al declarar la declaración de tipo, podemos evitar el uso de módulos de clase en VBA. No necesita ningún módulo de cadena porque se puede incrustar en módulos ya existentes que pueden ahorrarnos espacio.

En uno de los artículos anteriores, hemos discutido el "VBA ENUM" para agrupar todas las variables bajo el nombre de un solo grupo.

Por ejemplo, si tiene un nombre de grupo llamado "Móviles", tenemos miembros del grupo como "Redmi, Oppo, Vivo, Samsung, LG y etc." Por lo tanto, la declaración Enum podemos agruparla con sus respectivos valores.

Móviles Enum

Redmi = 12000

Oppo = 18000

Vivo = 18000

Samsung = 25000

LG = 15000

End Enum

Así, hemos creado enumeraciones en ese artículo. El problema con la instrucción Enum, ya que solo puede contener un tipo de datos LONG. Para agrupar variables con diferentes tipos de datos, podemos usar la “Declaración de VBA TYPE”. En este artículo, le mostraremos cómo construir una declaración de tipo en VBA. Sigue leyendo ...

Sintaxis

Antes de declarar variables mediante la instrucción Type, observe la sintaxis:

Escriba el nombre del grupo             [Variable 1] como tipo de datos variables             [Variable 2] como tipo de datos variables             [Variable 3] como tipo de datos             variables [Variable 4] como tipo de datos             variables [Variable 5] como tipo de datos variables Tipo final

Estos tipos de declaraciones se pueden declarar dentro del módulo, así como en la parte superior del módulo, como nuestras Variables globales en VBA.

VBA Type puede contener variables de objeto, puede contener matrices. Sin embargo, no puede contener procedimientos, funciones.

Ejemplo de declaración de tipo en VBA

Puede descargar esta plantilla de declaración de tipo VBA aquí - Plantilla de declaración de tipo VBA

Ok, comencemos el proceso de declaración de variables con la instrucción Type. Veremos el mismo ejemplo de declaración de marcas móviles como las que hemos usado en VBA Enum.

Paso 1: En la parte superior del módulo, comience con la palabra "Tipo" y dé un nombre al Tipo de grupo.

Código:

 Tipo Tipo de final de MobileBrands 

Paso 2: En Mobile Brands, cuáles son las cosas que solemos ver. Primero vemos Nombre, así que declare la variable como Nombre como Cadena.

Código:

 Escriba el nombre de MobileBrands como tipo de final de cadena 

Paso 3: Después del nombre, verificamos la fecha de lanzamiento. Declare la variable como LaunchDate como Fecha.

Código:

 Escriba el nombre de MobileBrands como cadena LaunchDate como fecha de finalización Tipo 

Paso 4: Lo siguiente es comprobar la capacidad de almacenamiento. Declarar la variable como Almacenamiento como Entero.

Código:

 Escriba el nombre de MobileBrands como cadena LaunchDate como fecha de almacenamiento como tipo de fin de número entero 

Paso 5: Lo siguiente es verificar la capacidad de RAM.

Código:

 Escriba el nombre de MobileBrands como cadena LaunchDate como fecha de almacenamiento como RAM como tipo de fin de número entero 

Paso 6: Por fin comprobamos el precio.

Código:

 Escriba el nombre de MobileBrands como cadena LaunchDate como fecha de almacenamiento como RAM entera como precio entero como tipo de extremo largo 

Ahora, en el Subprocedimiento al declarar la variable como Nombre de tipo, es decir, MobileBrands, podemos acceder a todos estos tipos de datos variables.

Paso 7: cree un subprocedimiento.

Código:

 Sub Type_Example1 () End Sub 

Paso 8: Ahora declare la variable “Mobile” como MobileBrnads.

Código:

 Sub Type_Example1 () Dim Mobile As Mob End Sub 

Paso 9: Ahora con el nombre de variable “Mobile” podemos acceder a todas las variables de “MobileBrands”.

Código:

Paso 10: Ahora almacene cada valor como se muestra a continuación.

Código:

 Escriba MobileBrands Nombre como cadena LaunchDate como fecha Almacenamiento como número entero RAM como precio entero como extremo largo Escriba Sub Type_Example1 () Dim Mobile como MobileBrands Mobile.Name = "Redmi" Mobile.LaunchDate = "10-Jan-2019" Mobile.Storage = 62 Mobile.RAM = 6 Mobile.Price = 16500 MsgBox Mobile.Name & vbNewLine & Mobile.LaunchDate & vbNewLine & _ Mobile.Storage & vbNewLine & Mobile.RAM & vbNewLine & Mobile.Price End Sub 

Finally, show the result in a VBA message box like the below one.

Code:

 Sub Type_Example1() Dim Mobile As MobileBrands Mobile.Name = "Redmi" Mobile.LaunchDate = "10-Jan-2019" Mobile.Storage = 62 Mobile.RAM = 6 Mobile.Price = 16500 MsgBox Mobile.Name & vbNewLine & Mobile.LaunchDate & vbNewLine & _ Mobile.Storage & vbNewLine & Mobile.RAM & vbNewLine & Mobile.Price End Sub 

Now run the code using F5 key or manually and see the result in a message box.

Like this, we can use the “VBA Type” statement to define new data type in the subprocedure.

VBA Types vs VBA Class

VBA Type often compared to VBA Class modules. There are certain differences between them. Below are the common differences.

  • Difference 1: VBA Type can contain only Public variables. VBA Class can contain both Public as well as Private variables.
  • Difference 2: VBA Type cannot contain Procedures and Function. VBA Class contains both of them along with properties.
  • Difference 3: VBA Type can be declared in any of the modules and procedures. VBA Class can only be declared in dedicated class modules.