Vyhlásenie typu VBA (príklad) Ako deklarovať premenné pomocou typu VBA?

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 VBA

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