Excel 2010, VBA, Autofilter abfragen bei .Operator=xlFilterValues

17/07/2014 - 15:23 von Bernhard Sander | Report spam
Hallo,

wie kann ich mit VBA die Autofilter-Einstellungen abfragen, wenn in der
gefilterten Spalte Datumseintràge stehen und einige (Jahres-)Werte im Treeview
ausgewàhlt sind.
VBA wirft bei Abfrage von Filters.item(x).Criteria1 oder .Criteria2 einen
Fehler. Hab noch nichts mit Hilfe von Google oder gar in der MS-Doku dazu
gefunden (ausser dass es ziemlich versteckt sein soll...).

Ich würde gerne meine Autofilter-Einstellungen abfragen, den Filter ausschalten,
was erledigen was den Autofilter nicht vertràgt und danach den Autofilter wieder
komplett restaurieren.

Gruß
Bernhard Sander
 

Lesen sie die antworten

#1 Claus Busch
17/07/2014 - 15:52 | Warnen spam
Hallo Bernhard,

Am Thu, 17 Jul 2014 15:23:16 +0200 schrieb Bernhard Sander:

Ich würde gerne meine Autofilter-Einstellungen abfragen, den Filter ausschalten,
was erledigen was den Autofilter nicht vertràgt und danach den Autofilter wieder
komplett restaurieren.



angepasst aus der Hilfe. Wenn du mehrere Spalten gefiltert hast,
müsstest du zur Abfrage noch eine Schleife über f laufen lassen.
Der Operator wird mit Integers zurück gegeben: 1 ist "UND", 2 ist "ODER"

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

For n = 0 To 2
myStr = myStr & filterArray(f - 2, n) & Chr(10)
Next
MsgBox myStr

End Sub


Mit freundlichen Grüßen
Claus
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional

Ähnliche fragen