Declaración de tipo de VBA (ejemplo) - ¿Cómo declarar variables con el tipo 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, 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 Type, podemos evitar el uso de módulos Class en VBA. No necesita ningún módulo de cadena porque se puede incrustar en módulos ya existentes, lo que puede 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 "VBA TYPE Statement". 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 de la variable   (Variable 2) como Tipo de datos de la variable   (Variable 3) como Tipo de datos de la   variable (Variable 4) como Tipo de datos de la   variable (Variable 5) como Tipo de datos de la variable Tipo  final

Este tipo 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

Bien, comencemos el proceso de declaración de variables con la declaració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 asigne 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 comprobar 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 Tipo, Nombre, es decir, MobileBrands, podemos acceder a todos estos tipos de datos variables.

Step 7: Create a subprocedure.

Code:

Sub Type_Example1() End Sub

Step 8: Now declare the variable “Mobile” as MobileBrnads.

Code:

Sub Type_Example1() Dim Mobile As Mob End Sub

Step 9: Now, with the variable name “Mobile,” we can access all the variables of “MobileBrands.”

Code:

Step 10: Now store each value like the below.

Code:

Type MobileBrands Name As String LaunchDate As Date Storage As Integer RAM As Integer Price As Long End Type 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

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 the 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 types in the subprocedure.

VBA Types vs. VBA Class

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

  • Diferencia 1: el tipo de VBA solo puede contener variables públicas. La clase VBA puede contener tanto variables públicas como privadas.
  • Diferencia 2: el tipo de VBA no puede contener procedimientos y funciones. La clase VBA contiene ambos junto con propiedades.
  • Diferencia 3: El tipo de VBA se puede declarar en cualquiera de los módulos y procedimientos. La clase VBA solo se puede declarar en módulos de clase dedicados.

Articulos interesantes...