• DİKKAT

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

Gelişmiş Filtreleme

Katılım
11 Eylül 2011
Mesajlar
114
Excel Vers. ve Dili
2013 Türkçe
Sevgili üstadlarım;
Eke özet bir dosya ekledim. Yapmaya çalıştığım ise aslında gelişmiş bir filtreleme seçeneğini bir makro butonuna atamak. Bu konuda çok videoda izledim aynen uyguladığımı düşünüyorum ama mümkün değil detaylı tablodan kriterlerimi verdiğim arama sayfasına getirmem mümkün olmadı yardımcı olabilirseniz çok sevinirim.
 

Ekli dosyalar

Kriterleriniz neler? Muavin sayfasındaki hangi verilere göre filtre uygulamak istiyorsunuz?
ARAMA KOD HESAP KODU HESAP ADI TARİH EVRAK NO FİŞ NO AÇIKLAMA BORÇ ALACAK

Bunlardan biri, birkaçı ama hangisi/hangileri?
 
hocam bir tanesine de uygulayabilirim. hepsinede mesela KOD 102 olanların içinde detay kodu 102.01 olanlar AÇIKLAMA.sı tl olanlar dahada ileriye gidip borç alacak şu rakamlar arası gibi olanlar.. ben Youtubeden çok izledim aynen uygulamaya çalıştım ama olmadı
 
Forumda gelişmiş filtre yazıp arama yaptığınızda örnekleri var.
Kolay gelsin
 
hocam bir tanesine de uygulayabilirim. hepsinede mesela KOD 102 olanların içinde detay kodu 102.01 olanlar AÇIKLAMA.sı tl olanlar dahada ileriye gidip borç alacak şu rakamlar arası gibi olanlar.. ben Youtubeden çok izledim aynen uygulamaya çalıştım ama olmadı

Ekteki dosyanın ARAMA sayfasını inceleyiniz.
Koda göre filtreleme yapıyor.
Başka kriterler için uyarlamaya çalışınız.
 

Ekli dosyalar

Hocam tekrar selamlar;
Sizin olay çok güzel olmuş ancak arama sayfasında ben B15 den itibaren bir alan açtımya sizin yaptığınız gibi FİLTRE sayfasına değilde aşağıdaki bölüme taşıma imkanı yokmu ?
 
Hocam tekrar selamlar;
Sizin olay çok güzel olmuş ancak arama sayfasında ben B15 den itibaren bir alan açtımya sizin yaptığınız gibi FİLTRE sayfasına değilde aşağıdaki bölüme taşıma imkanı yokmu ?

İstediğiniz gibi açtığınız alana geliyor.
Dosyanız ektedir.
 

Ekli dosyalar

Merhaba,
Alternatif olsun.
Aşağıdaki kodu arama sayfasının kod bölümüne yapıştırın.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

Application.ScreenUpdating = False
If Intersect(Target, Range("c5:c11")) Is Nothing Then Exit Sub
Range("c2").Value = Range("c6").Value
Range("b2").Value = Range("c5").Value
Range("d2").Value = Range("c7").Value
Range("e2").Value = Range("c8").Value
Range("f2").Value = Range("c9").Value
Range("g2").Value = Range("c10").Value
Range("h2").Value = Range("c11").Value
Application.CutCopyMode = False
    Application.CutCopyMode = False
Range("B15").Select
    Selection.CurrentRegion.Select
    Selection.Clear
    Range("B15").Select
    Sheets("MUAVİN").Range("B1:J65536").AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Range("B1:J2"), CopyToRange:=Range("B15"), Unique:=False
     Application.ScreenUpdating = True
    
End Sub
Dosyanız da ek tedir.
 

Ekli dosyalar

