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