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 TemplateOk, 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.