我正在尝试基于名为“ LOC代码”的特定列标题过滤所有工作表。该标题不会出现在工作表的同一列号上。 如何找到所需的列,然后按一系列条件过滤? 谢谢!
我已使用以下代码进行过滤,但它仅基于字段的位置(“ 10”)而没有列标题。
Sub AllSheetsAutofilter()
Dim p As Integer, q As Integer
p = Worksheets.Count
For q = 1 To p
With Worksheets(q)
.Range("A1").AutoFilter Field:=10, _
Criteria1:=Array("ABM", "AC8"), Operator:=xlFilterValues
End With
Next q
End Sub
答案 0 :(得分:0)
我做了类似的工作。我所做的只是在每个选项卡中记录了一个宏过滤LOC的宏。
如果您只需要使用一次,那么您将发现它没有用。
如果要多次使用它,并且在每个选项卡上,LOC始终位于同一位置(在其他选项卡上可以不同),您可能会发现它很有用。关于LOC位置,我的意思是,对于选项卡1,如果LOC始终在第2列中,对于选项卡2,LOC始终在第4列中,则可以使用它。
编辑
以下是您可能想尝试的其他一些技巧。可以将LOC列切割并放在A列中吗?如果是这样,这将是一个好的开始。我已经测试了一张纸。您只需要添加某种类型的代码即可为工作簿中的每个工作表运行它。如果这是适合您的解决方案,我可以为您找到该代码。
Sub Macro7()
Cells.Find(What:="LOC", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Cut
Range("A1").Select
Selection.Insert Shift:=xlToRight
End Sub
我启动了另一个可能的解决方案,您可以尝试完成。记录您执行以下操作的宏:搜索LOC。过滤LOC。录制宏时,请使用相对参考。