VBA-typeerklæring (eksempel) | Hvordan erklæres variabler med VBA-type?

Type er en sætning i VBA, der bruges til at definere variabler svarende til DIM-funktionen, den bruges på det brugerdefinerede niveau, hvor vi har en eller flere værdier i en variabel, der er to nomenklaturer for typesæt, som er offentlig eller privat, dog disse er valgfri at bruge, men variabelnavnet og elementnavnet er påkrævet.

Hvad er typeforklaring i Excel VBA?

VBA Type Statement bruges til at definere variabler under et enkelt gruppenavn med forskellige datatyper tildelt hver variabel. Dette hjælper os med at gruppere flere variabler under et enkelt objekt for at bruge dem under det definerede typenavn.

Ved at erklære Type-erklæring kan vi undgå at bruge klassemoduler i VBA. Det har ikke brug for nogen strengmoduler, fordi det kan integreres i allerede eksisterende moduler, som kan spare os plads.

I en af ​​de tidligere artikler har vi diskuteret "VBA ENUM" for at gruppere alle variablerne under det enkelte gruppenavn.

For eksempel, hvis du har et gruppenavn kaldet "Mobiles", har vi gruppemedlemmer som "Redmi, Oppo, Vivo, Samsung, LG osv." Så Enum-udsagn kan vi gruppere sammen med deres respektive værdier.

Enum Mobiles

Redmi = 12000

Oppo = 18000

Vivo = 18000

Samsung = 25000

LG = 15000

Afslut Enum

Som dette har vi oprettet enumerationer i denne artikel. Problemet med Enum-sætningen, da den kun kan indeholde en LANG datatype. For at gruppere variabler med forskellige datatyper kan vi bruge “VBA TYPE Statement”. I denne artikel viser vi dig, hvordan du konstruerer en Type-erklæring i VBA. Læs videre…

Syntaks

Før du erklærer variabler ved hjælp af Type-sætning, skal du se på syntaksen:

Skriv gruppenavn             [variabel 1] som variabel datatype             [variabel 2] som variabel datatype             [variabel 3] som variabel datatype             [variabel 4] som variabel datatype             [variabel 5] som variabel datatype slutttype

Disse typer udsagn kan erklæres inden for modulet såvel som øverst i modulet som vores globale variabler i VBA.

VBA Type kan indeholde objektvariabler, den kan indeholde arrays. Det kan dog ikke indeholde procedurer, funktioner.

Type Statement Eksempel i VBA

Du kan downloade denne VBA Type Statement Template her - VBA Type Statement Template

Ok, lad processen med at erklære variabler med Type-sætning starte. Vi vil se det samme eksempel på at erklære mobilmærker som hvordan vi har brugt i VBA Enum.

Trin 1: Start ordet “Type” øverst i modulet, og giv et navn til gruppetypen.

Kode:

 Skriv MobileBrands End Type 

Trin 2: Hvad er de ting, vi normalt ser i mobilmærker. Vi ser Navn først, så erklær variablen som Navn som streng.

Kode:

 Skriv MobileBrands navn som streng slut type 

Trin 3: Efter navnet kontrollerer vi startdatoen. Erklær variablen som LaunchDate som dato.

Kode:

 Indtast navnet på MobileBrands som streng LaunchDate som slutdato for typen 

Trin 4: Den næste ting er, at vi kontrollerer lagerkapacitet. At erklære variablen som lager som heltal.

Kode:

 Indtast navn på MobileBrands som streng Startdato som datalagring som heltalstype 

Trin 5: Den næste ting er, at vi kontrollerer RAM-kapacitet.

Kode:

 Indtast navn på MobileBrands som streng Startdato som datalagring som RAM som heltype 

Trin 6: Endelig tjekker vi om prisen.

Kode:

 Type MobileBrands Navn som streng Startdato Som dato opbevaring som hel RAM Som helpris Som lang ende Type 

Nu i underproceduren ved at erklære variablen som Type Name, dvs. MobileBrands, kan vi få adgang til alle disse variable 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 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.