Kemal hocam çok tşk ederim elinize sağlık bir kaç noktada eksiğim kaldı onları tamamlamak mümkün mü ?
1. Hesap Adı ve Açıklama bölümleri metin olduğu için ben C7 ve C11 hücrelerinde bir veri girdiğim zaman baştaraftaki ölçüt bölümüne ** şeklinde gelebilir mi ? (ben C11'e tanıtım yazdığım zaman bu yukarıya *tanıtım* gelse)
2. Borç ve Alacak bölümlerinde alt-üst limit girdiğim zaman bunları süzdürme imkanı var mı ?
3. birde ben C5 den sonraki alanı temizlediğim zaman muavin sayfasındaki bütün verileri burada gösteriyor (çalıştığım dosyalar çok zaman birmilyon satırı bulduğu için yüksek MB.lara ulaşıyor.
Yukarıda yazdığım hususları çözmek mümkün mü ?
 
Merhaba
Hastahanedeyim.Müsait olduğumda yardımcı olmaya çalışırım
 
Merhaba,
3 ncü sorunuzu şu şekilde çözebiliriz.
Mevcut KOD TEMİZLE Butonuna bağlı kodu aşağıdaki ile değiştirin
Kod:
Sub kodlarısil()

Range("a1").Value = 1
    Range("b2:j2").Select
    Selection.ClearContents
    
    Range("b3").Select
End Sub

Bu kodu sayfanızın kod bölümüne yapıştırın.
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("c5:c11")) Is Nothing Then Exit Sub
Range("a1").Value = 0
End Sub
Arama kodunuza da bold olan yeri ilave edin
Kod:
If Intersect(Target, Range("c5:c11")) Is Nothing Then Exit Sub
[B]If Range("a1").Value = 1 Then
Exit Sub
Else
End If[/B]
Range("c2").Value = Range("c6").Value
Range("b2").Value = Range("c5").Value
Range("d2").Value = Range("c7").Value
Range("e2").Value = Range("c8").Value
Range("f2").Value = Range("c9").Value
Range("g2").Value = Range("c10").Value
Range("h2").Value = Range("c11").Value
Application.CutCopyMode = False
    Application.CutCopyMode = False
Range("B15").Select
    Selection.CurrentRegion.Select
    Selection.Clear
    Range("B15").Select
    Sheets("MUAVİN").Range("B1:J65536").AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Range("B1:J2"), CopyToRange:=Range("B15"), Unique:=False
     Application.ScreenUpdating = True
end sub
 
Son düzenleme:
Kemal hocam çok tşk ederim elinize sağlık bir kaç noktada eksiğim kaldı onları tamamlamak mümkün mü ?
2. Borç ve Alacak bölümlerinde alt-üst limit girdiğim zaman bunları süzdürme
Bu ustaların işi. Ama isteğiniz biraz karışık geldi aynı sutunda olsa ( yani şundan büyük, şundan küçük olanları süz şeklinde) yapılabilir.:???:
Yinede ustalar yapar mı yapar...
 
Kemal hocam çok tşk ederim elinize sağlık bir kaç noktada eksiğim kaldı onları tamamlamak mümkün mü ?
1. Hesap Adı ve Açıklama bölümleri metin olduğu için ben C7 ve C11 hücrelerinde bir veri girdiğim zaman baştaraftaki ölçüt bölümüne ** şeklinde gelebilir mi ? (ben C11'e tanıtım yazdığım zaman bu yukarıya *tanıtım* gelse)
Burda ** demekle içerir mi demek istiyorsunuz.
Deneyin
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

Application.ScreenUpdating = False
If Intersect(Target, Range("c5:c11")) Is Nothing Then Exit Sub
If Range("a1").Value = 1 Then
Exit Sub
Else
End If
Range("c2").Value = Range("c6").Value
Range("b2").Value = Range("c5").Value
Range("d2").Value = "*" & Range("c7").Value & "*"
Range("e2").Value = Range("c8").Value
Range("f2").Value = Range("c9").Value
Range("g2").Value = Range("c10").Value
Range("h2").Value = "*" & Range("c11").Value & "*"
Application.CutCopyMode = False
    Application.CutCopyMode = False
Range("B15").Select
    Selection.CurrentRegion.Select
    Selection.Clear
    Range("B15").Select
    Sheets("MUAVİN").Range("B1:J65536").AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Range("B1:J2"), CopyToRange:=Range("B15"), Unique:=False
        If Not Intersect(Target, Range("c12:c13")) Is Nothing Then Exit Sub
If Range("a1").Value = 1 Then
Exit Sub
Else
End If

     Application.ScreenUpdating = True
    
End Sub
 
1. (**) dediğim içeren kelimeler manasın da ben sizin yaptığınız kısma *tanıtım* yazıp aratıyorum ama isteğim * yazmadan ben tanıtım yazdığım zaman sizin ölçüt kısmına *tanıtım* gelsin istiyorum.

2. Birde ben kodları temizlediğim zaman sayfayı da temizlemesi

3. Ustalar yapar mutlaka katılıyorum

4. Ben makroyu sıfırdan yazamıyorum makroyu çalıştırıp yapmak istediğimi yapıp kaydı durduruyorum. Onun için yapıştırmayı denediğim zaman excelim bir kaos yaşıyor maalesef :(
 
2. Birde ben kodları temizlediğim zaman sayfayı da temizlemesi
:(
merhaba
Bende genelde yazamıyorum.Araştırarak sorun çözebilmeye çalışıyorum.
2 nci sorun için kodu deneyin
Kod:
Sub kodlarısil()

Range("a1").Value = 1
    Range("b2:j2").Select
    Selection.ClearContents
    Range("B15").Select
    Selection.CurrentRegion.Select
    Selection.Clear
    Range("b3").Select
End Sub
 
1. (**) dediğim içeren kelimeler manasın da ben sizin yaptığınız kısma *tanıtım* yazıp aratıyorum ama isteğim * yazmadan ben tanıtım yazdığım zaman sizin ölçüt kısmına *tanıtım* gelsin istiyorum.
:(
İstediğiniz şekilde oluyor.
C11 e tanıtım yazdığınız zaman H2 ye *tanıtım* yazıyor.
 

Ekli dosyalar

Kemal Hocam çok emek verdirdim tşk ederim. bu yeterince benim işimi görecektir
 
Yardımcı olan arkadaşlarım hepinize tşk ederim burada Kemal Turan bey ve Bedri A çok yardımcı oldu. Yaptıkları işlemler ve hazır tablolar çok işime yaradı ama bir noktada bir sorunu kendimde aşmak istiyorum ama aşamıyorum o kısımda da yardımcı olurlarsa çok sevinirim. Problem şu; Bu filtrelemeyi yaparken bir ölçüt alanımız var Bu 9 sütundan oluşan bir alan. (A1:J2) Burada Ana Kod, Detay Kod, Açıklama, evrak no, tarih, Borç, Alacak gibi sütun isimleri var. Ben ölçüt alanı dışında bir hücre belirliyorum ve ölçütte kullanacağım alana bir formül giriyorum. Mesela ben A2 hücresine şöyle bir formül giriyorum. Eğer(A4="";"";"*"&A4&"*") Bu formül bana A2 hücresine yazdığım bir Kod'u bütün A sütunu içinde aramamı sağlıyor. Ama asıl problem şurada bu formülü A2.ye girince filtrelemeyi yapıyor. B2.de yapıyor Ama aynı formülü C2.ye girince C2 deki seçenekleri aratmıyor. Mesela C2.de tarih araması yapacağım ve C2'Ye şu formülü giriyorum. EĞER(C4="";"";C4). Sonra C ye bir tarih giriyorum. 05.12.2014. Bu yazdığım C2 hücresine geliyor ama filtreleme yapmıyor. Ama giderde C2 ye direkt bu tarihi girersem filtreleme yapıyor. Yani sorunum ölçüt kısmına formülle taşıdığım bazı alanları filtreleme yaparken bazı alanları neden yapmıyor.
 
Geri
Üst