Kriter süzme fonksiyonunda değer değişince yeniden hesaplama sorunu?

Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Aşağıdaki kodları xla olarak bütün kitaplarda kullanmak istiyorum, ancak kriter değiştiğinde yeniden hesaplama yapmıyor çöüzmü ne olabilir

Kullanımı:
5. satır süzülmüş halde diyelim
=Kriterler(a5) yazarsanız süzülen kriterleri hücreye yazar
Kod:
Function Kriterler(Rng As Range) As String
    Dim Filter As String
    Filter = ""
    On Error GoTo son
    With Rng.Parent.AutoFilter
        If Intersect(Rng, .Range) Is Nothing Then GoTo son
        With .Filters(Rng.Column - .Range.Column + 1)
            If Not .On Then GoTo son
            Filter = Replace(.Criteria1, "=", """", 2)
            Filter2 = Replace(.Criteria2, "=", """", 2)

            Select Case .Operator
                Case xlAnd
                    Filter = Filter & " ve " & Filter2
                Case xlOr
                    Filter = Filter & " veya " & Filter2
            End Select
                        
        End With
    End With
son:
Kriterler = Filter
End Function
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
süzülen satır 5. satı ise değeri görmek için 6 satırı referans vermek lazımmış eski kodu inceleyince.
Filtre Uygulanan hücre f5 diyelim f5 de süzülen kriteradını
=kriterler(f6) yazınca öğreniyorsun

şimdi sorunum şu koları nasıl revize etmeliyiz ki biz f5 göstersekte o f6yı referans alsa yani seçöilen satır nosunu kodlarda 1 artırsak
 
Üst