VBA-typuttalande (exempel) - Hur deklarerar jag variabler med VBA-typ?

Innehållsförteckning

Typ är ett uttalande i VBA som används för att definiera variabler som liknar DIM-funktionen, det används på användardefinierad nivå där vi har ett eller flera värden i en variabel, det finns två nomenklaturer för typuttalande som är offentliga eller privata dock 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 typuttrycket kan vi undvika att använda klassmoduler i VBA. Det behöver inga strängmoduler eftersom det kan bäddas in i redan befintliga moduler, vilket 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 "Mobiles", 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 skapar 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  Slut typ

Dessa typer av uttalanden kan deklareras både i modulen och högst upp i modulen, som våra globala variabler i VBA.

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

Exempel på typuttalande i VBA

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

Steg 1: Starta ordet ”Typ” längst upp i modulen och ge ett namn på grupptypen.

Koda:

Skriv MobileBrands End Type

Steg 2: Vilka är de saker vi brukar se i Mobile Brands. 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 delproceduren genom att deklarera variabeln som Type, Name, dvs. MobileBrands, kan vi komma åt alla dessa variabla datatyper.

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.

  • Skillnad 1: VBA-typ kan endast innehålla offentliga variabler. VBA-klass kan innehålla både offentliga och privata variabler.
  • Skillnad 2: VBA-typ kan inte innehålla procedurer och funktion. VBA-klass innehåller båda tillsammans med egenskaper.
  • Skillnad 3: VBA-typ kan deklareras i någon av modulerna och procedurerna. VBA-klass kan endast deklareras i dedikerade klassmoduler.

Intressanta artiklar...