• DİKKAT

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

Metnin Icerdigi Sayiya Göre Arama

tristanfermat

Altın Üye
Katılım
12 Haziran 2018
Mesajlar
98
Excel Vers. ve Dili
Excel 365
Merhaba Aarkadaslar,
Dosyada sag taraftaki textbox'a ürünlerin icerisindeki sayiyi girip aratmak istiyorum yani "a" harfini yazmadan da ürünü bulmak istiyorum.
Tesekkürler.
 

Ekli dosyalar

Merhaba.
Eklediğiniz örnekte yapmak istediğiniz şeyi denediniz mi? Zaten istediğiniz şekilde arama yapıyor.
 
Sag taraftaki textbox'a mesela 112 yazip filtrele dedigimde hic bir sonuc cikmiyor amacim textbox'a alt alta birden fazla ürünü(sadece sayilarini yazip) buldurmak
 
Merhaba,

Soldaki textbox ArtikelNr. alanını istediğiniz şekilde süzüyor.
Sağdaki textbox Artikel Beschreibung alanını süzdüğü için 112 yazınca sonuç gelmemesi normal.
 
en sagdaki beyaz textboxtan bahsediyorum asagi dogru uzayan
Bahsettiğiniz aranacaklar adını verdiğiniz metin kutusu; metin kutusunun tetikleyici özelliği yoktur, bahsettiğiniz arama işlemini yapamazsınız, onun yerine denetim araç kutusundan en soldaki textbox gibi bir tane ekleyin, aşağı doğru uzatın multiLine özelliğini true yaparak yola devam edebilirsiniz, sadece bir öneriydi gerisi size kalmış.
Listele butonuna bağlı olarak devam etmek istiyorsanız, kutuda enterle aşağı inerek kriterleri yazabilirsiniz.

Kod:
Sub listele()
    veri = Sheets("VERI").Shapes("aranacaklar").TextFrame.Characters.Text
    liste = Split(veri, Chr(10))

    For i = 0 To UBound(liste)
        liste(i) = "*" & liste(i) & "*"
    Next

    sonsatir = Cells(Rows.Count, "A").End(3).Row
    ActiveSheet.Range("$A$3:$E$" & sonsatir).AutoFilter Field:=1, Criteria1:=liste, Operator:=xlFilterValues
End Sub
 
Son düzenleme:
Merhaba.

En sağdaki kutuya aralarında boşluk bıraktığınız her kelimeyi filtrelemek için aşağıdaki kodları kullanabilirsiniz.
Var olan "Filtrele" butonuna basınca çalışan kodları silip aşağıdakileri kopyalayın.

Kod:
Sub listele()
    Dim KriterSay As Long
    Dim Kriter() As String
    Dim Aranan As String
    Aranan = Sheets("VERI").Shapes("aranacaklar").TextFrame.Characters.Text
    Kriter = Split(Aranan, " ")
    sonsatir = Cells(Rows.Count, "A").End(3).Row
    For KriterSay = 0 To UBound(Kriter)
        ActiveSheet.Range("$A$3:$E$" & sonsatir).AutoFilter Field:=1, Criteria1:="*" & Kriter(KriterSay) & "*"
    Next
End Sub
 
Geri
Üst