Çözüldü find(arama) yaparken birden fazla kriter

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

muhsar

Normal Üye
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
merhaba,tablomda isim soyisim tc gibi sütunları olan 5000 veri var. normal arama yaptığımda sadece isim yada soy isim yazıp arama yapabiliyorum.benim yapmak istediğim makroyu çalıştırdığımda ilk satırdaki konu başlıkları gelsin ve ben hangi başlığın altında ne aranacaksa yazayım .gelişmiş arama yapayım yani.örneğin tabloda 5 tane ahmet var soy isimleri farklı ilçelerde farklı,ben butona tıkladığımda açılan ekrana isim altına ahmet soyisim altına çakır ilçesine efeler yazıp ara dediğimde beni ilgili satıra götürsün.şimdiden teşekkür ederim
 

Ekli dosyalar

Merhaba Sayın @muhsar .

Bu konu nasıl dikkatimizden kaçmış ve cevapsız kalmış !
Bana, veri yazdıkça alanın filtrelenmesi yöntemi mantıklı geldi.

Belgenizde başlık satırının hemen altına boş bir satır ekleyin ve bu alanı arama yapmak için kullanın.
Siz diyelim A2'ye bir isim yazdınız ve ENTER tuşuna basarak ismi tamamladınız (aynı şey diğer sütunlar için de geçerli).
Kod, alana filtre uygulayacaktır (2'nci satırdati veriyi silince filtre iptal olur).

Boş satır ekleme işini tamamladıktan sonra.
alt taraftan Sayfa1'in adına fareyle sağ tıklayıp KOD GÖRÜNTÜLEyi seçin,
açılan VBA ekranında sağdaki boş alana verdiğim kodu yapıştırın.

CPP:
You must log in to view
(10 satır)

.
 
Merhaba Sayın @muhsar .

Bu konu nasıl dikkatimizden kaçmış ve cevapsız kalmış !
Bana, veri yazdıkça alanın filtrelenmesi yöntemi mantıklı geldi.

Belgenizde başlık satırının hemen altına boş bir satır ekleyin ve bu alanı arama yapmak için kullanın.
Siz diyelim A2'ye bir isim yazdınız ve ENTER tuşuna basarak ismi tamamladınız (aynı şey diğer sütunlar için de geçerli).
Kod, alana filtre uygulayacaktır (2'nci satırdati veriyi silince filtre iptal olur).

Boş satır ekleme işini tamamladıktan sonra.
alt taraftan Sayfa1'in adına fareyle sağ tıklayıp KOD GÖRÜNTÜLEyi seçin,
açılan VBA ekranında sağdaki boş alana verdiğim kodu yapıştırın.

CPP:
You must log in to view
(10 satır)

.
[/QU
ilginiz için çok teşekkür ederim,
 
Merhaba Sayın @muhsar .

Bu konu nasıl dikkatimizden kaçmış ve cevapsız kalmış !
Bana, veri yazdıkça alanın filtrelenmesi yöntemi mantıklı geldi.

Belgenizde başlık satırının hemen altına boş bir satır ekleyin ve bu alanı arama yapmak için kullanın.
Siz diyelim A2'ye bir isim yazdınız ve ENTER tuşuna basarak ismi tamamladınız (aynı şey diğer sütunlar için de geçerli).
Kod, alana filtre uygulayacaktır (2'nci satırdati veriyi silince filtre iptal olur).

Boş satır ekleme işini tamamladıktan sonra.
alt taraftan Sayfa1'in adına fareyle sağ tıklayıp KOD GÖRÜNTÜLEyi seçin,
açılan VBA ekranında sağdaki boş alana verdiğim kodu yapıştırın.

CPP:
You must log in to view
(10 satır)

.

Sayın Ömer Baran merhabalar
Bu faydalı filtreleme kodları için çok teşekkürler. Size zahmet olmazsa, A2 değil de J2 olacak şekilde de yazabilir misiniz?
 
merhaba,a2 den başlayan hücrelere e2 ye kadar istediğiniz yere yazarsanız filtre uygulanır.sizin tablonuzun başlayıp bittiği yere kadar A2:E2 kısmını
For sut = 1 To 5 kısmında sizin tablouzun kolon sayısının bittiği sayıyı ve
Range("A2:E" & son)
kısmı güncelleyebilirsiniz
Merhaba

Teşekkürler fakat kendim yaparsam muhakkak bir yanlışlık yapabilirim.

Şöyle izah edeyim. Stok listem (1. satır başlık satırı olacak şekilde) alıştığım haliyle karşımda dursun.

Ben de uzaktaki bir hücreye (örnek J1 veya K1 ‘e aradığım şeyi yazınca filtreleme yapsın.
 
Merhaba

Teşekkürler fakat kendim yaparsam muhakkak bir yanlışlık yapabilirim.

Şöyle izah edeyim. Stok listem (1. satır başlık satırı olacak şekilde) alıştığım haliyle karşımda dursun.

Ben de uzaktaki bir hücreye (örnek J1 veya K1 ‘e aradığım şeyi yazınca filtreleme yapsın.
verilen kodlar veri yazılan hücreye alta doğru filtre yapıyor.yani j kolonuna yazarsanız j kolonundaki verileri filtreler.istediğiniz bu kodlar ile olmaz sanırım.tabi ömer hocam el atarsa yapabilir sanırım.iyi geceler
 
Sayın @hakki83 .

İsterseniz kullandığınız belgenin, özel bilgi ve fazla veri içermeyen bir kopyasını ekleyin.
Böyle daha sağlıklı olur ve fazla yazışmaya gerek olmadan çözüm bulmak mümkün olur.

Açıklamayı şöyle yazayım:
-- Kod hangi hücrelerde değişiklik olduğunda devreye girecek: If Intersect(Target, [A2:E2]) Is Nothing Then Exit Sub
-- Filtre hangi sütunlara uygulanacak: For sut = 1 To 5 yani A sütunundan E sütununa kadar.
-- Sayın muhsar'ın örnek belgesinde A-E (5 sütunda) arama yapılmak isteniyor.
-- Filtre kriteri değer 2'nci satırda hangi sütuna yazılıyorsa o sütunda arama yapılır:
..............AutoFilter Field:=sut, Criteria1:="=*" & Cells(2, sut) & "*"
Umarım açıklama yeterlidir.

.
 
Sayın Ömer Baran aslında ben “daha uzaktaki bir hücrede arama yapayım“ diye (örnek J1 hücresi) düşünmüştüm, ama sanıyorum Sayın muhsar’ın dediği gibi yapılamıyor.

Bundan dolayı A1 olarak değiştirmiştim.
 
Sayın Ömer Baran harika olmuş harika.
Emeğinize fikrinize sağlık.

Daha sonra bu türde dosya isteklerimi arz edeceğim.
Fakat bir şey olmadı, miktarı ve fiyatı yazan kısımlarda (örnek 3 rakamını girdiğimde) içinde 3 rakamı olan sayıların filtrelenmesi gerekirdi, fakat olmadı.

(Stok kodu veya stok adı kısımlarında sorun yok, filtreliyor)
 
Sayın @hakki83 .

Malum, SAYIsal verileri, METİNsel veriler gibi İÇERİR mantığıyla filtrelemek mümkün değil..

İstenilen sonucu almak için birkaç seçenek aklıma geliyor;
-- ya, SAYIsal veri ararken, aranan sayıyı TAM olarak yazmanız (hücrede 3,1 varsa G1'e 3,1 yazmak)
-- ya da, sayısal verileri, uygun ve gizli tutulacak başka bir sütunda METİN olarak tutup, filtreleme işlemini bu sütun üzerinden yapmak,
-- yahut, bu cevaba eklediğim belgede uygulandığı gibi, FİLTRELEME yerine ARAMA yapmak.

...3'ncü yöntem için; iki alt seçenek düşünülebilir.
-- Biri, seçilen başlığa göre (F1) sadece ilgili sütunda ARAMA (bu cevap ekindeki Sayfa1'deki yöntem).
-- Diğeri de, başlıktan bağımsız olarak (F1'e gerek kalmadan) G1'e yazılan değeri tüm sütunlarda ARAMA (bu cevap ekindeki Sayfa2'deki yöntem).

3'üncü yönteme ait iki seçenek ekteki belgede iki ayrı sayfaya uygulanmış olup, kodlar aşağıda gösterilmiştir.

VBA:
You must log in to view
(46 satır)

.
 

Ekli dosyalar

Sayın @hakki83 .

Malum, SAYIsal verileri, METİNsel veriler gibi İÇERİR mantığıyla filtrelemek mümkün değil..

İstenilen sonucu almak için birkaç seçenek aklıma geliyor;
-- ya, SAYIsal veri ararken, aranan sayıyı TAM olarak yazmanız (hücrede 3,1 varsa G1'e 3,1 yazmak)
-- ya da, sayısal verileri, uygun ve gizli tutulacak başka bir sütunda METİN olarak tutup, filtreleme işlemini bu sütun üzerinden yapmak,
-- yahut, bu cevaba eklediğim belgede uygulandığı gibi, FİLTRELEME yerine ARAMA yapmak.

...3'ncü yöntem için; iki alt seçenek düşünülebilir.
-- Biri, seçilen başlığa göre (F1) sadece ilgili sütunda ARAMA (bu cevap ekindeki Sayfa1'deki yöntem).
-- Diğeri de, başlıktan bağımsız olarak (F1'e gerek kalmadan) G1'e yazılan değeri tüm sütunlarda ARAMA (bu cevap ekindeki Sayfa2'deki yöntem).

3'üncü yönteme ait iki seçenek ekteki belgede iki ayrı sayfaya uygulanmış olup, kodlar aşağıda gösterilmiştir.

[Gizlenmiş içerik]

.
Değil excel dosyası, güzel detaylı cevabınız bile çok çok makbule geçti.

Son dosyamızı da inceleyip denemeler yapacağım.

Teşekkür ederim Sayın Ömer Baran
Saygılar

Kafamıza takılan bir şey olursa arz edeceğim.
 
Sayın @hakki83 .

Malum, SAYIsal verileri, METİNsel veriler gibi İÇERİR mantığıyla filtrelemek mümkün değil..

İstenilen sonucu almak için birkaç seçenek aklıma geliyor;
-- ya, SAYIsal veri ararken, aranan sayıyı TAM olarak yazmanız (hücrede 3,1 varsa G1'e 3,1 yazmak)
-- ya da, sayısal verileri, uygun ve gizli tutulacak başka bir sütunda METİN olarak tutup, filtreleme işlemini bu sütun üzerinden yapmak,
-- yahut, bu cevaba eklediğim belgede uygulandığı gibi, FİLTRELEME yerine ARAMA yapmak.

...3'ncü yöntem için; iki alt seçenek düşünülebilir.
-- Biri, seçilen başlığa göre (F1) sadece ilgili sütunda ARAMA (bu cevap ekindeki Sayfa1'deki yöntem).
-- Diğeri de, başlıktan bağımsız olarak (F1'e gerek kalmadan) G1'e yazılan değeri tüm sütunlarda ARAMA (bu cevap ekindeki Sayfa2'deki yöntem).

3'üncü yönteme ait iki seçenek ekteki belgede iki ayrı sayfaya uygulanmış olup, kodlar aşağıda gösterilmiştir.

[Gizlenmiş içerik]

.
Sayın Ömer Baran günaydın merhabalar

Bu güzel dosyamızda “küçük harf büyük harf duyarlılığını” kaldırmak için hangi kodları eklemeliyiz.

Diğer dosyalarda duyarlılık yok, son dosyamızda olduğunu farkettim.
 
Sayin @hakki83 .

Eklediğim son belgede;

-- Sayfa1'e ait kodda ilgili bölümü aşağıdaki gibi değiştirin.

VBA:
You must log in to view
(7 satır)

-- Sayfa2'ye ait kodda ilgili bölümü aşağıdaki gibi değiştirin.

VBA:
You must log in to view
(3 satır)

.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Konuyu başlatan
Normal Üye
Katılım
Konu Bilgi
Durum
Çözüldü 
Forum
Excel Makro Soruları
Başlangıç tarihi
Son yanıt tarihi
Cevaplar
20
Üst