Microsoft Excel

Herbers Excel/VBA-Archiv

Autofilter Kriterium in Zelle > Fehler bei > Datum | Herbers Excel-Forum


Betrifft: Autofilter Kriterium in Zelle > Fehler bei > Datum von: Stef@n
Geschrieben am: 09.02.2012 07:22:06

Hallo liebe Excel-Freunde,

ich nutze folgende Funktion, um mir über einer Liste mit einem Autofilter
das genutzte Filterkriterium anzeigen zu lassen.
=Autofilterkriterium(a3) in Zelle a2
(Wennn die Liste bei a3 beginnt)

Das funktioniert auch blendend. Nur wenn ich in der Liste einen benutzerdefinierten
Autofilter auf ein Datum einstelle
z..B größer als 01.01.2012
zeigt mir die Funktion / Formel den Wert
>40909
Kann man die u.a. Funktion so ändern, daß er mir
>01.01.2012
anzeigt ?
Freu mich auf einen Tip
Gruß
Stef@n

hier die Funktion

Function FilterKriterien(Rng As Range) As String
Dim Filter As String
Application.Volatile
Filter = ""
On Error GoTo Finish
With Rng.Parent.Autofilter
If Intersect(Rng, .Range) Is Nothing Then GoTo Finish
With .Filters(Rng.Column - .Range.Column + 1)
If Not .On Then GoTo Finish
Filter = .Criteria1
Select Case .Operator
Case xlAnd
Filter = Filter & " UND " & .Criteria2
Case xlOr
Filter = Filter & " ODER " & .Criteria2
End Select
End With
End With
Finish:
FilterKriterien = Filter
End Function

  

Betrifft: AW: Autofilter Kriterium in Zelle > Fehler bei > Datum von: Stef@n
Geschrieben am: 09.02.2012 20:27:28

Es muss natürlich heissen
=FilterKriterien(a3) in Zelle a2

Sorry für meine fehlerhafte textliche Beschreibung

Gruss
Stef@n


  

Betrifft: AW: Autofilter Kriterium in Zelle > Fehler bei > Datum von: Detlef
Geschrieben am: 14.02.2012 12:14:15

Hallo Stef@n,

wenn die Spaltenüberschrift "Datum" lautet, dann so:

Function FilterKriterien(Rng As Range) As String
Dim Filter As String
Application.Volatile
Filter = ""
On Error GoTo Finish
With Rng.Parent.AutoFilter
If Intersect(Rng, .Range) Is Nothing Then GoTo Finish
With .Filters(Rng.Column - .Range.Column + 1)
If Not .On Then GoTo Finish
Filter = .Criteria1
Select Case .Operator
Case xlAnd
Filter = Filter & " UND " & .Criteria2
Case xlOr
Filter = Filter & " ODER " & .Criteria2
End Select
End With
End With

Finish:
'** Rückgabe des Filterwertes
If Rng = "Datum" And Left(Filter, 1) <> "=" Then
    FilterKriterien = Left(Filter, 1) & CDate(Mid(Filter, 2, 8))
Else
    FilterKriterien = Filter
End If

End Function

Gruß Detlef


Beiträge aus den Excel-Beispielen zum Thema "Autofilter Kriterium in Zelle > Fehler bei > Datum"