- Katılım
- 25 May 2018
- Mesajlar
- 1,608
- En iyi yanıt
- 14
- Puanları
- 113
- Konum
- İstanbul
- Web sitesi
- excelarsivi.com
- Ad Soyad
- Murat OSMA
- Office Vers.
- 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
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.
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..
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.
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.
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.
Bu çözüm için kullandığımız kodlar bunlar.. [SUP]Elbette farklı bir yöntemle de yapabilirdik.[/SUP]
Örnek dosyayı da ekliyorum.
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
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.
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.
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.
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.