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:

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
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
 
Katılım
1 Ocak 2008
Mesajlar
115
Excel Vers. ve Dili
türkçe 2003
hocam teşekkürler ama aramayı ve listelemeyi nasıl yapacagım
 
Son düzenleme:
Katılım
1 Ocak 2008
Mesajlar
115
Excel Vers. ve Dili
türkçe 2003
sayın hocalarım yardımlarınızı bekliyorum....
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,609
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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.
 
Katılım
1 Ocak 2008
Mesajlar
115
Excel Vers. ve Dili
türkçe 2003
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ü?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,609
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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.
 
Katılım
1 Ocak 2008
Mesajlar
115
Excel Vers. ve Dili
türkçe 2003
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?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,609
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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.
 
Katılım
1 Ocak 2008
Mesajlar
115
Excel Vers. ve Dili
türkçe 2003
Hocam teşekkürler.
 
Üst