Tipo é uma declaração em VBA que é usada para definir variáveis semelhantes à função DIM, ela é usada no nível definido pelo usuário onde temos um ou mais valores em uma variável, há duas nomenclaturas para declaração de tipo que é pública ou privada. estes são opcionais para uso, mas o nome da variável e o nome do elemento são obrigatórios.
O que é declaração de tipo no Excel VBA?
A declaração de tipo VBA é usada para definir variáveis sob um único nome de grupo com diferentes tipos de dados atribuídos a cada variável. Isso nos ajuda a agrupar várias variáveis em um único objeto para usá-las com o nome de tipo definido.
Ao declarar a instrução Type, podemos evitar o uso de módulos Class no VBA. Não precisa de nenhum módulo de string porque pode ser embutido em módulos já existentes, o que pode nos economizar espaço.
Em um dos artigos anteriores, discutimos o “VBA ENUM” para agrupar todas as variáveis sob o nome de grupo único.

Por exemplo, se você tem um nome de grupo chamado “Mobiles”, temos membros do grupo como “Redmi, Oppo, Vivo, Samsung, LG e etc …”. Portanto, a declaração Enum podemos agrupar com seus respectivos valores.
Enum Mobiles
Redmi = 12000
Oppo = 18000
Vivo = 18000
Samsung = 25000
LG = 15000
End Enum
Assim, criamos enumerações nesse artigo. O problema com a instrução Enum, pois ela pode conter apenas um tipo de dados LONG. Para agrupar variáveis com diferentes tipos de dados, podemos usar a “Instrução VBA TYPE”. Neste artigo, mostraremos como construir uma instrução Type no VBA. Leia…
Sintaxe
Antes de declarar variáveis usando a instrução Type, dê uma olhada na sintaxe:
Digite o Nome do Grupo (Variável 1) como Tipo de Dados Variável (Variável 2) como Tipo de Dados Variáveis (Variável 3) como Tipo de Dados Variáveis (Variável 4) como Tipo de Dados Variáveis (Variável 5) como Tipo de Dados Variáveis Tipo Final
Esses tipos de instruções podem ser declarados dentro do módulo, bem como na parte superior do módulo, como nossas Variáveis globais no VBA.
O tipo VBA pode conter variáveis de objeto. Ele pode conter matrizes. No entanto, não pode conter procedimentos, funções.
Exemplo de declaração de tipo em VBA
Ok, vamos começar o processo de declaração de variáveis com a instrução Type. Veremos o mesmo exemplo de declaração de marcas de celular como usamos no VBA Enum.
Passo 1: Na parte superior do módulo, inicie a palavra “Tipo” e dê um nome ao Tipo de grupo.
Código:
Tipo MobileBrands End Type

Etapa 2: em marcas de celular, quais são as coisas que geralmente vemos. Vemos o Nome primeiro, então declare a variável como Nome como String.
Código:
Digite o nome MobileBrands como tipo de final de string

Passo 3: Após o nome, verificamos a data de lançamento. Declare a variável como LaunchDate como Date.
Código:
Digite o nome do MobileBrands como string LaunchDate como tipo de data final

Etapa 4: O próximo passo é verificar a capacidade de armazenamento. Para declarar a variável como Storage as Integer.
Código:
Digite o nome de MobileBrands como string LaunchDate como data de armazenamento como tipo de fim inteiro

Etapa 5: O próximo passo é verificar a capacidade da RAM.
Código:
Digite o nome de MobileBrands como string LaunchDate como data de armazenamento como RAM como tipo final inteiro

Passo 6: Por fim, verificamos o Preço.
Código:
Digite MobileBrands Name As String LaunchDate As Date Storage As Integer RAM As Integer Price As Long End Type

Agora, no Sub Procedure, declarando a variável como Type, Name, ou seja, MobileBrands, podemos acessar todos esses tipos de dados de variáveis.
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.
- Diferença 1: o tipo de VBA pode conter apenas variáveis públicas. A classe VBA pode conter variáveis públicas e privadas.
- Diferença 2: o tipo de VBA não pode conter procedimentos e funções. A classe VBA contém os dois junto com as propriedades.
- Diferença 3: O tipo de VBA pode ser declarado em qualquer um dos módulos e procedimentos. A classe VBA só pode ser declarada em módulos de classe dedicados.