Sub
Multifilter()
Dim
Ws
As
Worksheet, Wsh
As
Worksheet
Const
C_SHEETS
As
String
=
"MessungenRestglanz in %Eingabe"
Dim
strName
As
String
Dim
oFlt
As
Filter, rngFa
As
Range, rngFc
As
Range, rngTo
As
Range
Set
Wsh = ActiveSheet
If
Wsh.AutoFilterMode
Then
Set
rngFa = Wsh.AutoFilter.Range
Set
rngFc = rngFa.Cells(1)
strName = Replace(C_SHEETS, Wsh.Name,
""
)
For
Each
Ws
In
ThisWorkbook.Sheets
If
InStr(strName, Ws.Name)
Then
Set
rngTo = Ws.Cells.Find(rngFc.Value, , xlValues, xlWhole)
Set
rngTo = rngTo.Resize(rngFa.Rows.Count)
For
Each
oFlt
In
Wsh.AutoFilter.Filters
If
oFlt.Operator
Then
rngTo.AutoFilter Field:=1, _
Criteria1:=Mid(oFlt.Criteria1, 2), _
Operator:=oFlt.Operator, _
Criteria2:=Mid(oFlt.Criteria2, 2)
Else
rngTo.AutoFilter Field:=1, _
Criteria1:=Mid(oFlt.Criteria1, 2)
End
If
Next
oFlt
End
If
Next
Ws
Else
For
Each
Ws
In
ThisWorkbook.Sheets
Ws.AutoFilterMode =
False
Next
Ws
End
If
End
Sub