Declaração de tipo VBA (exemplo) - Como declarar variáveis ​​com o 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, 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.

Artigos interessantes...