如何通过逐个使用过滤值来使用vba过滤一组数据

时间:2017-05-26 08:46:31

标签: excel excel-vba vba

所以我试图写一个可以过滤一组数据的VBA代码。假设我的Excel中的数据范围从AG,并且我希望我的过滤器在列C中执行。现在,C列包含6个唯一值。我想知道如何通过C中的值逐个过滤数据。基于索引的某种循环和选择是我想要的。

1 个答案:

答案 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

如果您想使用具有唯一值的字典,请尝试这样