Tipo VBA

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 que podem 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:

Tipo 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 no 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

Você pode baixar este modelo de declaração de tipo VBA aqui - modelo de declaração de tipo 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: No topo do módulo comece a palavra “Tipo” e dê um nome para Tipo de grupo.

Código:

 Tipo MobileBrands End Type 

Etapa 2: em marcas de celular, o 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 de 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 MobileBrands Name como String LaunchDate como Data Storage As RAM como Integer End Type 

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, isto é, MobileBrands, podemos acessar todos esses tipos de dados de variáveis.

Etapa 7: crie um subprocedimento.

Código:

 Sub Type_Example1 () End Sub 

Passo 8: Agora declare a variável “Mobile” como MobileBrnads.

Código:

 Sub Type_Example1 () Dim Mobile As Mob End Sub 

Passo 9: Agora com o nome da variável “Mobile” podemos acessar todas as variáveis ​​de “MobileBrands”.

Código:

Etapa 10: agora armazene cada valor como o abaixo.

Código:

 Digite 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 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.