• DİKKAT

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

Koşula bağlı gelişmiş filtreleme

Katılım
11 Eylül 2011
Mesajlar
114
Excel Vers. ve Dili
2013 Türkçe
Makro ile yapmaya çalıştığım; A2 ve A3 hücresine veya diğerlerine bir veri girdiğim zaman iki kriterli bir gelişmiş filtre. (Buton değil Enter tuşu ile çalışsın istiyorum) Ancak burada benim başka sütuna bağlı ekstra bir koşula daha ihtiyacım var. O da şu; Mesela ben 100 ve 101 Kodlarını süzerek buraya getirdim. Ancak öyle bir koşul olmalı ki sadece hem 100 hesap kodunda hemde 101 hesap kodunda eş zamanlı olan fiş numaraları buraya gelmeli. Fiş satırında 1.den 7.ye kadar ve 14.den 21.e kadar olan fiş numaraları bu koşulu sağlamıyor ama 8.den 13.e kadar olan fiş numaraları bu koşulu sağladığı için sadece bu fiş numaralarının tamamını süzebilmek istiyorum. forumdan bir arkadaş epeyce yardımcı oldu yeni öneriler getirdi ancak bu tarz bir işlem daha fazla işimi görecek.
 

Ekli dosyalar

Son düzenleme:
baktım baktım sadece baktım anlayamadım. yoksa yapılır. eş zamanlıdan kastın nedir.
 
Hocam selamlar;
Eş zamanlıdan kastım şu; ben örnekte 100 ve 101 kodlarını gelişmiş filtre ile süzüyorum tarihe göre, ada göre, açıklamaya göre filanda hepsini halledebiliyorum. Ama tabloya baktığınız zaman aşağıda kırmızıya boyalı alanlar var. Bunlar 100 ve 101 kodunda yani her ikisinde de bulunan kodlar. Mesela 7 nolu fiş sadece 100 kodunda mevcut ama 8 nolu fiş hem 100 hem de 101 de mevcut. yapmaya çalıştığım ise ya bir kriter daha ekleyip sadece ortak fiş numarasına sahip olanları getirtmek yada en kötü ihtimal koşullu biçimlendirme ile ortak fiş numaralarını renklendirmek. durum bu yani ama ben çözüm bulamadım buradan da bir çözüm bulan olmadı.
 
Merhaba.

Sorunuzun biraz netleşmesi lazım sanırım.

-- FİLTRE sayfasında bir'den fazla sütun için, kimisi için 1 kriter, kimisi için 2 kriter yazın,
-- VERİ SAYFASInda elle bunlara göre filtre uygulayın
(her bir sütun için istediğiniz filtrenin; içerir, ile başlar, ile biter gibi yöntemini de bir METİN KUTUSUna yazın)
-- FİLTRE sayfasına, filtre sonucunu aktarmayın,
-- o haliyle belgeyi kaydedin,

Örnek belgenizi yeni haliyle tekrar yükleyin.
Böylece sorunuz daha net anlaşılır ve ben veya başka bir üye sorunuzu mutlaka cevaplandırır.
.
 
Koşula bağlı filtreleme

Ömer hocam tekrar yükledim tablonun içine yazdım. Bütün amacım Ana kodlara göre süzmeyi yaptıktan sonra gerekirse ortak fişlere göre de süzme yapabilmek
 

Ekli dosyalar

Ömer hocam tekrar yükledim tablonun içine yazdım. Bütün amacım Ana kodlara göre süzmeyi yaptıktan sonra gerekirse ortak fişlere göre de süzme yapabilmek

Alternatif;

Kod ve dosya güncellendi.
Kod 100000 satır için çalışır. Arttırmak için 100000 tanımını değiştiriniz.

Kod:
Dim liste(100000, 2) As String
Dim verikod, kod1, kod2, verifis As String


Sub Makro1()
    On Error Resume Next
    Range("B5").Select
    Selection.CurrentRegion.Select
    Selection.Clear
    Range("B5").Select
    Sheets("MUAVİN").Columns("A:H").AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Range("B1:I2"), CopyToRange:=Range("B5"), Unique:=False
End Sub



Sub Makro2()
    On Error Resume Next
    Range("B5").Select
    Selection.CurrentRegion.Select
    Selection.Clear
    Range("B5").Select
    Sheets("MUAVİN").Columns("A:H").AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Range("B1:I3"), CopyToRange:=Range("B5"), Unique:=False
End Sub


Sub Makro3()
    Sheets("ARAMA").Select
    On Error Resume Next
    Range("B5").Select
    Selection.CurrentRegion.Select
    Selection.Clear
    Range("B5").Select
    
    kod1 = Trim(Str([B2]))
    kod2 = Trim(Str([B3]))
    
    fis1 = [F2]
    fis2 = [F3]
    
    Sheets("MUAVİN").Columns("A:H").AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Range("B1:I3"), CopyToRange:=Range("B5"), Unique:=False
    sonsatir = Cells(Rows.Count, "b").End(3).Row + 1
    [F2] = fis2
    [F3] = fis1
    Sheets("MUAVİN").Columns("A:H").AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Range("B1:I3"), CopyToRange:=Range("B" & sonsatir), Unique:=False
        Rows(sonsatir).Delete
    [F2] = fis1
    [F3] = fis2
    Call liste_yukle
    sonsatir = Cells(Rows.Count, "B").End(3).Row
    For i = sonsatir To 6 Step -1
       verikod = Cells(i, "B").Value
       verifis = Cells(i, "F").Value
       buldu = False
       For j = 1 To sonsatir
         If kod1 = verikod And liste(j, 1) = kod2 And liste(j, 2) = verifis Then
            buldu = True
            Exit For
         End If
       Next j
       
       For j = 1 To sonsatir
         If kod2 = verikod And liste(j, 1) = kod1 And liste(j, 2) = verifis Then
            buldu = True
            Exit For
         End If
       Next j
       
       If buldu = False Then
         Rows(i).Delete
       End If
    Next i
