在excel文件A中,Col A我有一个零件清单的族类型。在Col B thru K 0.5V, 2V, 5V,10V,12V, etc
我有一些零件数据维度和类似的东西。我正在寻找一种方法让一个宏按照Col A中的值运行一个过滤器,然后运行我已经拥有的其他代码,清除过滤器选择,然后转到过滤器中的选择选项。
所以如果我的过滤器选项是
.1
.5
.03
.9
2
8
它会过滤.1
,运行代码,清除过滤器,按.5
过滤,运行代码,清除过滤器,过滤.03
等等。我完全迷失了如何循环通过筛选器列表。任何帮助将不胜感激
答案 0 :(得分:1)
创建一个值数组,然后遍历该数组.¹
Sub sequentialAutoFilter()
Dim a As Long, arrs As Variant
arrs = Array(0.1, 0.5, 0.03, 0.9, 2, 8)
With Worksheets("Sheet99")
If .AutoFilterMode Then .AutoFilterMode = False
With .Cells(1, 1).CurrentRegion
For a = LBound(arrs) To UBound(arrs)
.AutoFilter field:=1, Criteria1:=arrs(a)
With .Resize(.Rows.Count - 1, .Columns.Count).Offset(1, 0)
If CBool(Application.Subtotal(103, .Cells)) Then
'there are filtered cells visible, run code here
'note: .Cells does not include the header row here
End If
End With
Next a
End With
If .AutoFilterMode Then .AutoFilterMode = False
End With
End Sub
¹引自Scott Craner的评论。