Izjava o tipu VBA (primjer) | Kako prijaviti varijable s VBA tipom?

Tip je izraz u VBA koji se koristi za definiranje varijabli sličnih funkciji DIM, koristi se na korisnički definiranoj razini kada imamo jednu ili više vrijednosti u varijabli, postoje dvije nomenklature za izjavu tipa koja je javna ili privatna oni se ne moraju koristiti, ali su potrebni naziv varijable i ime elementa.

Što je izjava o tipu u programu Excel VBA?

Izjava o tipu VBA koristi se za definiranje varijabli pod jednim imenom grupe s različitim tipovima podataka dodijeljenim svakoj varijabli. To nam pomaže da grupiramo više varijabli pod jedan objekt da bismo ih koristili pod definiranim imenom tipa.

Deklaracijom izjave Type možemo izbjeći upotrebu modula klase u VBA. Ne trebaju moduli niza jer se mogu ugraditi u već postojeće module što nam može uštedjeti prostor.

U jednom od ranijih članaka raspravljali smo o „VBA ENUM-u“ kako bismo grupirali sve varijable pod jednim imenom grupe.

Na primjer, ako imate naziv grupe pod nazivom „Mobiles“, imamo članove grupe kao što su „Redmi, Oppo, Vivo, Samsung, LG i sl.“. Tako da izjava Enum možemo grupirati zajedno s njihovim vrijednostima.

Mobiteli Enum

Redmi = 12000

Oppo = 18000

Vivo = 18000

Samsung = 25000

LG = 15000

Kraj Enum

Ovako, stvorili smo nabrajanja u tom članku. Problem s izjavom Enum jer može sadržavati samo LONG tip podataka. Kako bismo grupirali varijable s različitim vrstama podataka, možemo koristiti “Izjavu VBA TIP”. U ovom ćemo vam članku pokazati kako izraditi izjavu Type u VBA. Nastavi čitati…

Sintaksa

Prije nego što deklarirate varijable pomoću naredbe Type, pogledajte sintaksu:

Upišite naziv grupe             [Variable 1] kao varijabilni tip podataka             [Variable 2] kao varijabilni tip podataka             [Variable 3] kao varijabilni tip podataka             [Variable 4] kao varijabilni tip podataka             [Variable 5] kao Variable Data type End type

Te se vrste izjava mogu deklarirati unutar modula, kao i na vrhu modula, poput naših globalnih varijabli u VBA.

VBA vrsta može sadržavati varijable objekta, može sadržavati nizove. Međutim, ne može sadržavati postupke i funkcije.

Primjer izjave o tipu u VBA

Ovaj VBA obrazac izjave za tip možete preuzeti ovdje - VBA predložak izjave o tipu

Ok, započnimo proces deklariranja varijabli s naredbom Type. Vidjet ćemo isti primjer deklariranja mobilnih marki poput onoga kako smo koristili u VBA Enum.

Korak 1: Na vrhu modula započnite riječ "Type" i dajte ime Tipu grupe.

Kodirati:

 Upišite završni tip MobileBrands 

Korak 2: Što u mobilnim robnim markama obično vidimo. Prvo vidimo Name, pa varijablu proglasite Name kao String.

Kodirati:

 Upišite naziv MobileBrands kao vrstu završetka niza 

Korak 3: Nakon imena, provjeravamo datum pokretanja. Deklarirajte varijablu kao LaunchDate kao datum.

Kodirati:

 Upišite naziv MobileBrands kao niz LaunchDate Kao datum završetka 

Korak 4: Sljedeća stvar je provjera kapaciteta pohrane. Proglasiti varijablu kao Pohrana kao cijelo.

Kodirati:

 Upišite naziv MobileBrands kao niz LaunchDate Kao datum pohrane kao cijelu vrstu završetka 

Korak 5: Sljedeća stvar je provjera kapaciteta RAM-a.

Kodirati:

 Tip MobileBrands ime kao niz LaunchDate kao datum Pohrana kao RAM kao cjeloviti kraj 

Korak 6: Napokon provjeravamo cijenu.

Kodirati:

 Upišite naziv MobileBrands kao niz LaunchDate Kao datum Pohrana Kao cijelo RAM kao cijelu cijenu kao Long End Tip 

Sada u potpostupku deklariranjem varijable kao naziva tipa, tj. MobileBrands, možemo pristupiti svim tim vrstama podataka varijabli.

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.