VBA-typeverklaring (voorbeeld) - Hoe variabelen met VBA-type declareren?

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 de 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 met de naam "Mobiles", hebben we groepsleden als "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

Zo 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 gegevenstypen 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 variabel gegevenstype   (variabele 2) als variabel gegevenstype   (variabele 3) als variabel gegevenstype   (variabele 4) als variabel gegevenstype   (variabele 5) als variabel gegevenstype  Eindtype

Dit soort uitspraken 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.

Typ Statement Voorbeeld in VBA

Oké, laten we beginnen met het declareren van variabelen met de Type-instructie. 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 het Type groep.

Code:

Typ MobileBrands Eindtype

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

Code:

Typ MobileBrands-naam als eindtype tekenreeks

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.

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.

  • Verschil 1: VBA-type kan alleen openbare variabelen bevatten. VBA Class kan zowel openbare als privévariabelen bevatten.
  • Verschil 2: VBA-type kan geen procedures en functie bevatten. VBA Class bevat beide, samen met eigenschappen.
  • Verschil 3: VBA-type kan in elk van de modules en procedures worden gedeclareerd. VBA-klasse kan alleen worden gedeclareerd in speciale klassemodules.

Interessante artikelen...