Anzeige
Archiv - Navigation
1180to1184
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Aktive Kriterien des Autofilters anzeigen

Aktive Kriterien des Autofilters anzeigen
Gordon
Moin moin,
ich suche shcon 'ne Weile ein Skript, womit ich die aktiven Kriterien eines Autofilters mir in einer Zelle anzeigen lassen kann.
Da habe ich auch schon einiges im Netz gefunden. Wenn ich diese Beispiel dann teste, gehen diese aber nur pro Splate mit zwei aktiven Kriterien. Das Problem habe ich nun bei mehreren verschienden Beispielen aus dem Netz gehabt. Kann man nur bis zu zwei Kriterien in einem Autofilter in einer Spalte ausgeben?
Würde mich echt mal interessieren....
Besten Dank schon mal für die Antworten.
Gruß
Gordon

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
nur 2 Kriterien
18.10.2010 10:51:31
Rudi
Hallo,
mehr gibt es doch gar nicht.
Gruß
Rudi
AW: nur 2 Kriterien
18.10.2010 10:55:23
Gordon
Sorry, hab gerade das falsche Excel angegeben...im Büro habe ich 2007 und nicht wie zu Hause 2003.
In 2007 kann ich ja mehr als zwei Werte angeben. Daher gehen wohl die Code-Beispiele nicht, da diese auf ältere Versionen angelegt sind....richtig?
AW: nur 2 Kriterien
19.10.2010 10:03:42
Gordon
So,
nun habe ich es hinbekommen! *freu*
Bei mehr als zwei Kriterien bei 2007 wird in Criteria1 ein Array mit allen aktiven Filterkriterein geschrieben. Criteria2 bleibt dann leer. Daher habe ich mir nun diese Funktion zusammen geschustert:

Function FilterKriterium(i) As String
Dim ws As Worksheet
Dim flt As Filter
Dim j, arrLänge As Integer
Dim arr()
Dim strKrit As String
On Error GoTo Krit3
Application.Volatile
'Blatt mit dem Filter bestimmen
Set flt = Worksheets("Liste").AutoFilter.Filters(i)
'Wenn nur ein bis zwei Filterkriterien geschaltet sind
If flt.On = True Then
strKrit = Right(flt.Criteria1, Len(flt.Criteria1) - 1)
If flt.Operator Then
strKrit = strKrit & ", " & Right(flt.Criteria2, Len(flt.Criteria2) - 1)
End If
FilterKriterium = strKrit
End If
Exit Function
'Bei mehr als zwei Kriterien
Krit3:
arr = flt.Criteria1
strKrit = Right(arr(1), Len(arr(1)) - 1)
For j = 2 To UBound(arr)
strKrit = strKrit & ", " & Right(arr(j), Len(arr(j)) - 1)
Next j
FilterKriterium = strKrit
End Function
Gruß
Gordon
Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige