Typ je príkaz vo VBA, ktorý sa používa na definovanie premenných podobných funkcii DIM. Používa sa na úrovni definovanej používateľom, kde máme v premennej jednu alebo viac hodnôt, pre príkaz typu existujú dve nomenklatúry, ktoré sú verejné alebo súkromné. tieto sú voliteľné, ale sú potrebné názov premennej a názov prvku.
Čo je vyhlásenie o type v programe Excel VBA?
Príkaz typu VBA sa používa na definovanie premenných pod jedným názvom skupiny a každej premennej sú priradené rôzne typy údajov. To nám pomáha zoskupiť viac premenných pod jeden objekt, aby sme ich mohli použiť pod definovaným názvom typu.
Deklarovaním príkazu Type sa môžeme vyhnúť použitiu modulov Class vo VBA. Nepotrebuje žiadne reťazcové moduly, pretože sa dá zabudovať do už existujúcich modulov, čo nám ušetrí miesto.
V jednom z predchádzajúcich článkov sme sa zaoberali témou „VBA ENUM“ na zoskupenie všetkých premenných pod jedným názvom skupiny.
Napríklad ak máte názov skupiny s názvom „Mobily“, máme členov skupiny ako „Redmi, Oppo, Vivo, Samsung, LG atď.“. Takže vyhlásenie Enum môžeme zoskupiť spolu s ich príslušnými hodnotami.
Enum Mobily
Redmi = 12000
Oppo = 18000
Vivo = 18000
Samsung = 25 000
LG = 15000
End Enum
Takto sme v uvedenom článku vytvorili výčty. Problém s príkazom Enum, pretože môže obsahovať iba DLHÝ údajový typ. Na zoskupenie premenných s rôznymi dátovými typmi môžeme použiť „Príkaz VBA TYPE“. V tomto článku si ukážeme, ako zostaviť príkaz Type vo VBA. Pokračuj v čítaní…
Syntax
Pred deklarovaním premenných pomocou príkazu Type sa pozrite na syntax:
Typ Názov skupiny [Premenná 1] ako premenný dátový typ [Premenná 2] ako premenný dátový typ [Premenná 3] ako premenný dátový typ [Premenná 4] ako premenný dátový typ [Premenná 5] ako premenný dátový typ Koncový typ
Tieto typy výpisov je možné deklarovať v rámci modulu aj na jeho vrchnej časti, ako sú napríklad naše globálne premenné vo formáte VBA.
Typ VBA môže obsahovať premenné objektov, môže obsahovať polia. Nemôže však obsahovať postupy, funkcie.
Príklad výpisu typu vo VBA
Túto šablónu vyhlásenia o type VBA si môžete stiahnuť tu - Šablóna vyhlásenia o type VBADobre, začnime proces deklarovania premenných príkazom Type. Uvidíme rovnaký príklad deklarovania značiek pre mobilné zariadenia, ako sme ich použili vo VBA Enum.
Krok 1: V hornej časti modulu začnite slovo „Type“ a pomenujte Type of group.
Kód:
Typ Koniec typu MobileBrands
Krok 2: V prípade značiek pre mobilné zariadenia sú to, čo zvyčajne vidíme. Najprv vidíme názov, takže deklarujeme premennú ako názov ako reťazec.
Kód:
Zadajte názov MobileBrands ako typ konca reťazca
Krok 3: Za menom skontrolujeme dátum spustenia. Deklarujte premennú ako LaunchDate ako dátum.
Kód:
Zadajte názov MobileBrands ako reťazec LaunchDate As Date End Type
Krok 4: Ďalšou vecou je kontrola úložnej kapacity. Deklarovať premennú ako Úložisko ako Celé číslo.
Kód:
Zadajte názov MobileBrands ako reťazec LaunchDate ako dátum ukladania ako celočíselný koniec
Krok 5: Ďalšou vecou je kontrola kapacity RAM.
Kód:
Zadajte názov MobileBrands ako reťazec LaunchDate ako dátum ukladania ako RAM ako celé číslo Typ konca
Krok 6: Nakoniec skontrolujeme cenu.
Kód:
Zadajte názov MobileBrands ako reťazec LaunchDate ako dátum ukladania ako celé číslo RAM ako celé číslo Cena ako typ dlhého konca
Teraz v podprograme deklarovaním premennej ako Type Type, tj. MobileBrands, máme prístup ku všetkým týmto dátovým typom premenných.
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.