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