Makale Type (Kullanıcı Tanımlı Türler)

Bu Makale Yararlı Oldu mu?

  • Evet

  • Hayır


Sonuçlar yalnızca oylamadan sonra görülebilir.

Murat OSMA

Yönetici
Site Yöneticisi
Katılım
25 May 2018
Mesajlar
1,307
En iyi yanıt
10
Puanları
113
Konum
İstanbul
Web sitesi
excelarsivi.com
Ad Soyad
Murat OSMA
Office Versiyon
Office 365 TR+EN
Kullanıcı tanımlı özel bir tür (veya veri yapısı), birden fazla yerleşik veri tipini temsil edebilen tek bir veri tipi oluşturmanızı sağlar.
Varsayılan değer, tek tek elemanların varsayılan değeridir
Type ifadesini kullanarak kullanıcı tanımlı bir tür oluşturursunuz.
Bu bir tür; değişkenlerin (veya alanların) bir koleksiyonudur.
Birden çok veri türünü tek bir veri türünde birleştirir.

Örnek Kullanım
PHP:
Type Ttipadi
   Alan1 As String
   Alan2 As Integer
   Alan3 As Boolean
End Type
Bu, tüm alanlara erişmek için tek bir değişken tanımlamanıza izin verir.
Herhangi bir prosedür veya fonksiyondan önce kullanıcı tanımlı veri tiplerini modüllerinizin en üst kısmında dışarıda tanımlarız.
Sonra prosedür içerisinde bu özel türü bildirmek için bu şekilde Dim deyimini kullanırız.
PHP:
Dim yeni As Ttipadi
yeni.Alan1 = "Excel Turkey"
yeni.Alan2 = 24
yeni.Alan3 = False

Bu özel veri türü bir Collection nesnesini kullanmaktan çok daha verimlidir.
Kullanıcı tanımlı türlerin diğer veri türlerinden görsel olarak ayırt edilmesi önemlidir.
Bu nedenle her zaman bir büyük harf T ile öneklenmelidir.
Bir özel türler değişken değildir ve hafızada herhangi bir yer kaplamamaktadır.

Şimdi başka bir örnek daha verelim..
PHP:
Type Tveriler
    il As String
    plaka As Byte
    tutar As Double
End Type

Sub ExcelTurkey()
    Dim deg As Tveriler
    deg.il = "İstanbul"
    deg.plaka = 34
    deg.tutar = 1453.29
End Sub

deg yazıp nokta koyduktan sonra tür içinde belirttiğimiz üyelerin bir listesi karşımıza gelir, oradan seçim yapıp içerisine veri ataması yapılır.

type-min.png

Enum'da olduğu gibi F2'ye basıp Kütüphanede Tveriler yazıp aradığınızda bu özel tür (sınıf) ile ilgili üyeleri ve belirtilen veri türlerini görebilirsiniz.

typemember-min.png

Farklı bir örnek ve dosya ile birlikte konuyu kapatalım.
A sütununda İl Adı, Kişi Adı, Adres, Telefon bilgilerinin alt alta yazıldığını düşünün.
Bu veriler içerisinde İl adına bağlı kaç kişi var ise, onları yan sütunda alt alta liste olarak kaydedelim.
Ek'teki örnek dosyayı bu konu için ekliyorum. İndirip inceleyebilrsiniz.
İçerinde ne var derseniz gif resme bakabilirsiniz.

type.gif

Bu çözüm için kullandığımız kodlar bunlar.. [SUP]Elbette farklı bir yöntemle de yapabilirdik.[/SUP]
PHP:
Private Type Tmemleket
    iller As String
End Type
Sub Emre()
    Dim i%, a%, Evn As Tmemleket
    For i = 1 To Range("A65536").End(3).Row
        If Cells(i, "A").Font.ColorIndex = 3 Then
            Evn.iller = Cells(i, "A").Value
        ElseIf Cells(i, "A").Font.Bold = True Then
            a = a + 1
            Cells(a, 3) = Evn.iller
            Cells(a, 4) = Cells(i, "A")
            Cells(a, 5) = Cells(i + 1, "A")
            Cells(a, 6) = Cells(i + 2, "A")
        End If
    Next i
    iller = "": i = Empty: a = Empty
End Sub

Örnek dosyayı da ekliyorum.
 

Ekli dosyalar

  • Type Kullanarak Satırları Sütunlara Çevirmek.rar
    13 KB · Görüntüleme: 3
Üst Alt