Filtredeki seçimi hücreye yazdırma

Katılım
3 Temmuz 2009
Mesajlar
42
Excel Vers. ve Dili
Excel 2007 Türkçe
Altın Üyelik Bitiş Tarihi
09-09-2023
Merhaba arkadaşlar. çok basit bir sorum var ancak ben bi türlü beceremedim filltrede seçtiğim değeri bir türlü üstteki mavi hücreye yazdıracak kodları çalıştıramadım.. dosyam ektedir...
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,276
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Ekte örnek dosyanız üzerinde gerekli düzenlemeyi yaptım. İncelermisiniz.


Kullanılan fonksiyon; (Sn. yurttas'ın bir çalışmasından uyarlanmıştır. Boş bir modüle uygulayınız.)

Kod:
Function SÜZ_KRİTER(Hücre As Range) As String
    Dim Filter As String
    Filter = ""
    On Error GoTo Son
    With Hücre.Parent.AutoFilter
    If Intersect(Hücre, .Range) Is Nothing Then GoTo Son
    With .Filters(Hücre.Column - .Range.Column + 1)
    If Not .On Then GoTo Son
    Filter = .Criteria1
    Select Case .Operator
    Case xlAnd
    Filter = Filter & " VE " & .Criteria2
    Case xlOr
    Filter = Filter & " VEYA " & .Criteria2
    End Select
    End With
    End With
Son:
    Set WF = WorksheetFunction
    SÜZ_KRİTER = Filter
    SÜZ_KRİTER = WF.Substitute(SÜZ_KRİTER, "=", "")
    SÜZ_KRİTER = WF.Substitute(SÜZ_KRİTER, "<", "")
    SÜZ_KRİTER = WF.Substitute(SÜZ_KRİTER, ">", "")
    SÜZ_KRİTER = WF.Substitute(SÜZ_KRİTER, "<>", "")
    SÜZ_KRİTER = WF.Substitute(SÜZ_KRİTER, "<=", "")
    SÜZ_KRİTER = WF.Substitute(SÜZ_KRİTER, ">=", "")
    SÜZ_KRİTER = WF.Substitute(SÜZ_KRİTER, "*", "")
    Set WF = Nothing
End Function
 

Ekli dosyalar

Katılım
3 Temmuz 2009
Mesajlar
42
Excel Vers. ve Dili
Excel 2007 Türkçe
Altın Üyelik Bitiş Tarihi
09-09-2023
harika olmuş.. tam istediğim gibi ellerinize sağlık.. ayrıca bu fonksiyonu yaratan Sn.Yurttaş'a da teşekkürlerimi sunuyorum.. Çok saolun Korhan Bey..
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Selamlar,

Ekte örnek dosyanız üzerinde gerekli düzenlemeyi yaptım. İncelermisiniz.


Kullanılan fonksiyon; (Sn. yurttas'ın bir çalışmasından uyarlanmıştır. Boş bir modüle uygulayınız.)

Kod:
Function SÜZ_KRİTER(Hücre As Range) As String
    Dim Filter As String
    Filter = ""
    On Error GoTo Son
    With Hücre.Parent.AutoFilter
    If Intersect(Hücre, .Range) Is Nothing Then GoTo Son
    With .Filters(Hücre.Column - .Range.Column + 1)
    If Not .On Then GoTo Son
    Filter = .Criteria1
    Select Case .Operator
    Case xlAnd
    Filter = Filter & " VE " & .Criteria2
    Case xlOr
    Filter = Filter & " VEYA " & .Criteria2
    End Select
    End With
    End With
Son:
    Set WF = WorksheetFunction
    SÜZ_KRİTER = Filter
    SÜZ_KRİTER = WF.Substitute(SÜZ_KRİTER, "=", "")
    SÜZ_KRİTER = WF.Substitute(SÜZ_KRİTER, "<", "")
    SÜZ_KRİTER = WF.Substitute(SÜZ_KRİTER, ">", "")
    SÜZ_KRİTER = WF.Substitute(SÜZ_KRİTER, "<>", "")
    SÜZ_KRİTER = WF.Substitute(SÜZ_KRİTER, "<=", "")
    SÜZ_KRİTER = WF.Substitute(SÜZ_KRİTER, ">=", "")
    SÜZ_KRİTER = WF.Substitute(SÜZ_KRİTER, "*", "")
    Set WF = Nothing
End Function
Selamlar,

Ekte örnek dosyanız üzerinde gerekli düzenlemeyi yaptım. İncelermisiniz.


Kullanılan fonksiyon; (Sn. yurttas'ın bir çalışmasından uyarlanmıştır. Boş bir modüle uygulayınız.)

Kod:
Function SÜZ_KRİTER(Hücre As Range) As String
    Dim Filter As String
    Filter = ""
    On Error GoTo Son
    With Hücre.Parent.AutoFilter
    If Intersect(Hücre, .Range) Is Nothing Then GoTo Son
    With .Filters(Hücre.Column - .Range.Column + 1)
    If Not .On Then GoTo Son
    Filter = .Criteria1
    Select Case .Operator
    Case xlAnd
    Filter = Filter & " VE " & .Criteria2
    Case xlOr
    Filter = Filter & " VEYA " & .Criteria2
    End Select
    End With
    End With
Son:
    Set WF = WorksheetFunction
    SÜZ_KRİTER = Filter
    SÜZ_KRİTER = WF.Substitute(SÜZ_KRİTER, "=", "")
    SÜZ_KRİTER = WF.Substitute(SÜZ_KRİTER, "<", "")
    SÜZ_KRİTER = WF.Substitute(SÜZ_KRİTER, ">", "")
    SÜZ_KRİTER = WF.Substitute(SÜZ_KRİTER, "<>", "")
    SÜZ_KRİTER = WF.Substitute(SÜZ_KRİTER, "<=", "")
    SÜZ_KRİTER = WF.Substitute(SÜZ_KRİTER, ">=", "")
    SÜZ_KRİTER = WF.Substitute(SÜZ_KRİTER, "*", "")
    Set WF = Nothing
End Function
Korhan Ayhan üstadım KOD paylaşımı için teşekkürler. Bu kodu boş modüle yapıştırdım. Nasıl çalıştırmak lazım ?
Hücreye gelip =SÜZ_KRİTER olarak yazdım #AD hatası verdi !
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,276
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Fonksiyonun parametrelerini incelerseniz rahatlıkla görebilirsiniz.

A1 filtre uyguladığınız hücre adresidir.

Kod:
=SÜZ_KRİTER(A1)
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Üstadım harikasınız. çok teşekkür ediyorum
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Korhan Ayhan üstadım, fonksiyon kriteri gayet başarılı yakalıyor. Peki koşulu, yani >, <> gibi bunları da yazdırmak mümkün mü ?
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
üstadım kodu inceleyince bir üstteki sorumun cevabını buldum. ilgine çok teşekkür ediyorum. sağlıcakla kalın
 
Katılım
8 Ekim 2009
Mesajlar
642
Excel Vers. ve Dili
Office 2010 & 2016 TR
Altın Üyelik Bitiş Tarihi
26-12-2023
Paylaşımlar için teşekkürler.
 
Katılım
7 Ekim 2012
Mesajlar
12
Excel Vers. ve Dili
2007
Bu kodu nasıl çalıştırıyoruz acaba
 
Üst