所以我试图写一个可以过滤一组数据的VBA代码。假设我的Excel中的数据范围从A
到G
,并且我希望我的过滤器在列C
中执行。现在,C
列包含6
个唯一值。我想知道如何通过C
中的值逐个过滤数据。基于索引的某种循环和选择是我想要的。
答案 0 :(得分:0)
Sub GetUniqueAndCount()
Dim d As Object, c As Range, k, tmp As String
dim LastRow as long
LastRow = Worksheets("sheet1").Range("C" & Rows.Count).End(xlUp).Row
Set d = CreateObject("scripting.dictionary")
set rng = Worksheets("sheet1").Range("C2:C" & LastRow)
For Each c In rng
tmp = Trim(c.Value)
If Len(tmp) > 0 Then d(tmp) = d(tmp) + 1
Next c
For Each k In d.keys
'Write filter code here d(k)
'Criteria1:= d(k)
Next k
End Sub
如果您想使用具有唯一值的字典,请尝试这样