在 excel 文件 A、Col A 中,我有零件清单的族类型。 0.5V, 2V, 5V,10V,12V, etc
在 Col B 到 K 中,我有一些零件数据维度和类似的东西。我正在寻找一种方法,让宏按 Col A 中的值运行过滤器,然后运行我已经拥有的其他代码,清除过滤器选择,然后转到过滤器中的选择选项。
所以如果我的过滤器选项是
.1
.5
.03
.9
2
8
它将过滤.1
,运行代码,清除过滤器,按.5
过滤,运行代码,清除过滤器,按.03
过滤等。我完全迷失在如何循环浏览过滤器列表上。任何帮助将不胜感激
创建一个值数组,然后在该数组中循环。
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
¹ 引自斯科特·克兰的评论。