VBA-typ

Typ är ett uttalande i VBA som används för att definiera variabler som liknar DIM-funktionen, det används på den användardefinierade nivån där vi har ett eller flera värden i en variabel, det finns två nomenklatur för typuttalande som är offentlig eller privat dessa är valfria att använda, men variabelnamnet och elementnamnet krävs.

Vad är typuttalande i Excel VBA?

VBA-typuttalande används för att definiera variabler under ett enda gruppnamn med olika datatyper tilldelade varje variabel. Detta hjälper oss att gruppera flera variabler under ett objekt för att använda dem under det definierade typnamnet.

Genom att förklara typuttal kan vi undvika att använda klassmoduler i VBA. Det behöver inga strängmoduler eftersom det kan inbäddas i redan befintliga moduler som kan spara utrymme för oss.

I en av de tidigare artiklarna har vi diskuterat ”VBA ENUM” för att gruppera alla variabler under det enskilda gruppnamnet.

Till exempel, om du har ett gruppnamn som heter "Mobiler" har vi gruppmedlemmar som "Redmi, Oppo, Vivo, Samsung, LG och etc .." Så Enum-uttalande kan vi gruppera tillsammans med deras respektive värden.

Enum Mobiles

Redmi = 12000

Oppo = 18000

Vivo = 18000

Samsung = 25000

LG = 15000

Avsluta Enum

Så här har vi skapat uppräkningar i den artikeln. Problemet med Enum-uttalandet eftersom det bara kan innehålla en LÅNG datatyp. För att gruppera variabler med olika datatyper kan vi använda “VBA TYPE Statement”. I den här artikeln visar vi dig hur du konstruerar ett typuttalande i VBA. Läs vidare…

Syntax

Innan du deklarerar variabler med hjälp av Type-uttalande, ta en titt på syntaxen:

Typ gruppnamn             [variabel 1] som variabel datatyp             [variabel 2] som variabel datatyp             [variabel 3] som variabel datatyp             [variabel 4] som variabel datatyp             [variabel 5] som variabel datatyp sluttyp

Dessa typer av uttalanden kan deklareras inom modulen såväl som högst upp i modulen som våra globala variabler i VBA.

VBA-typ kan innehålla objektvariabler, det kan innehålla matriser. Det kan dock inte innehålla procedurer, funktioner.

Exempel på typuttalande i VBA

Du kan ladda ner den här VBA-typuttalningsmallen här - VBA-typuttalningsmall

Ok, låt oss börja processen med att deklarera variabler med typuttalande. Vi kommer att se samma exempel på att deklarera mobilmärken som hur vi har använt i VBA Enum.

Steg 1: Starta ordet ”Typ” högst upp i modulen och ge ett grupptyp ett namn.

Koda:

 Skriv MobileBrands End Type 

Steg 2: I Mobile Brands vad är de saker vi brukar se. Vi ser Namn först så förklara variabeln som Namn som sträng.

Koda:

 Skriv MobileBrands-namn som strängslutstyp 

Steg 3: Efter namnet kontrollerar vi lanseringsdatumet. Förklara variabeln som LaunchDate som datum.

Koda:

 Skriv MobileBrands namn som sträng LaunchDate som datum slut typ 

Steg 4: Nästa sak är att vi kontrollerar lagringskapacitet. Att deklarera variabeln som lagring som heltal.

Koda:

 Skriv MobileBrands namn som sträng LaunchDate som datumlagring som heltalstyp 

Steg 5: Nästa sak är att vi kontrollerar RAM-kapacitet.

Koda:

 Skriv MobileBrands namn som sträng LaunchDate som datumlagring som RAM som heltalstyp 

Steg 6: Äntligen kontrollerar vi om priset.

Koda:

 Typ MobileBrands Namn som sträng LaunchDate som datumlagring som heltal RAM som heltal Pris som långtyp 

Nu i underproceduren genom att deklarera variabeln som typnamn, dvs MobileBrands, kan vi komma åt alla dessa variabeldatatyper.

Steg 7: Skapa en delprocedur.

Koda:

 Sub Type_Example1 () Slut Sub 

Steg 8: Förklara nu variabeln "Mobile" som MobileBrnads.

Koda:

 Sub Type_Example1 () Dim Mobile som Mob End Sub 

Steg 9: Nu med variabelnamnet “Mobile” kan vi komma åt alla variablerna i “MobileBrands”.

Koda:

Steg 10: Lagra nu varje värde enligt nedan.

Koda:

 Typ MobileBrands namn som sträng LaunchDate som datumlagring som heltal RAM som heltal Pris som långtyp Typ Sub Type_Example1 () Dim Mobile som 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.