Listview de Textbox ile 2 veya 3 kriterli süzme işlemi

Katılım
17 Haziran 2006
Mesajlar
348
Excel Vers. ve Dili
2003 - TR / 2007 - TR
Merhabalar,

Aşağıdaki kod ile 3 adet Optionbutton ile süzme işlemi yapıyorum ve sorunum yok.
Optionbutton yerine 3 adet Textbox kullanmak istiyorum ama özel bir durum var.
StokTuru, StokKodu , StokAdi hanelerinden hangisine veri yazarsanız aramayı ona göre filtreleyecek. Ama biri dolu iken diğerine de veri girildiğinde bu kez ikisini de dikkate alacak, diğeri devreye girdiğinde üçünü de dikkate alacak ve filtre yapacak. Yardımlarınız için,
Teşekkürler...
Not: Textbox isimleri
Textbox1 = StokTuru
Textbox2 = StokKodu
Textbox3 = StokAdi
 

Ekli dosyalar

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
Bul butonuna basınız .Arama küçük büyük harfe duyarlıdır.
Bu istediğiniz doğrultuda kodlar diğer durumdaki kodlara göre dahada yavaş çalışacaktır.
Onun için kodları textboxların Change olayına yazmadım bul butonu içine yazdım.
Textboxlara değerleri girin ve bul butonuna basın.
Dosya ekte. :)
Kod:
Private Sub CommandButton2_Click()
Dim i As Long, tur, kod, ad As String
Set sr = Sheets("Liste")
ListView1.ListItems.Clear
With ListView1
For i = 3 To sr.Cells(65536, "A").End(xlUp).Row
    If StokTuru.Value = "" Then
        tur = sr.Cells(i, "A").Value
        Else
        tur = StokTuru.Value
    End If
    If StokKodu.Value = "" Then
        kod = sr.Cells(i, "B").Value
        Else
        kod = StokKodu.Value
    End If
    If StokAdi.Value = "" Then
        ad = sr.Cells(i, "C").Value
        Else
        ad = StokAdi.Value
    End If
    tur = UCase(Replace(Replace(tur, "ı", "I"), "i", "İ"))
    kod = UCase(Replace(Replace(kod, "ı", "I"), "i", "İ"))
    ad = UCase(Replace(Replace(ad, "ı", "I"), "i", "İ"))
    If UCase(Replace(Replace(sr.Cells(i, "A").Value, "ı", "I"), "i", "İ")) _
    Like "*" & tur & "*" _
    And UCase(Replace(Replace(sr.Cells(i, "B").Value, "ı", "I"), "i", "İ")) _
    Like "*" & kod & "*" _
    And UCase(Replace(Replace(sr.Cells(i, "C").Value, "ı", "I"), "i", "İ")) _
    Like "*" & ad & "*" Then
        .ListItems.Add , , sr.Cells(i, "A")
        x = x + 1
        .ListItems(x).ListSubItems.Add , , sr.Cells(i, "B")
        .ListItems(x).ListSubItems.Add , , sr.Cells(i, "C")
        .ListItems(x).ListSubItems.Add , , sr.Cells(i, "D")
        .ListItems(x).ListSubItems.Add , , sr.Cells(i, "E")
        .ListItems(x).ListSubItems.Add , , Format(sr.Cells(i, "F"), "#,##0.00 YTL")
        .ListItems(x).ListSubItems.Add , , Format(sr.Cells(i, "G"), "#,##0.00 YTL")
        '.ListItems(x).ListSubItems.Add , , Format(sr.Cells(i, "H"), "#,##0.00 YTL")
    End If
    
Next i
End With
Set sr = Nothing
    
End Sub
 

Ekli dosyalar

Son düzenleme:
Katılım
17 Haziran 2006
Mesajlar
348
Excel Vers. ve Dili
2003 - TR / 2007 - TR
Cevabınız için teşekkürler,

