Gelişmiş Filtre konusunda yardım

Katılım
6 Mart 2008
Mesajlar
88
Excel Vers. ve Dili
EXCEL 2003
Bu formdaki değerli hocalarımın katkıları ile yapmaya çalıştığım GELİŞMİŞ SÜZGEÇ ile ŞUBELER sayfasındaki verileri ARAMA sayfasında İLİNE göre Texbox1 içerisine yazdığım veriye göre filtreleme yapabiliyorum. İlçesine göre arama yapmak için ise Texbox2 içerisindeki veriye göre filtreleme yapabiliyorum.
Ancak ben önce iline göre arama yaptıktan sonra aynı il içindeki ilçelere göre arama yapmak istiyorum. Yani şubeler sayfasındaki veriler ARAMA sayfasına bir kere filtrelendikten sonra aynı sayfada yani ARAMA sayfasında bu sefer ilçe kriterine göre filtrelensin istiyorum. Çünkü ilçesine göre arama yapmaya başlayınca birinci kriter tamamen siliniyor yeniden sıfırdan bir arama yapılıyor. Ben böyle istemiyorum. Önce iline göre aradıktan sonra il içindeki ilçelere göre arama yapsın istiyorum
Acaba bunu yapabilirmiyim,
Konu ile alakalı ikinci sorum ise BANKA MZ sayfasında şekillerle izah etmeye çalıştığım gibi yeşil renkli hücreler içindeki veriler A1 Hücresindeki değer değiştikçe DÜŞEYARA formülü yardımı ile her seferinde değişmekte. Yeni değişen İLİ ve İLÇESİ verilerinin otomatikman ARAMA sayfasındaki TEXBOX1 (İLİ) ve TEXBOX2 (İLÇESİ)’lara otomatik olarak geçmesini istiyorum
Değerli hocalarımın yardım ve katkılarını beklerken konuya ilgi gösteren herkese şimdiden teşekkürü bir borç bilirim.
 

Ekli dosyalar

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,759
Excel Vers. ve Dili
Excel 2019 Türkçe
Not:"BANKA MZ" sayfasının kod kısmına ekleyin.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$A$1" Then Exit Sub
    Sheets("ARAMA").TextBox1 = [aj13] 'ili
    Sheets("ARAMA").TextBox2 = [aj12] 'ilçesi
End Sub
 
Katılım
6 Mart 2008
Mesajlar
88
Excel Vers. ve Dili
EXCEL 2003
Değerli Hamitcan hocamıza teşekkülerimi sunuyorum. Sorumun ikinci kısmını güzelce cevaplamış, tam istediğim gibi,
Ancak sorumun 1. kısmı hakkında (yani önce il sonra ilçe kriterine göre süzme konusunda) yardımı olan arkadaşlara şimdiden teşekkür ederim.
Bu husus şunun için önemli mesela ilçe kısmına Bismil yazınca sadece bir tane Bismil ilçesi olduğu için direk Diyarbakır bismil ilçesine ait veriler geliyor. Ancak Merkez İlçe yazınca her ilin merkez ilçesi olduğu için benim işime o an için lazım olmayan bütün illerin merkez ilçeleri gelmekte bu da proğramın kullanılabilirliğini önlemekte.
Bunun için sorumun birinci bölümü hakkında yardımı olacak arkadaşlara şimdiden teşekkürler
 
Katılım
6 Mart 2008
Mesajlar
88
Excel Vers. ve Dili
EXCEL 2003
Arkadaşlar gelişmiş süzgeç konusunda uzman hocalarımın yardımına acil ihtiyacım var. Yukarıdaki sorum hakkında yardım edebileceklere şimdiden teşekkürler
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,759
Excel Vers. ve Dili
Excel 2019 Türkçe
Gördüğüm kadarıyla gelişmiş süz kodlarınızda eksiklikler var. Tekrar düzenlenmesi gerekiyor.
 
Katılım
6 Mart 2008
Mesajlar
88
Excel Vers. ve Dili
EXCEL 2003
Değerli Hamitcan Hocam,
dediğinize aynen katılıyorum. Kodlarımda eksiklikler ve hatta hatalar var ki istediğim aramayı yaptıramıyorum.
Acaba hata nerededir, ve kodların neresini düzeltmemiz gerekiyor, bu konuda yardımınız olursa beni çok sevindireceksiniz.
Şimdiden teşekkürler
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,759
Excel Vers. ve Dili
Excel 2019 Türkçe
Not:Kriter alanı olarak "C1: D2" aralığını kullanın.
Kod:
Private Sub TextBox1_Change()
    Set S1 = Sheets("ARAMA")
    Set s2 = Sheets("ŞUBELER")
    S1.Range("A7:M65536").Clear
    If s2.FilterMode Then s2.ShowAllData
    Range("C2").Value = TextBox1.Value
    Range("D2").Value = TextBox2.Value
    s2.Range("A1:M65536").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range("C1:D2"), CopyToRange:=Range("A7"), Unique:=False
End Sub
Private Sub TextBox2_Change()
    Set S1 = Sheets("ARAMA")
    Set s2 = Sheets("ŞUBELER")
    S1.Range("A7:M65536").Clear
    If s2.FilterMode Then s2.ShowAllData
    Range("C2").Value = TextBox1.Value
    Range("D2").Value = TextBox2.Value
    s2.Range("A1:M65536").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range("C1:D2"), CopyToRange:=Range("A7"), Unique:=False
End Sub
 
Katılım
6 Mart 2008
Mesajlar
88
Excel Vers. ve Dili
EXCEL 2003
Hamitcan Hocam,
Bu kadar kısa bir sürede böyle pratik bir cevap ve tam istediğim gibi,
Böyle bir cevaba ne denebilirki
Gerçekten süpersiniz,
Sizin gibi hocalar olmasa, bizim gibi acemilerin daha çok işi var demektir,
Çok çok teşekkürlerrrrrrrrrr.
 
Üst