AW: Abfragen Filterstatus Autofilter
05.04.2009 17:41:19
Daniel
Hi
ohne VBA wirst du da vermutlich nicht weit kommen (obwohl ich mich da gerne eines besseren belehren lasse)
du könntest dir aber eine Funktion selber schreiben, die die Überschriften der Spalten ermittelt, in denen ein Filter aktiv ist:
Public Function AktiveFilterÜberschrift(Nr As Long) As String
Application.Volatile
Dim i As Long
Dim x As Long
If ActiveSheet.AutoFilterMode Then
With ActiveSheet.AutoFilter
For i = 1 To .Range.Columns.Count
If .Filters(i).On Then
x = x + 1
If x = Nr Then
AktiveFilterÜberschrift = .Range(1, i).Value
Exit Function
End If
End If
Next
End With
End If
End Function
diese Funktion kannst du dann wie eine normale Excel-Funktion verwenden.
=AktiveFilterÜberschrift(1)
der Parameter "Nr" steht für Nummer des anzuzeigenden Filters.
dh wenn 4 Filter gesetzt sind und die willst die Überschrift des 3. gesetzten Filters angezeigt bekommen, dann musst du eine 3 eingeben.
ist die Anzahl der gesetzten Filter kleiner als der Parameter, ist das Ergebnis der Leerstring
so wie die Funktion geschrieben ist, muss sie im gleichen Tabellenblatt eingesetzt werden, in dem sich auch der Autofilter befindet.
Gruß, Daniel