Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1648to1652
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

Mehr als 2 Filterkriterien Autofilter auslesen

Mehr als 2 Filterkriterien Autofilter auslesen
10.10.2018 09:24:32
Sebastian
Guten Morgen,
mit dem u.a. Code können bis zu 2 Filterkriterien des Autofilters in einer Spalte ausgelesen werden. Dazu wird in eine Zelle die Funktion =AF_KRIT(Zelle) verwendet. Leider funktioniert der Code tatsächlich nur bis zu 2 Filterkriterien, bei mehr als 2 Kriterien funktioniert der Code nicht mehr.
Da ich diesbezüglich in VBA nicht fit genug bin, frage ich hier nach einer Erweiterungslösung.
Kann jemand helfen?
VG Sebastian
Public Function AF_KRIT(Bereich As Range) As String
'Liest die Kriterien des Autofilters aus und listet diese in einer Zelle
'Als Bezug dient die erste Zelle nach dem Spaltentitel: =AF_KRIT(A2)
Dim s_Filter        As String
s_Filter = ""
On Error GoTo Ende
With Bereich.Parent.AutoFilter
With .Filters(Bereich.Column - .Range.Column + 1)
s_Filter = .Criteria1
Select Case .Operator
Case xlAnd
s_Filter = s_Filter & " UND " & .Criteria2
Case xlOr
s_Filter = s_Filter & " ODER " & .Criteria2
End Select
End With
End With
Ende:
AF_KRIT = s_Filter
End Function

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehr als 2 Filterkriterien Autofilter auslesen
10.10.2018 09:53:21
UweD
Hallo
meines Erachtens gibt es auch nur 2 Benutzerdefinierte Filterkriterien
versuch doch mal händisch mehr als 2 mit und / oder einzustellen.


Oder meinst du den Filter, wo du einzelne Haken setzen kannst?
LG UweD
AW: Mehr als 2 Filterkriterien Autofilter auslesen
10.10.2018 09:55:33
Sebastian
Ja, ich meine den Autofilter, bei dem ich aus der Spalt mit x-möglichen Kriterien einzelnen anwählen kann oder abwählen kann.
VG
Sebastian
AW: geht, aber ...
10.10.2018 10:12:35
Fennek
Hallo,
der "alte" Autofilter geht nur mit 2 Kriterien, die aber auch "=", "" sein können. Die Erweiterung auf beliebig viele Kriterien erlaubt nur "=".
Der Rekorder zeigt die Syntax, oder besser:
http://snb-vba.eu/VBA_Autofilter_en.html
mfg
Anzeige
AW: geht, aber ...
10.10.2018 12:33:58
Sebastian
Ok, dann funktioniert das wohl nicht so wie ich gedacht habe...
Schade. Ich benötige mehr als 2 Kriterien, die ausgelesen werden können.
VG
AW: wieso schade?
10.10.2018 12:38:28
Fennek
Hallo,
der gezeigte Ansatz wird/sollte dir helfen, dein Problem zu lösen!
Wenn es auf das Auslesen ankommt, suche die "sichtbaren" Zellen in der gefilterten Spalte.
mfg
AW: wieso schade?
10.10.2018 15:42:47
Sebastian
Also ehrlich gesagt verstehe ich nicht, welchen Ansatz Du meinst.
Ich benötige einen Code, der mir die Filterkriterien (Anzahl n) in einer Zelle ausgibt.
Vielleicht musst Du mir hier auf die Sprünge helfen...
VG
AW: wieso schade?
11.10.2018 10:24:24
Sebastian
Wie kann ich denn die sichtbaren Zellen in der gefilterten Spalte auslesen?
VG
Sebastian
Anzeige
AW: wieso schade?
11.10.2018 10:24:32
Sebastian
Wie kann ich denn die sichtbaren Zellen in der gefilterten Spalte auslesen?
VG
Sebastian
AW: visibleCells
11.10.2018 10:44:28
Fennek
Hallo,
im ersten Schritt (Beispiel für Spalte A)

Array_Sichtbare_Zellen = Activesheet.usedrange.Columns(1).SpecialCells(xlCellTypeVisible)
mfg
(mein PC ist "down", falls nicht msgbox join(Array_sichtbare_Zellen, ", ") geht, zuerst mit EACH in andere Variable schreiben)
AW: Mehr als 2 Filterkriterien Autofilter auslesen
12.10.2018 16:07:31
Daniel
Hi
sobald du 3 oder mehr Elemente auswählst, ist das intern verwendete Criterium ein Array, welches alle anzuzeigenden Werte enthält.
Die Liste könnte u.U. länger werden.
der Code um auch diesen Fall auszuwwerten sieht so aus:

Public Function AF_KRIT(Bereich As Range) As String
'Liest die Kriterien des Autofilters aus und listet diese in einer Zelle
'Als Bezug dient die erste Zelle nach dem Spaltentitel: =AF_KRIT(A2)
Dim s_Filter        As String
s_Filter = ""
On Error GoTo Ende
With Bereich.Parent.AutoFilter
With .Filters(Bereich.Column - .Range.Column + 1)
Select Case .Operator
Case xlFilterValues
s_Filter = Join(.Criteria1, "; ")
Case Else
s_Filter = .Criteria1
Select Case .Operator
Case xlAnd
s_Filter = s_Filter & " UND " & .Criteria2
Case xlOr
s_Filter = s_Filter & " ODER " & .Criteria2
End Select
End Select
End With
End With
Ende:
AF_KRIT = s_Filter
End Function
Gruß Daniel
Anzeige
AW: Mehr als 2 Filterkriterien Autofilter auslesen
15.10.2018 09:21:01
Sebastian
Hallo Daniel,
funktioniert. Ich bin begeistert.
Vielen vielen Dank.
VG
Sebastian

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige