Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

eingestellte Autofilter per VBA auslesen

3,227 views
Skip to first unread message

Ronny Rost

unread,
Oct 9, 2003, 4:20:18 AM10/9/03
to
Hi Leute,

ich möchte gerne per VBA den aktuellen AutoFilter auslesen.
Was für Möglichkeiten habe ich dafür?

Gruß
Ronny

Martin Fischer

unread,
Oct 9, 2003, 7:54:35 AM10/9/03
to
Eine Möglichkeit ist mit dem Filter Objekt zu arbeiten, der folgende Code
gibt Dir alle aktiven Filter in das Direktfenster aus:
Sub Filter()
Dim ws As Worksheet
Dim flt As Filter
Dim i As Integer

'Variable anpassen.
Set ws = Worksheets(1) 'Tabellenblatt
i = 1 '1. Spalte des Autofilters

'Durchlaufen aller aktiven Filter
For Each flt In ws.AutoFilter.Filters
If flt.On = True Then
Debug.Print "Spaltennr: " & i
Debug.Print "============="
Debug.Print "Kriterium1: " & flt.Criteria1
If flt.Operator Then
Debug.Print "Kriterium2: " & flt.Criteria2
Else
Debug.Print "Kriterium2: nicht vorhanden"
End If
Debug.Print
End If
i = i + 1
Next flt

End Sub

Gruss
mfi


"Ronny Rost" <m...@e.de> wrote in message
news:2602b01c38e3e$2cd21d70$a601...@phx.gbl...

Ronny Rost

unread,
Oct 9, 2003, 8:59:35 AM10/9/03
to
Hallo Martin,

super für den Tipp. Wie kommt man darauf? Ich habe ewig
überlegt wusste aber nicht wie ich dann noch weiter ran
gehen soll.

Kannst mir da ein Buch empfehlen?

Gruß

Ronny

Martin Fischer

unread,
Oct 9, 2003, 9:43:45 AM10/9/03
to
Hallo Ronny,

Wichtig ist es das Objektmodell von Excel einigermassen zu kennen. Ich habe
also mit dem Worksheet Objekt angefangen, weil ich einfach mal Annahm, dass
ein Filter Objekt in diesem Objekt enthalten sein müsste. Danach habe ich
die Filter Eigenschaft gesucht, zuerst mit der Punkt Notation erfolglos
(ws.Filter gibt es nicht), dann mit der VBA Hilfe im Index nach Filter
gesucht und so bin ich auf das Filter Objekt gestossen und dessen
Auflistungsobjekt AutoFilter.Filters. Mit diesen Informationen geht es
problemlos: Filters Auflistung mit einer For Each Schlaufe durchlaufen und
Eigenschaften abrufen, einziger Problempunkt war noch die Eigenschaft
Criteria2, gibt eine Fehlermeldung zurück, falls die Eigenschaft nicht
gesetzt ist, folglich in der Online Hilfe nachgeschlagen dort steht der
Workaraound mit der If-Bedingung. Aufwand für die Prozedur 3 Min.

Gute Grundkenntnisse der prozeduralen Programmierung und Kenntnisse über die
Objektorientierte Programmierung (mind. wie man auf Objekt, Methoden und
Eigenschaften zugreift) helfen einem sehr und diese Kenntnisse kann man sehr
gut mit einem Buch lernen (andere Benutzer wissen vielleicht bescheid was
geeignet wäre, habe schon lange keines mehr angesehen :-)). Für die konkrete
Problemlösung brauche ich meistens die Online Hilfe (es kennt glaube ich
keiner das ganze Objektmodell von Excel) , da ist es auch wichtig, dass Du
mit der Hilfe umgehen kannst, z. B. dass die Hilfenotation bekannt ist etc.
Hoffe ich konnte Dir weiterhelfen.

Gruss
Martin

"Ronny Rost" <m...@e.de> wrote in message

news:2638801c38e65$30b671d0$a601...@phx.gbl...

Ronny Rost

unread,
Oct 9, 2003, 11:40:22 AM10/9/03
to
Hi Martin, Super
hat mir sehr geholfen.

Werde alles mal nachvollziehen.

Gruß

Ronny

0 new messages