• DİKKAT

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

userformda listbox ile çoklu aratma ve sonuç görme

Katılım
1 Ocak 2008
Mesajlar
115
Excel Vers. ve Dili
türkçe 2003
Arkadaşlar Merhaba.Formda birçok örnek var ama bir türlü kendi çalışmama uyarlayamadım.Siz değerli ustaların sayasinde işyerimde yükümü hafifleten bir çalışma yaptım.Şimdi eksik kalan süzme işlemi.yapmak istediğim userform üzerinde listboxta çoklu süzme ve sonuçunu görme.Şöyleki ocak ayında 48/5 maddesinden şehir içinde yüzüne kaç adet ceza yazılmış ve toplam tutarını ne kadardır.Yani 2 adet textboxta sonuç tekboxt1de 3 adet textboxt2 de 1440 ytl şeklinde şimdiden teşekkürler........
 
Son düzenleme:
Combobox'lara arama kriterlerinin alıması konusu benden.
Dosya ekte.:cool:
Kod:
Private Sub UserForm_Initialize()
Dim i As Long, a As Long
Sheets("genel").Select
ay = Array("Hepsi", "Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık")
For i = 0 To 12
    ComboBox1.AddItem ay(i)
Next i
ComboBox1.ListIndex = 0
ReDim myarr(1 To 1, 1 To 1)
myarr(1, 1) = "Hepsi"
a = 2
For i = 2 To Cells(65536, "B").End(xlUp).Row
    If WorksheetFunction.CountIf(Range("B2:B" & i), Cells(i, "B").Value) = 1 Then
        ReDim Preserve myarr(1 To 1, 1 To a)
        myarr(1, a) = Cells(i, "B").Value
        a = a + 1
    End If
Next i
If a > 0 Then
    ComboBox2.Column = myarr
    ComboBox2.ListIndex = 0
    a = 0
    Erase myarr
End If
ReDim myarr(1 To 1, 1 To 1)
yer = Array("a", "Hepsi", "ŞEHİRİÇİ", "BÖLGE", "JANDARMA")
For i = 1 To 4
    ComboBox3.AddItem yer(i)
Next i
ComboBox3.ListIndex = 0
yazilis = Array("", "Hepsi", "YÜZÜNE", "PLAKASINA")
For i = 1 To 3
    ComboBox4.AddItem yazilis(i)
Next i
ComboBox4.ListIndex = 0
ReDim myarr(1 To 1, 1 To 1)
myarr(1, 1) = "Hepsi"
a = 2
For i = 2 To Cells(65536, "E").End(xlUp).Row
    If WorksheetFunction.CountIf(Range("E2:E" & i), Cells(i, "E").Value) = 1 Then
        ReDim Preserve myarr(1 To 1, 1 To a)
        myarr(1, a) = Format(Cells(i, "E").Value, "dd.mm.yyyy")
        a = a + 1
    End If
Next i
If a > 0 Then
    ComboBox5.Column = myarr
    ComboBox5.ListIndex = 0
    a = 0
    Erase myarr
End If
ReDim myarr(1 To 1, 1 To 1)
myarr(1, 1) = "Hepsi"
a = 2
For i = 2 To Cells(65536, "F").End(xlUp).Row
    If WorksheetFunction.CountIf(Range("E2:E" & i), Cells(i, "E").Value) = 1 Then
        ReDim Preserve myarr(1 To 1, 1 To a)
        myarr(1, a) = Format(Cells(i, "F").Value, "#,##0.00")
        a = a + 1
    End If
Next i
If a > 0 Then
    ComboBox6.Column = myarr
    ComboBox6.ListIndex = 0
    a = 0
    Erase myarr
End If

End Sub
 
hocam teşekkürler ama aramayı ve listelemeyi nasıl yapacagım
 
Son düzenleme:
sayın hocalarım yardımlarınızı bekliyorum....
 
Son düzenleme:
Selamlar,

Ekteki örnek dosyayı incelermisiniz.

Formunuza LİSTE 1 ve LİSTE 2 isimli iki buton ekledim. Birinci buton ÖZET isimli sayfayı kullanarak filtreleme ve görüntüleme işlemini çok hızlı bir şekilde yapıyor. Özellikle veri sayınız arttığında bu butonun hızını farkedebilirsiniz.

İkinci buton ise döngü yöntemi ile filtreleme ve görüntüleme işlemini yapıyor. Veri sayınız arttıkça bu buton işlemi daha uzun sürede yapacaktır.
 
hocam çok teşekkür ederim istediğim gibi olmuş.ama biraz karmaşık sanırım bunları listboxta değilde listview de yapmam mümkünmü?
 
Selamlar,

Çözümünüzü listbox ile istediğiniz için bizde bu şekilde yardımcı olduk. Neresi karışık geldi. Açıklarsanız yardımcı olabiliriz.
 
yoo hocam sakın yanlış anlamayın çözümünüz mükemmen tama istediğim gibi oldu.sadece listviewde daha basit olabilirmi anlamında sormuştum?
 
Selamlar,

ListView ile kodlama biraz daha karmaşıktır. En basiti ve en çok kullanılanı ListBox ile yapılan çözümlemelerdir. ListView biraz daha görsellik kattığı için tercih edilmektedir.
 
Hocam teşekkürler.
 
Geri
Üst