VBA-type

Type is een instructie in VBA die wordt gebruikt om variabelen te definiëren die vergelijkbaar zijn met de DIM-functie, het wordt gebruikt op het door de gebruiker gedefinieerde niveau waar we een of meer waarden in een variabele hebben, er zijn twee nomenclatuur voor type-instructie die echter openbaar of privé is deze zijn optioneel te gebruiken, maar de variabelenaam en de elementnaam zijn vereist.

Wat is typeverklaring in Excel VBA?

VBA Type Statement wordt gebruikt om variabelen te definiëren onder één enkele groepsnaam met verschillende gegevenstypen die aan elke variabele zijn toegewezen. Dit helpt ons om meerdere variabelen onder een enkel object te groeperen om ze onder de gedefinieerde typenaam te gebruiken.

Door Type-instructie te declareren, kunnen we voorkomen dat we Class-modules in VBA gebruiken. Het heeft geen stringmodules nodig omdat het kan worden ingebed in reeds bestaande modules, wat ons ruimte kan besparen.

In een van de eerdere artikelen hebben we de "VBA ENUM" besproken om alle variabelen onder de enkele groepsnaam te groeperen.

Als je bijvoorbeeld een groepsnaam hebt die "Mobiles" heet, hebben we groepsleden zoals "Redmi, Oppo, Vivo, Samsung, LG en etc ..". Dus de Enum-verklaring kunnen we groeperen met hun respectieve waarden.

Enum Mobiles

Redmi = 12000

Oppo = 18000

Vivo = 18000

Samsung = 25000

LG = 15.000

Einde Enum

Op deze manier hebben we in dat artikel opsommingen gemaakt. Het probleem met de Enum-instructie omdat deze alleen een LONG-gegevenstype kan bevatten. Om variabelen met verschillende datatypes te groeperen, kunnen we “VBA TYPE Statement” gebruiken. In dit artikel laten we u zien hoe u een Type-instructie in VBA kunt construeren. Lees verder…

Syntaxis

Bekijk de syntaxis voordat u variabelen declareert met behulp van de instructie Type:

Type Groepsnaam             [Variabele 1] als variabele gegevenstype             [Variabele 2] als variabele gegevenstype             [Variabele 3] als variabele gegevenstype             [Variabele 4] als variabele gegevenstype             [Variabele 5] als variabele gegevenstype Eindtype

Dit soort verklaringen kunnen zowel binnen de module als bovenaan de module worden gedeclareerd, zoals onze globale variabelen in VBA.

VBA-type kan objectvariabelen bevatten, het kan arrays bevatten. Het kan echter geen procedures of functies bevatten.

Typeverklaringvoorbeeld in VBA

U kunt deze VBA Type Statement Template hier downloaden - VBA Type Statement Template

Oké, laten we beginnen met het declareren van variabelen met de instructie Type. We zullen hetzelfde voorbeeld zien van het aangeven van mobiele merken zoals we die hebben gebruikt in VBA Enum.

Stap 1: Begin bovenaan de module met het woord “Type” en geef een naam aan Type groep.

Code:

 Typ MobileBrands Eindtype 

Stap 2: Wat zijn de dingen die we meestal zien bij mobiele merken? We zien Naam eerst, dus declareer de variabele als Naam als String.

Code:

 Typ MobileBrands-naam als tekenreeks-eindtype 

Stap 3: Na de naam controleren we de lanceringsdatum. Declareer de variabele als LaunchDate als Date.

Code:

 Typ MobileBrands Name As String LaunchDate As Date End Type 

Stap 4: Het volgende is dat we de opslagcapaciteit controleren. De variabele declareren als Opslag als geheel getal.

Code:

 Typ MobileBrands Name As String LaunchDate As Date Storage As Integer End Type 

Stap 5: Het volgende is dat we de RAM-capaciteit controleren.

Code:

 Typ MobileBrands Name As String LaunchDate As Date Storage As RAM As Integer End Type 

Stap 6: Eindelijk kijken we naar de prijs.

Code:

 Typ MobileBrands Name As String LaunchDate As Date Storage As Integer RAM As Integer Prijs As Long End Type 

Nu in de Sub-procedure door de variabele te declareren als Type Name, dwz MobileBrands, hebben we toegang tot al deze variabele datatypes.

Stap 7: Maak een subprocedure.

Code:

 Sub Type_Example1 () End Sub 

Stap 8: Declareer nu de variabele "Mobile" als MobileBrnads.

Code:

 Sub Type_Example1 () Dim mobiel als Mob End Sub 

Stap 9: Nu hebben we met de variabelenaam “Mobile” toegang tot alle variabelen van “MobileBrands”.

Code:

Stap 10: Sla nu elke waarde op zoals hieronder.

Code:

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