【发布时间】:2018-05-08 16:39:26
【问题描述】:
我需要对同一工作簿中的所有工作表应用相同的过滤器。
所有工作表在第一行都有标题,但应该应用过滤器的标题名称并不总是在同一列中,即工作表一个有问题的标题在工作表 2 的 H 列中它在 A 列中,在工作表 3 中它在 L 列中,依此类推......
此外,有些标题与标准不完全匹配 - 即,有些标题为“STATUS”,有些为“prefix_Status”,其他为“CurrentStatus”等等..所以我需要使用Instr 功能(除非有更好的选择)但我似乎无法弄清楚在哪里或如何使用它..
这是我目前的代码:
Sub WorksheetLoop()
Dim WS_Count As Integer
Dim I As Integer
' Set WS_Count equal to the number of worksheets in the active
' workbook.
WS_Count = ActiveWorkbook.Worksheets.count
' Begin the loop.
For I = 1 To WS_Count
Dim count As Integer, rngData As Range
Set rngData = Range("A1").CurrentRegion
count = Application.WorksheetFunction.Match("STATUS", Range("A1:AZ1"), 0)
rngData.autofilter Field:=count, Criteria1:="INACTIVE"
Next I
End Sub
此代码仅将过滤器应用于一张纸。
【问题讨论】: