Filterbedingungen einer Tabelle auslesen, VBA
Bei einer sehr breiten Tabelle (viele Spalten) ist es zuweilen schwierig auf einen Blick zu erkennen,
ob auf eine oder mehrere Spalten ein Filter angewandt wird oder nicht.
Abhilfe hierzu kann ein kleiner VBA Code schaffen.
Führt man diesen aus, so werden die angewandten Filter in einem
Excel Dialogbox ausgegeben:
--- START Code Schnipsel
Public Sub Tabellenfilter()
'Filterbedingungen einer Tabelle auslesen und zurückgeben
Dim intCol As Integer
Dim intFilter As Integer
Dim rngFilter As Range
Dim strFilter As String
Dim WS As Worksheet
Application.Volatile
Set WS = ActiveSheet
If WS.FilterMode And WS.AutoFilterMode Then
Set rngFilter = WS.AutoFilter.Range
For intCol = 1 To rngFilter.Columns.Count
With WS.AutoFilter.Filters(intCol)
If .On Then
If strFilter <> "" Then strFilter = strFilter & vbLf
strFilter = strFilter & rngFilter.Cells(1, intCol) & ": " & .Criteria1
Select Case .Operator
Case xlAnd
strFilter = strFilter & " UND " & .Criteria2
Case xlOr
strFilter = strFilter & " ODER " & .Criteria2
End Select
End If
End With
Next intCol
End If
MsgBox strFilter
End Sub
--- ENDE Code Schnipsel
Kommentare
Kommentar veröffentlichen