Un saludo a todos mis seguidores del Perú y el mundo, hoy aprenderemos a declarar Type End Type VBA Excel
Bastante interesante y muy poca información de este tema en web, por ello lo he elegido, espero sea de su agrado
Lo primero que debemos saber es que los módulos de clases de VBA permiten agrupar funciones, procedimientos, variables, etc. Observemos la siguiente imagen:

En la imagen podemos ver una pequeña clase de nombre Clase1, la cual nos permite agrupar lo mencionado anteriormente
Los TYPES también nos permiten realizar agrupaciones, pero sólo de variables
Por lo que si usted mi querido lector, sólo va a realizar agrupaciones de variables, no use una Clase de Excel VBA, sino un TYPE
Pero hay que hacer una definición más técnica para nuestro amigo TYPE
Type: Es una instrucción que define un tipo de datos defino por le usuario que contiene una o más variables
¿Cómo declaro un TYPE en Excel VBA?
La declaración es bastante sencilla, usaremos un ejemplo para entenderlo mejor
Type Usuario nombre As String apellido As String fechaNacimiento As Date peso As Double talla As Single correo(10) As String End Type
He creado una instrucción Type de nombre Usuario, en donde he agregado diferentes tipos de variables, incluido un array
Después de declarar TYPE END TYPE, procederemos a usarlo desde un simple módulo
Type Usuario nombre As String apellido As String fechaNacimiento As Date peso As Double talla As Single correo(10) As String End Type Sub UnaSimpleMacro() Dim LuisRojas As Usuario LuisRojas.nombre = "Luis" LuisRojas.apellido = "Rojas" LuisRojas.fechaNacimiento = "1950/02/14" LuisRojas.peso = 80 LuisRojas.talla = 1.75 LuisRojas.correo(0) = "luisrojas@tutorialesexcel.com" LuisRojas.correo(1) = "m4ster@tutorialesexcel.com" End Sub
De manera similar a los módulos de clases, también podemos realizar varias declaraciones
Sub UnaSimpleMacro() Dim LuisRojas As Usuario, LuisRojas2 As Usuario LuisRojas.nombre = "Luis" LuisRojas2.nombre = "Elchin" LuisRojas.apellido = "Rojas" LuisRojas2.apellido = "Wenwen Cha" LuisRojas.fechaNacimiento = "1950/02/14" LuisRojas2.fechaNacimiento = "1940/05/31" LuisRojas.peso = 80 LuisRojas2.peso = 100 LuisRojas.talla = 1.75 LuisRojas2.talla = 2.05 LuisRojas.correo(0) = "luisrojas@tutorialesexcel.com" LuisRojas2.correo(0) = "luisrojas2@tutorialesexcel.com" LuisRojas.correo(1) = "m4ster@tutorialesexcel.com" LuisRojas2.correo(1) = "m4ster2@tutorialesexcel.com" End Sub
Información adicional sobre la instrucción TYPE en VBA
Vale, voy a mencionarles información adicional, que podría serles de utilidad, sobre la instrucción TYPE
1. Podemos declarar la instrucción como Private o Public

2. Podemos declarar arrays de longitud fija o variable en una instrucción TYPE
3. No se pueden declarar funciones o procedimientos dentro de esta instrucción
4. La instrucción TYPE no puede ser declarada como Pública en módulos de clases o formularios
Espero haber contribuido a enriquecer tu conocimiento, recuerda que puedes contactarme al correo luisrojas@tutorialesexcel.com
Sígueme en LinkedIn Luis Rojas