VBA Type Statement (Eksempel) | Hvordan erklære variabler med VBA-type?

Type er en setning i VBA som brukes til å definere variabler som ligner på DIM-funksjonen, den brukes på det brukerdefinerte nivået der vi har en eller flere verdier i en variabel. disse er valgfrie å bruke, men variabelnavnet og elementnavnet kreves.

Hva er typeforklaring i Excel VBA?

VBA Type Statement brukes til å definere variabler under ett enkelt gruppenavn med forskjellige datatyper tilordnet hver variabel. Dette hjelper oss med å gruppere flere variabler under et enkelt objekt for å bruke dem under det definerte typenavnet.

Ved å erklære Type-uttalelse kan vi unngå å bruke klassemoduler i VBA. Det trenger ingen strengmoduler fordi det kan bygges inn i allerede eksisterende moduler som kan spare oss for plass.

I en av de tidligere artiklene har vi diskutert “VBA ENUM” for å gruppere alle variablene under det ene gruppenavnet.

For eksempel, hvis du har et gruppenavn som heter "Mobiles", har vi gruppemedlemmer som "Redmi, Oppo, Vivo, Samsung, LG og etc .." Så Enum-utsagnet kan vi gruppere sammen med deres respektive verdier.

Enum Mobiles

Redmi = 12000

Oppo = 18000

Vivo = 18000

Samsung = 25000

LG = 15000

Slutt Enum

Som dette har vi opprettet oppføringer i den artikkelen. Problemet med Enum-setningen, da den bare kan inneholde en LANG datatype. For å gruppere variabler med forskjellige datatyper, kan vi bruke “VBA TYPE Statement”. I denne artikkelen vil vi vise deg hvordan du konstruerer en Type-uttalelse i VBA. Les videre…

Syntaks

Før du erklærer variabler ved hjelp av Type-setning, ta en titt på syntaksen:

Type 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 sluttype

Disse typer utsagn kan erklæres i modulen så vel som på toppen av modulen, som våre globale variabler i VBA.

VBA Type kan inneholde objektvariabler, den kan holde matriser. Den kan imidlertid ikke inneholde prosedyrer, funksjoner.

Type Statement Eksempel i VBA

Du kan laste ned denne VBA Type Statement Template her - VBA Type Statement Template

Ok, la oss starte prosessen med å erklære variabler med Type-setning. Vi vil se det samme eksemplet på å erklære mobilmerker som hvordan vi har brukt i VBA Enum.

Trinn 1: Start ordet “Type” på toppen av modulen og gi navnet til gruppetypen.

Kode:

 Skriv MobileBrands Sluttype 

Trinn 2: Hva er de tingene vi vanligvis ser i mobilmerker? Vi ser Navn først, så erklær variabelen som Navn som streng.

Kode:

 Skriv inn navnet på MobileBrands som strengens sluttype 

Trinn 3: Etter navnet sjekker vi lanseringsdatoen. Erklær variabelen som LaunchDate som dato.

Kode:

 Skriv inn MobileBrands navn som streng LaunchDate som dato for sluttdato 

Trinn 4: Den neste tingen er at vi sjekker lagringskapasiteten. Å erklære variabelen som lagring som heltal.

Kode:

 Skriv inn navn på MobileBrands som streng LaunchDate som datalagring som sluttallstype 

Trinn 5: Den neste tingen er at vi sjekker RAM-kapasitet.

Kode:

 Skriv inn navn på MobileBrands som streng LaunchDate som datalagring som RAM som heltall sluttype 

Trinn 6: Endelig sjekker vi om prisen.

Kode:

 Type MobileBrands Navn som streng LaunchDate som dato lagring som helhet RAM som heltall pris så lang sluttype 

Nå i underprosedyren ved å erklære variabelen som Type Name, dvs. MobileBrands, har vi tilgang til alle disse variabeldatatypene.

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.