TextBox Change Olayı ile ListBoxa Farklı Sütunlardan Veriler Çekmek

antonio

Destek Ekibi
Destek Ekibi
Katılım
13 Şubat 2011
Mesajlar
1,163
Excel Vers. ve Dili
Microsoft Office Professional Plus 2013 Türkçe
Forumda ve bende bu konuda sayısız örnek var. Ancak eminim benim gibi çok sayıda insan da hala bu kodların anlamını çözememiştir. Neyi istediğimi eklediğim örnek dosyada net bir şekilde açıkladım. Özetle istediğim: Özellikle redim myarray() ve redim preserve myarray() içine yazılan 1 to 5, 1 to a şeklinde ki ifadeler de Listbox1 de ki sütunlar mı, yoksa Çalışma sayfasında verilerin arandığı sütunlar mı esas alınıyor, kod yanına açıklamalı örneklerle hiç bir kafa karışıklığı bırakmadan bana bu kodu örnekle açıklarsanız minnettar kalırım. Bu tarz arama kodu çok kullanışlı ama hep deneme yanılma ile rastgele kullanıyorum. Bunu çözmek için, çalışma sayfasında ki veri sıralamasıyla listboxa alınacak sıralamada biraz değişiklik yaptım. Çalışma sayfasında önce ad soyad, sonraki kolonda TC Kimlik no yer alıyor. oysa Listbox1 de bunun tersi şekilde sıralanmasını istiyorum. Ayrıca, Listbox1 e şimdiye kadar Sayfada ki yan yana kolonları rowsource ile kaynak göstermeyi anladım. ama diyelim ki (sıralamaya dikkat!) 3, 2, 7, 8, 9. kolonları nasıl varsayılan kaynak gösterebiliriz? Önceden teşekkürler.. Lütfen açıklamalar uzun ve ayrıntılı olsun.
 

Ekli dosyalar

antonio

Destek Ekibi
Destek Ekibi
Katılım
13 Şubat 2011
Mesajlar
1,163
Excel Vers. ve Dili
Microsoft Office Professional Plus 2013 Türkçe
Arkadaşlar bu konuyu çok önemsiyorum. Yeni konuların arasında unutulmayacağını umarım.
 

antonio

Destek Ekibi
Destek Ekibi
Katılım
13 Şubat 2011
Mesajlar
1,163
Excel Vers. ve Dili
Microsoft Office Professional Plus 2013 Türkçe
5 gündür bir cevap yazan çıkmadı.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,124
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Aşağıdaki kodu deneyiniz.

Kod:
Private Sub UserForm_Initialize()
    Rem Listbox nesnesinin sütun sayısını ayarlıyoruz.
    ListBox1.ColumnCount = 5
    Rem Dizi değişkenine kaç sütun yüklemek istediğimizi belirliyoruz.
    ReDim Dizi(1 To 5, 1 To 1)
    Rem Sayfadaki en son dolu satır değerini değişkene atıyoruz.
    Satir = Cells(Rows.Count, 1).End(3).Row
    Rem X adından bir döngü başlatıyoruz. Burada sayfadaki verileri döngüye alıyoruz.
    Rem Döngümüz 3. satırdan başlayıp son dolu satıra kadar devam edecek.
    For X = 3 To Satir
        Rem Kullandığımız dizi dinamik bir dizi olacak. Bu sebeple artan bir değişken oluşturuyoruz.
        Rem Değer arttıkça diziye yüklenen eleman sayısıda artacak.
        Say = Say + 1
        Rem Dizimizi yeniden boyutlandırıyoruz. 5 sütunlu ve satır sayısı değişken bir dizi tanımlıyoruz.
        Rem Say değişkeni döngü başladığında 1 değerini alacaktır.
        ReDim Preserve Dizi(1 To 5, 1 To Say)
        Rem Dizimizin 1. satır ve 1. sütununa eleman yüklüyoruz.
        Dizi(1, Say) = Cells(X, 3)
        Rem Dizimizin 1. satır ve 2. sütununa eleman yüklüyoruz.
        Dizi(2, Say) = Cells(X, 2)
        Rem Dizimizin 1. satır ve 3. sütununa eleman yüklüyoruz.
        Dizi(3, Say) = Cells(X, 7)
        Rem Dizimizin 1. satır ve 4. sütununa eleman yüklüyoruz.
        Dizi(4, Say) = Cells(X, 8)
        Rem Dizimizin 1. satır ve 5. sütununa eleman yüklüyoruz.
        Dizi(5, Say) = Cells(X, 9)
        Rem Döngümüz son satıra kadar bu şekilde devam edecektir.
    Next
    
    Rem Son aşamada Say değişkenini ulaştığı değeri sorgulayarak oluşan dizimizi Listbox nesnesine yüklüyoruz.
    If Say > 0 Then ListBox1.Column = Dizi
End Sub
 
Katılım
3 Ekim 2013
Mesajlar
39
Excel Vers. ve Dili
Excel 2007 Türkçe
Allah razı olsun Korhan bey..8 saattir, bu kadar az ve öz anlatım bulamadım forumda.
 
Üst