End Sub

Sub liste_yukle()
   For i = 1 To 100000
      liste(i, 1) = ""
      liste(i, 2) = ""
   Next i
   sonsatir = Cells(Rows.Count, "B").End(3).Row
   For i = 1 To sonsatir
      liste(i, 1) = Cells(i + 5, "B").Value
      liste(i, 2) = Cells(i + 5, "F").Value
   Next i
End Sub
 

Ekli dosyalar

Son düzenleme:
Hocam kodu kullandım ama şöyle bir durum ortaya çıktı.
1. Muavin sayfasından Arama sayfasına getirdiği her veriyi mükerrer getirdi.
2. Birde ben ortak fiş numaralarını filtrelesin istiyorum. Yani 2 ayrı kodu süzdüğüm zaman Fiş no satırından kontrol etsin ve herhangi bir fiş numarası 2 ayrı kodda da varsa onları getirsin.
 
Hocam kodu kullandım ama şöyle bir durum ortaya çıktı.
1. Muavin sayfasından Arama sayfasına getirdiği her veriyi mükerrer getirdi.
2. Birde ben ortak fiş numaralarını filtrelesin istiyorum. Yani 2 ayrı kodu süzdüğüm zaman Fiş no satırından kontrol etsin ve herhangi bir fiş numarası 2 ayrı kodda da varsa onları getirsin.

Mesaja dosya eklendi.
Sizin ulaştığınız sonuç ile yeşil olanlar, benim ulaştıklarım aynı bir fark göremedim.

Mükerrer dediğiniz kayıtlar nedir?

Örnek dosya gönderir misiniz?
 
Çözüm önerim 17 numaralı cevap ekindeki belgede uygulandı.
.
 
Hocam pardon ben sizin kodları benim dosyaya taşıyınca böyle oldu sizin dosyayı indirdim bu problem yok ama şöyle bir durum var;

Burada ben dosyayı çok küçük tuttum benim gerçek dosyam da 100 ve 102 kodun da 100 bin satır olabiliyor. bu 100 bin satırda mesela 10 bin ayrı fiş numarası olabiliyor ve bu 10 bin fişin içinde de 400 fiş numarası her iki kodda da bulunabiliyor amacım bu 400 ortak fiş numarasını süzebilmek.
 
Ömer Hocam;
Bir hususu belirtmek istiyorum maddeler halinde yazayım.

1. Ben A2 ve A3 hücrelerine yazıp entere bastığım zaman bunu süzüyüor buraya kadar sıkıntı yok.
2. Ama bunu B2 B3, C2 C3 hücrelerinde de yapabilsin. Yani Ölçüt alanı olarak kulandığım her alana uygulanabilsin çünkü bazen açıklamada herhangi bir kelimeyi arayabiliyorum.
3. son olarak 100 ve 102 kodunu süzdüğüm zaman hepsini getiriyor. Ama benim istediğim 100 ve 102 kodunu çektiğim zaman 13 nolu fişi (Ortak fiş no her iki kodda da var) ki bu onlarca olabilir onları otomatik getirsin.
 
Kod ve dosya güncellendi.
Kontrol ediniz.
 
Çözüm önerim 17 numaralı cevap ekindeki belgede uygulandı.
.
 
Ömer hocam bu kod hiç tepkime vermedi. Yani herhangi bir süzme işlemi gerçekleştirmedi.
 
örnek belge güncellendi.

Dosya ekte.

Ek belge TEKRAR yenilendi 21.07.2017 23:22.
.
 

Ekli dosyalar

Son düzenleme:
Mükerrer kayıt

Asri Hocam aslında istediğim şey bu; Sadece kodları getirip 3. kriter düğmesine basınca örneği yükledim ortak olan 3 ve 12 nolu fişleri tam istediğim gibi yapıyor ama mükerrer atıyor sayfanın ilk yarısına getiriyor. sonra altlarda tekrarlayor bunu..
 

Ekli dosyalar

Asri Hocam aslında istediğim şey bu; Sadece kodları getirip 3. kriter düğmesine basınca örneği yükledim ortak olan 3 ve 12 nolu fişleri tam istediğim gibi yapıyor ama mükerrer atıyor sayfanın ilk yarısına getiriyor. sonra altlarda tekrarlayor bunu..

Mükerrerlikten neyi kast ettiğinizi anlayamadım.
Ben çıkan sonuçta mükerrer bir kayıt göremiyorum.

120 48
393 52 yi denediğiniz de de sadece ortak olanları listeliyor.

Sizin 100 3 ve 102 12 ile ulaştığınız tablo ile benim ulaştığım sonucu karşılaştırdığımda bire bir aynı.
Tek farkı sıralaması.


Ya siz anlatamadınız. Yada ben anlayamıyorum. :)
 
Son düzenleme:
Hocam tabloyu yükledim bir kaç önce ki yazışmada 100 ve 102 de ortak fiş 3 ve 12 nolu fişler. ilk önce 3 ve 12 nolu fişleri getiriyor. toplam 24 satır. Ama 25. satırdan itibaren ilk 24 satırı tekrar getiriyor.
 
Geri
Üst