Hallo Claus,
vielen Dank f锟絩 Deine Antwort.
>> Ich w锟絩de gerne meine Autofilter-Einstellungen abfragen, den Filter ausschalten,
>> was erledigen was den Autofilter nicht vertr锟絞t und danach den Autofilter wieder
>> komplett restaurieren.
>
> angepasst aus der Hilfe. Wenn du mehrere Spalten gefiltert hast,
> m锟絪stest du zur Abfrage noch eine Schleife 锟絙er f laufen lassen.
Das Beispiel aus der Hilfe hatte ich auch schon adaptiert.
Problem:
Schreibe in eine Spalte Dat锟絤er, m锟絞lichst 锟絙er mehrere Jahre (muss ja nicht f锟絩
jeden Tag eine Zeile sein ;-) ) z.B. so:
Datum
01.01.2011
02.02.2012
03.03.2013
Schalte den Autofilter ein.
Nun kann man in der Kopfzeile ein Men锟�aufklappen. Darin wird ein Treeview mit
den vorhandenen Eintr锟絞en der Spalte angezeigt. In der ersten Ebene stehen die
Jahre, klappt man diese auf, erscheinen die Monate, die kann man wiederum
aufklappen und es erscheinen die Tage.
Setzt man nun in diesem Treeview irgendwelche H锟絢chen, dann steigt das Beispiel
aus der Hilfe an dieser Stelle:
filterArray(f - 1, 0) = .Criteria1
mit einer Fehlermeldung aus.
Im 锟絙erwachungsfenster erkennt man, dass .Criteria1 und auch .Criteria2 nicht
verf锟絞bar sind. .Operator hat dabei den Wert xlFilterValues.
Excel speichert die im Treeview gew锟絟lten Werte irgendwo anders ab, leider hab
ich noch keine Beschreibung dazu gefunden.
> Sub ChangeFilters()
> Dim w As Worksheet
> Dim filterArray()
> Dim currentFiltRange As String
> Dim f As Long, n As Long
> Dim myStr As String
>
> Set w = Worksheets("Tabelle1")
> With w.AutoFilter
> currentFiltRange = .Range.Address
> With .Filters
> ReDim filterArray(0 To .Count - 1, 0 To 2)
> For f = 1 To .Count
> With .Item(f)
> If .On Then
> filterArray(f - 1, 0) = .Criteria1
> If .Operator Then
> filterArray(f - 1, 1) = .Operator
> filterArray(f - 1, 2) = .Criteria2
> End If
> End If
> End With
> Next
> End With
> End With
Viele Gr锟斤拷e
Bernhard Sander