Yetersiz Listeleme ve Kod Açıklaması

Katılım
1 Mart 2007
Mesajlar
94
Excel Vers. ve Dili
Excel 2010 Eng
Merhabalar;

Ekteki dosyada textboxa girilen veriye göre sheet2 A sütunundan arama yapılmakta ve sheet1 içindeki listbox1 e iki sütun halinde listelenmekte. Fakat arama sadece ilk harf üzerinden yapılıyor. Yani textbox içine yazdığım veriye bakıp hangi hücrenin içinde o veri geçiyorsa listboxa listeleme yapmıyor.
Hücrenin içeriğinede bakacak şekilde aşağıdaki kodda hangi değişiklikleri yapmam lazım.

Not: Aşağıdaki kodun nasıl çalıştığını bir türlü çözemedim. Dinamik dizilerle yapılmış galiba sitede bu konuyu çok kolay anlayacağım bir makale varmıdır ben bulamadımda.

Kod:
Private Sub TextBox1_Change()
Set sf = Sheets("aranacak")
ListBox1.Clear
ListBox1.ColumnCount = 2
ReDim fdl(1 To 2, 1 To 1)
a = a + 1
ReDim Preserve fdl(1 To 2, 1 To a)
For k = 1 To 2
fdl(k, a) = sf.Cells(1, k)
Next k
For i = 2 To sf.Cells(65536, "B").End(xlUp).Row
deg1 = UCase(Replace(Replace(sf.Cells(i, 1), "ı", "I"), "i", "İ"))
deg2 = UCase(Replace(Replace(TextBox1, "ı", "I"), "i", "İ"))
If deg2 = Left(deg1, Len(deg2)) Then
a = a + 1
ReDim Preserve fdl(1 To 2, 1 To a)
For k = 1 To 2
fdl(k, a) = sf.Cells(i, k)
Next k
End If
Next i
If a > 0 Then ListBox1.Column = fdl
Erase fdl
End Sub
Teşekkürler.
 

Ekli dosyalar

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
İlgili kodu aşağıdaki ile değiştiriniz.:cool:
Kod:
If deg1 Like "*" & deg1 & "*" Then
 
Katılım
1 Mart 2007
Mesajlar
94
Excel Vers. ve Dili
Excel 2010 Eng
Ya valla çok teşekkür ederim Evren Bey. Kodun mantığını çözemediğimden hiç değişiklik yapamadım.

Kod:
If deg1 Like "*" & deg2 & "*" Then
dediğiniz gibi yukarıdaki kodu ekledim herşey mükemmel:))

redim preverseyi biraz çözüyor gibiyim ama tam oturmadı.
Bununla ile ilgili bir makale bulamadım siteden. İnternetten bulduklarımda pek açıklayıcı olmadı şöyle ilkokul düzeyinde resimli falan :biggrin: bir tane olsa eminim bir çok kişi için faydalı olur.

Tekrar teşekkürler.
 
Üst