Merhabalar Userform üzerinde 1 ad listbox ve 2 ad textbox bulunmaktadır.Excel sayfasından Listboxa 45 sutunluk veri çekiyorum.Textboxtlara girdiğim değerlere göre ilgili sütünlarda arama yapmak istemekteyim.
Forumdan bulduğum kodlara göre Textbox 1 ve Textbox 2 içerisine yazdığım değere göre arama yaparken textbox 1 sonuçları doğru gelmekte fakat textbox 2 değerine veri girdiğimde sonuçlar kaybolup textbox 2 sonuçları gelmektedir.
Textbox 1 ve 2 içerisine yazılan verilere göre tek sonuç elde etmek için yardımlarınızı rica ederim.
Listboxa veriyi bu şekilde çekmekteyim.
Private Sub UserForm_Initialize()
ListBox1.ColumnCount = 45 'sütun sayısı
ListBox1.RowSource = "A3:AS" & Cells(65536, "A").End(3).Row
End Sub
Textbox süzme işlemini bu şekilde yapmaktayım.
Private Sub TextBox16_Change()
Dim k As Range, a As Long, j As Byte, ilk_adres As String
ListBox1.RowSource = vbNullString
ReDim myarr(1 To 45, 1 To 1)
Set k = Range("b2:b65536").Find(TextBox16.Text & "*", , xlValues, xlWhole)
If Not k Is Nothing Then
ilk_adres = k.Address
Do
a = a + 1
ReDim Preserve myarr(1 To 45, 1 To a)
For j = 0 To 44
myarr(j + 1, a) = k.Offset(0, j - 1).Value
Next j
Set k = Range("b2:b65536").FindNext(k)
Loop While k.Address <> ilk_adres And Not k Is Nothing
ListBox1.Column = myarr
End If
End Sub
Forumdan bulduğum kodlara göre Textbox 1 ve Textbox 2 içerisine yazdığım değere göre arama yaparken textbox 1 sonuçları doğru gelmekte fakat textbox 2 değerine veri girdiğimde sonuçlar kaybolup textbox 2 sonuçları gelmektedir.
Textbox 1 ve 2 içerisine yazılan verilere göre tek sonuç elde etmek için yardımlarınızı rica ederim.
Listboxa veriyi bu şekilde çekmekteyim.
Private Sub UserForm_Initialize()
ListBox1.ColumnCount = 45 'sütun sayısı
ListBox1.RowSource = "A3:AS" & Cells(65536, "A").End(3).Row
End Sub
Textbox süzme işlemini bu şekilde yapmaktayım.
Private Sub TextBox16_Change()
Dim k As Range, a As Long, j As Byte, ilk_adres As String
ListBox1.RowSource = vbNullString
ReDim myarr(1 To 45, 1 To 1)
Set k = Range("b2:b65536").Find(TextBox16.Text & "*", , xlValues, xlWhole)
If Not k Is Nothing Then
ilk_adres = k.Address
Do
a = a + 1
ReDim Preserve myarr(1 To 45, 1 To a)
For j = 0 To 44
myarr(j + 1, a) = k.Offset(0, j - 1).Value
Next j
Set k = Range("b2:b65536").FindNext(k)
Loop While k.Address <> ilk_adres And Not k Is Nothing
ListBox1.Column = myarr
End If
End Sub