我有一个每天都在变化的数据集。我想根据公司名称过滤数据 - "公司1","公司2","公司3"等等然后再运行另一个子公司。我目前使用以下代码(只是过滤)。
Sub StackOverflowQuestion()
Editing_Sheet.Range("$A$1:$AH$1669").AutoFilter Field:=1, Criteria1:= _
"Company 1"
Editing_Sheet.Range("$A$1:$AH$1669").AutoFilter Field:=1, Criteria1:= _
"Company 2"
Editing_Sheet.Range("$A$1:$AH$1669").AutoFilter Field:=1, Criteria1:= _
"Company 3"
Editing_Sheet.Range("$A$1:$AH$1669").AutoFilter Field:=1, Criteria1:= _
"Company 4"
Editing_Sheet.Range("$A$1:$AH$1669").AutoFilter Field:=1, Criteria1:= _
"Company 5"
End Sub
但随着数据(包括公司名称)不断变化 - 例如它将一直到公司20"排除奇数公司,名称完全不同,如#34;新公司名称45"等等。拥有一致的代码,只需单击按钮即可完成所有操作。
我尝试了以下代码(只是为了查看我是否在正确的轨道上,任意使用" 50")来遍历所有自动过滤器选项
Sub LoopThroughAuto
For i = 1 to 50
Editing_Sheet.Range("$A$1:$AH$1669").AutoFilter Field:=1, Criteria1:= _
i
next i
但那并没有奏效。无论如何都要循环遍历所有自动过滤器选项然后过滤它们吗?
感谢您的帮助!
答案 0 :(得分:1)
Dictionary
对象允许您在Column A
中创建所有唯一条目的列表。接下来,您可以遍历唯一条目,按每个条目进行过滤。注意:在下面的代码中,我使用了CurrentRegion
的{{1}}属性。此属性假定数据是连续的,没有任何空行或列。如有必要,请更新。
A1