VBA Tip Bildirimi (Örnek) | VBA Türü ile Değişkenler Nasıl Bildirilir?

Tür, DIM işlevine benzer değişkenleri tanımlamak için kullanılan VBA'daki bir deyimdir, bir değişkende bir veya daha fazla değere sahip olduğumuz kullanıcı tanımlı düzeyde kullanılır, ancak genel veya özel olan tür ifadesi için iki isimlendirme vardır. bunların kullanımı isteğe bağlıdır, ancak değişken adı ve öğe adı gereklidir.

Excel VBA'da Tür Bildirimi nedir?

VBA Type Statement, her değişkene farklı veri türleri atanmış tek bir grup adı altında değişkenleri tanımlamak için kullanılır. Bu, tanımlı tür adı altında kullanmak için birden çok değişkeni tek bir nesne altında gruplamamıza yardımcı olur.

Type deyimini bildirerek, VBA'da Sınıf modüllerini kullanmaktan kaçınabiliriz. Herhangi bir dizi modülüne ihtiyaç duymaz çünkü zaten var olan modüllere gömülebilir ve bu da bize yer kazandırabilir.

Önceki makalelerden birinde, tüm değişkenleri tek grup adı altında gruplamak için "VBA ENUM" u tartıştık.

Örneğin, "Mobil" adlı bir grup adınız varsa, "Redmi, Oppo, Vivo, Samsung, LG vb." Gibi grup üyelerimiz var. Yani Enum beyanı, ilgili değerleriyle birlikte gruplayabiliriz.

Enum Mobiles

Redmi = 12000

Oppo = 18000

Vivo = 18000

Samsung = 25000

LG = 15000

Numarayı Sonlandır

Bunun gibi biz de o yazıda numaralandırma oluşturduk. Yalnızca UZUN bir veri türünü tutabildiğinden Enum ifadesiyle ilgili sorun. Farklı veri tiplerine sahip değişkenleri bir arada gruplandırmak için “VBA TYPE Statement” kullanabiliriz. Bu makalede, VBA'da bir Type ifadesinin nasıl oluşturulacağını göstereceğiz. Okumaya devam etmek…

Sözdizimi

Type deyimini kullanarak değişkenleri bildirmeden önce sözdizimine bir göz atın:

Tip Grup Adı             [Değişken 1] Değişken Veri Türü olarak             [Değişken 2] Değişken Veri Türü olarak             [Değişken 3] Değişken Veri Türü olarak             [Değişken 4] Değişken Veri Türü olarak             [Değişken 5] Değişken Veri Türü olarak Bitiş Türü

Bu tür ifadeler, VBA'daki Global Değişkenlerimiz gibi modülün içinde olduğu kadar modülün üstünde de bildirilebilir.

VBA Tipi nesne değişkenlerini tutabilir, dizileri tutabilir. Ancak prosedürler, işlevler içeremez.

VBA'da Tip İfadesi Örneği

Bu VBA Type Statement Template buradan indirebilirsiniz - VBA Type Statement Template

Tamam, değişkenleri Type ifadesiyle bildirme işlemine başlayalım. VBA Enum'da kullandığımız gibi Mobil markaları ilan etmenin aynı örneğini göreceğiz.

Adım 1: Modülün üst kısmında “Type” kelimesini başlatın ve Type of group'a bir isim verin.

Kod:

 Tip MobileBrands Uç Tipi 

2. Adım: Mobil Markalarda genellikle gördüğümüz şeyler nelerdir. Önce Ad'ı görüyoruz, bu nedenle değişkeni Dize olarak Ad olarak bildirin.

Kod:

 Dize Sonu Türü Olarak MobileBrands Adını yazın 

Adım 3: İsimden sonra Lansman tarihini kontrol ediyoruz. Değişkeni Tarih olarak BaşlatmaTarihi olarak bildirin.

Kod:

 MobileBrands Adını Dize Olarak Başlatma Tarihi As Tarih Bitiş Türü yazın 

Adım 4: Sonraki şey, Depolama kapasitesini kontrol etmektir. Değişkeni Depolama olarak Tamsayı olarak bildirmek için.

Kod:

 MobileBrands Adını Dize Olarak Başlatın Tarih Olarak Depolama Tamsayı Bitiş Türü Olarak 

Adım 5: Sonraki şey, RAM kapasitesini kontrol etmemiz.

Kod:

 Tip MobileBrands Adı Dize Olarak Başlatma Tarihi As Tarih Depolama Olarak RAM Olarak Tamsayı Bitiş Türü 

Adım 6: Sonunda Fiyatı kontrol ediyoruz.

Kod:

 Type MobileBrands Adı As String LaunchDate As Date Storage As Integer RAM As Integer Price As Long End Type 

Şimdi Alt Prosedürde değişkeni Tür Adı yani MobileBrands olarak bildirerek tüm bu değişken veri türlerine erişebiliriz.

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.