Aktive Autofilterkriterien auslesen
#1
Photo 
Liebe Community,

ich scheitere an einem womöglich simplen Problem. Ich möchte gerne, dass alle aktiven Autofilter angezeigt werden - und zwar sowohl die gewählte Filterkategorie, als auch der dazugehörige Filter (die Filterkategorie in E7-12 und der/die jeweiligen Filter in F7-F12). Ich habe bereits unzählige VBA Codes aus diesem und anderen Foren ausprobiert - leider ohne Erfolg. Hoffe hier kann mir jemand helfen, da ich die Dateis chon kaum mehr sehen kann :)

Zur Not reicht auch wenn die Filter unsortiert und in einer Linie angezeigt werden - hauptsache sie werden ausgewiesen.

Anbei ein Screenshot bzw. eine Beispieldatei.

lg Armin


Angehängte Dateien Thumbnail(s)
   

.xlsm   Excel Autofilter.xlsm (Größe: 30,61 KB / Downloads: 5)
Top
#2
Hi,

hilft dir das weiter?
https://msdn.microsoft.com/de-de/vba/exc...ject-excel
Top
#3
Hallo,

vielen Dank für den Tipp.

Ich habe nun nach langer Suche einen Code gefunden, der meine Zwecke erfüllt. Allerdings hapert es noch etwas an der Optik...


Code:
Function AutoFilter_Criteria(Rng As Range) As String
Dim str1 As String, str2 As String
Application.Volatile
With Rng.Parent.AutoFilter
   With .Filters(Rng.Column - .Range.Column + 1)
       If Not .On Then Exit Function
           str1 = .Criteria1
       If .Operator = xlAnd Then
           str2 = " AND " & .Criteria2
       ElseIf .Operator = xlOr Then
           str2 = " OR " & .Criteria2
       End If
   End With
End With
AutoFilter_Criteria = UCase(Rng) & ": " & str1 & str2
End Function


Ich scheitere schon an sehr banalen Dingen, aber vllt kann ja wer von euch das schnell lösen - wäre sehr dankbar. Wenn ich z.B. in einer Spalte mit "Markt" und "Sektor" einen Filter setze...ist das Ergebnis in der Zelle:

MARKT: =Primär
SEKTOR: =Fremd

Mir würde allerdings vollkommen ausreichen wenn er mir nur das Kriterium ausliest....also nur Primär und Fremd in dem Fall. Die Kategoriennamen sind bereits in einer anderen Zelle gegeben...

Anbei ein Screenshot wie es aussieht.

lg und vielen DAnk


Angehängte Dateien Thumbnail(s)
   
Top
#4
Ohne es ausprobiert zu haben:
deine gesuchten Begriffe stehen offensichtlich nach einem Gleichheitszeichen in der Variablen
lass dir doch nur den Text nach dem Gleichheitszeichen anzeigen:

Code:
Sub zeiche()
Dim v 'gleichheitszeichen
Dim w 'Text nach =
v = InStr(1, [A1], "=")
w = Mid([A1], v + 1, 99)
End Sub
Wobei du statt meinem [A1] jeweils deine Variable .Criteria1 bzw. .Criteria2 einsetzen musst
Top
#5
Guten Morgen,

vielen Dank für die Rückmeldung, leider hat es irgendwie keinen Effekt gehabt :/

Ich habe am ende des Codes den Part mit "Ucase" gelöscht und konnte so den ersten Teil wegbringen. Leider ist das "="-Zeichen noch immer da.
Top
#6
Hallo Skar,

warum nicht gleich mit Datenschnitten arbeiten? (und/oder Pivot verwenden)
Diese Datenschnitte (slicer) könnte auch per VBA abgefragt werden, falls überhaupt notwendig da ja ohnehin optisch sofort erkennbar ist was gefiltert ist.

.xlsm   Excel Autofilter.xlsm (Größe: 30,52 KB / Downloads: 3)
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
Top
#7
Hallo,

danke für die Info. Da der output immer eine Pdf ist, hätte ich unabhängig von der Art der Tabelle immer gern die Kriterien aufgelistet.

Ich bin zufrieden wie es ist, allerdings stört mich nur das "=" Zeichen....das bekomm ich irgendwie nicht weg
Top
#8
Hallo, :19:

das "=" bekommst Du mit...


Code:
Mid(.Criteria1, 2)

... weg.
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste