• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Listbox hızlı arama

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,676
Excel Vers. ve Dili
Excel 2010 32 bit
Merhaba,
Listbox hızlı arama için bir eğitim videosundan aşağıdaki kodu kendime uyarladım.
burda aramayı "c" sutununda yapıyor. Tek sutunu listbox a alıyor.
İsteğim listbox da "b" ve "d" sutunlarında listede gösterebilmek.

Kod:
Option Explicit
Private Sub TextBox1_Change()
Dim i As Long
Dim arrList As Variant
Dim sonsat As Integer
ListBox1.Clear

sonsat = Sheets("GUNCEL FIYAT").Range("C100000").End(xlUp).Row
If Sheets("GUNCEL FIYAT").Range("C" & sonsat).Row > 1 And Trim(TextBox1.Value) <> "" Then
arrList = Sheets("GUNCEL FIYAT").Range("C2:C" & sonsat).Value

For i = LBound(arrList) To UBound(arrList)
If InStr(1, arrList(i, 1), Trim(TextBox1.Value), vbTextCompare) Then
ListBox1.AddItem arrList(i, 1)

End If
Next
End If
If ListBox1.ListCount = 2 Then ListBox1.Selected(0) = True
End Sub
 
Alternatif;

Biraz daha hızlı arama yapar.

Ayrıca aşağıdaki linkte benzer bi konu var. Alternatif olarak incelenebilir. (Listbox ve LisView örnekler var.)

 

Ekli dosyalar

Alternatif;

Biraz daha hızlı arama yapar.

Ayrıca aşağıdaki linkte benzer bi konu var. Alternatif olarak incelenebilir. (Listbox ve LisView örnekler var.)

Merhabalar Hocam

Yönlendirmeni için teşekkür ederim ilgili konu tam aradığım gibi fakat 20 sutunluk bir veri dizini var elimde

*listbox da 3 sutun değil 20 sutun görünmesini,
*ilk açtığımda da 20 sutunda görünecek arama yapınca aranan metine uygun aramayı bütün sutunlarda yapmasını aranacak metin silinince tekrar bütün listeyi göstermesi,

konularında yardımcı olurmusunuz kodda nereyi değiştirmem gerek onu anlayamadım. Teşekkür ederim.
 
Son düzenleme:
Merhabalar hocam

Bazı Noktaları Çözdüm ama kod arama yapmıyor hata yapıyorum bir yerde aşağıdaki örnek dosya için yardımcı olur musunuz?

Kod:
Private Sub TextBox1_Change()
    Dim S1 As Worksheet, Son As Long, Veri As Variant, X As Long
   
    Set S1 = Sheets("Bilgi")
   
    Son = WorksheetFunction.Max(3, S1.Cells(S1.Rows.Count, 1).End(3).Row)
    Veri = S1.Range("A2:AA" & Son).Value
   
    grv.Clear
   
    ReDim Liste(1 To 6, 1 To 1)
   
    For X = LBound(Veri, 1) To UBound(Veri, 1)
        If Veri(X, 4) Like "*" & TextBox1 & "*" Then
            Say = Say + 1
            ReDim Preserve Liste(1 To 6, 1 To Say)
            Liste(1, Say) = Veri(X, 1)
            Liste(2, Say) = Veri(X, 2)
            Liste(3, Say) = Veri(X, 3)
            Liste(4, Say) = Veri(X, 4)
            Liste(5, Say) = Veri(X, 5)
            Liste(6, Say) = Format(Veri(X, 6), "Standard")
        End If
    Next

    If Say > 0 Then
        grv.ColumnCount = 6
        grv.Column = Liste
        TextBox1.BackColor = &H80000005
        TextBox1.ForeColor = &H80000008
    Else
        TextBox1.BackColor = vbRed
        TextBox1.ForeColor = vbWhite
    End If
   
    Set S1 = Nothing
End Sub
 

Ekli dosyalar

Son düzenleme:
ŞİFRELİ dosyalara nasıl yardımcı olmamızı bekliyorsunuz..
 
Haklısınız kusura bakmayın lütfen orjinal dosya üzerinden yalıtım yaparak dosyayı iletmistim şifreyi unutmuşum o anın stresi ile.
 

Ekli dosyalar

Teşekkür ederim hocam elinize sağlık iyiki varsınız ????
 
Geri
Üst