A Grubu seçildiğinde 3 textboxta A Malzeme yazıldığı zaman sonuç veriyor fakat malzeme yazınca sonuç vermiyor. Bu kısmı nasıl düzeltebiliriz...
 

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
Cevabınız için teşekkürler,

A Grubu seçildiğinde 3 textboxta A Malzeme yazıldığı zaman sonuç veriyor fakat malzeme yazınca sonuç vermiyor. Bu kısmı nasıl düzeltebiliriz...
İlgili yerdeki kodu aşağıdaki ile değiştiriseniz istediğiniz olur. :)
Kod:
If Cells(i, "A").Value Like "*" & tur & "*" _
    And Cells(i, "B").Value Like "*" & kod & "*" _
    And Cells(i, "C").Value Like "*" & ad & "*" Then
 
Katılım
17 Haziran 2006
Mesajlar
348
Excel Vers. ve Dili
2003 - TR / 2007 - TR
Bul butonuna basınız .Arama küçük büyük harfe duyarlıdır.
Her koşulda arama yaptırmak için nasıl bir değişiklik gerekiyor ya da mümkün mü? Birde Temizle butonuna basınca listview ilk haline dönmüyor, ancak textboxları boşalttığımızda ve bul butonuna basınca çalışıyor.
Tekrar teşekkürler...
 

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
Her koşulda arama yaptırmak için nasıl bir değişiklik gerekiyor ya da mümkün mü? Birde Temizle butonuna basınca listview ilk haline dönmüyor, ancak textboxları boşalttığımızda ve bul butonuna basınca çalışıyor.
Tekrar teşekkürler...
Temizle butonunda textboxların temizlenmesi var ve listvewin refreh edilmesi var.
Farklı işlemler için buraya farklı bir kod yazmanız gerekir.
Diğer sorunuzu anlamdım. :cool:
 
Katılım
17 Haziran 2006
Mesajlar
348
Excel Vers. ve Dili
2003 - TR / 2007 - TR
Küçük büyük harf duyarlılığını kaldırmak istiyorum...
 
Katılım
17 Haziran 2006
Mesajlar
348
Excel Vers. ve Dili
2003 - TR / 2007 - TR
Evren Bey çok çok teşekkürler. Zihniniz dert görmesin, iyi ki varsınız.
 
Katılım
17 Haziran 2006
Mesajlar
348
Excel Vers. ve Dili
2003 - TR / 2007 - TR
Tekrar merhabalar,

Evren bey dosyayı gizli sayfada çalışmadı. "Liste" isimli sayfayı gizledikten sonra userform açıyorum değerleri girip bul butonuna tıklandığında sonuç vermiyor... Teşekkürler.
 

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
Tekrar merhabalar,

Evren bey dosyayı gizli sayfada çalışmadı. "Liste" isimli sayfayı gizledikten sonra userform açıyorum değerleri girip bul butonuna tıklandığında sonuç vermiyor... Teşekkürler.
Dosyayı düzenledim.
3 numaralı mesajdan inidrebilirsiniz. :)
 

NBATMAN

Destek Ekibi
Destek Ekibi
Katılım
1 Aralık 2007
Mesajlar
638
Excel Vers. ve Dili
Office 2003 excel Türkçe
Merhaba evren bey,

bir sorum olucak size buna benzer bir konu hakkında; form üzerindeki textbox lar ile exceldeki verileri süzmeyi gerçekleştiriyorum.bu süzülen verileride listboxa almak istiyorum fakat listbox süzülen veriyi değil tüm veri aralığımı almakta yardımcı olabilirmisiniz?
 

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
Merhaba evren bey,

bir sorum olucak size buna benzer bir konu hakkında; form üzerindeki textbox lar ile exceldeki verileri süzmeyi gerçekleştiriyorum.bu süzülen verileride listboxa almak istiyorum fakat listbox süzülen veriyi değil tüm veri aralığımı almakta yardımcı olabilirmisiniz?
Tabbiki oluruz.Siz örnek dosyayıda ekleyerek yeni bir başlık açarak sorunuzu sorun mutlaka cevap alacaksınız.:cool:
 
Üst