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

Beliebte Posts aus diesem Blog

Vergleich mit 2 Bedingungen, INDEX(), VERGLEICH()

Dropdown Liste mit Mehrfachauswahl

nützliche Text Funktionen in Power Query