VBA típusú nyilatkozat (példa) | Hogyan deklarálhatók VBA típusú változók?

A Type egy olyan utasítás a VBA-ban, amelyet a DIM függvényhez hasonló változók definiálására használnak, a felhasználó által definiált szinten, ahol egy vagy több érték van egy változóban, két nómenklatúra létezik a type utasításhoz, amely nyilvános vagy privát, azonban ezek használata nem kötelező, de a változó neve és az elem neve kötelező.

Mi az a típusú utasítás az Excel VBA-ban?

A VBA Type Statement segítségével a változókat egyetlen csoportnév alatt definiálhatjuk, az egyes változókhoz különböző adattípusokat rendelve. Ez segít abban, hogy több változót egyetlen objektum alá csoportosítsunk, hogy a megadott típusú név alatt felhasználhassuk őket.

A Type utasítás deklarálásával elkerülhetjük a Class modulok használatát a VBA-ban. Nincs szüksége string modulokra, mert beágyazható már meglévő modulokba, ami helyet takaríthat meg nekünk.

A korábbi cikkek egyikében megvitattuk a „VBA ENUM” -t, hogy az összes változót egyetlen csoportnév alatt csoportosítsuk.

Például, ha van egy „Mobiles” nevű csoportnév, akkor vannak olyan csoporttagjaink, mint a „Redmi, Oppo, Vivo, Samsung, LG és stb.”. Tehát az Enum állítása szerint csoportosíthatjuk a megfelelő értékekkel.

Enum Mobiles

Redmi = 12000

Oppo = 18000

Vivo = 18000

Samsung = 25000

LG = 15000

Vége Enum

Így felsorolásokat hoztunk létre abban a cikkben. Az Enum utasítással kapcsolatos probléma, mivel csak HOSSZOS adattípust tartalmazhat. A különböző adattípusú változók csoportosítása érdekében használhatjuk a „VBA TYPE utasítás” -t. Ebben a cikkben megmutatjuk, hogyan lehet egy Type utasítást szerkeszteni a VBA-ban. Olvass tovább…

Szintaxis

Mielőtt deklarálja a változókat a Type utasítás használatával, nézze meg a szintaxist:

Típus Csoport neve             [1. változó] mint változó adattípus             [2. változó] mint változó adattípus             [3. változó] mint változó adattípus             [4. változó] mint változó adattípus             [5. változó] mint változó adattípus. Végtípus

Az ilyen típusú utasítások deklarálhatók a modulon belül, valamint a modul tetején, mint például a VBA globális változóink.

A VBA Type tartalmazhat objektumváltozókat, tömböket. Nem tartalmazhat azonban eljárásokat, funkciókat.

Típus nyilatkozat példa a VBA-ban

Ezt a VBA típusú nyilatkozat sablont innen töltheti le - VBA típusú nyilatkozat sablont

Ok, kezdjük el a változók deklarálásának folyamatát a Type utasítással. Ugyanazt a példát fogjuk látni a mobil márkák deklarálására, mint ahogyan azt a VBA Enumban használtuk.

1. lépés: A modul tetején kezdje el a „Type” szót, és adjon nevet a Type Type csoportnak.

Kód:

 Type MobileBrands End Type 

2. lépés: A Mobile Brands alkalmazásban mik azok a dolgok, amelyeket általában látunk. Először látjuk a Név nevet, ezért deklaráljuk a változót Névként Stringnek.

Kód:

 Írja be a MobileBrands Name karakterlánc végének típusát 

3. lépés: A név után ellenőrizzük az indítás dátumát. Nyújtsa be a változót LaunchDate néven Dátumként.

Kód:

 Írja be a MobileBrands nevét karakterláncként LaunchDate mint dátum vége típus 

4. lépés: A következő dolog az, hogy ellenőrizzük a tárolókapacitást. A változó tárolásként egész számként való deklarálása.

Kód:

 Írja be a MobileBrands nevét karakterláncként Indítás dátuma dátumként tárolja egész számként 

5. lépés: A következő dolog a RAM-kapacitás ellenőrzése.

Kód:

 Írja be a MobileBrands nevét karakterláncként Indítás dátuma, mint dátum tárolása, mint RAM, mint egész vég típusa 

6. lépés: Végül ellenőrizzük az árat.

Kód:

 Írja be a MobileBrands nevét karakterláncként Indítás dátuma, mint dátum tárolása egész RAMként, egész számként, mint hosszú vég típus 

A Sub eljárásban a változó Type Name azaz MobileBrands néven történő deklarálásával elérhetjük ezeket a változó adattípusokat.

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.