Selamlar userformda listboxta arama yaptırmak için aşağıdaki kodu yazıyorum
Bir harfe basınca Listboxtaki veriler kayboluyor ama sonuç bulmuyor
Sorunun 2 sütunlu bir listboxta arama yapılmasında kaynaklandığını düşünüyorum çünkü listbox ımı 2 sütün gösterir biçime getirdiğimde kod çalışıyor ama bana tek sütun gerekli Sadece C sütunundaki veriler var listboxta
Bir kaç denem yaptım ama işin mantığını bilmeyince copy paste bu kadar oluyor Sizden ricam tek sütun için Buradaki kodda hangi değişikliği yapmak gerekiyor. Eğer Zamanınız varsa kısaca her satırın e demek istediğini yazabilirmisiniz.
Örn. kodun 4. satırı için "Eğer Textbox9 boş ise" gibi
Bir harfe basınca Listboxtaki veriler kayboluyor ama sonuç bulmuyor
Sorunun 2 sütunlu bir listboxta arama yapılmasında kaynaklandığını düşünüyorum çünkü listbox ımı 2 sütün gösterir biçime getirdiğimde kod çalışıyor ama bana tek sütun gerekli Sadece C sütunundaki veriler var listboxta
Bir kaç denem yaptım ama işin mantığını bilmeyince copy paste bu kadar oluyor Sizden ricam tek sütun için Buradaki kodda hangi değişikliği yapmak gerekiyor. Eğer Zamanınız varsa kısaca her satırın e demek istediğini yazabilirmisiniz.
Örn. kodun 4. satırı için "Eğer Textbox9 boş ise" gibi
Kod:
Private Sub TextBox9_Change()
Dim k As Range, adrs As String, j As Byte, a As Long
ReDim myarr(1 To 2, 1 To 1)
If TextBox9.Text = "" Then
ListBox1.RowSource = "Arsiv!C2:C" & Sheets("Arsiv").[A65536].End(xlUp).Row
Exit Sub
End If
With Worksheets("Arsiv")
ListBox1.RowSource = ""
If .FilterMode Then .ShowAllData
Set k = .Range("C2:C65536").Find(TextBox9.Text & "*", , xlValues, xlWhole)
If Not k Is Nothing Then
adrs = k.Address
Do
a = a + 1
ReDim Preserve myarr(1 To 2, 1 To a)
For j = 1 To 2
myarr(j, a) = .Cells(k.Row, j + 1).Value
Next j
Set k = Range("C2:C65536").FindNext(k)
Loop While Not k Is Nothing And k.Address <> adrs
ListBox1.Column = myarr
End If
End With
End Sub