2017-05-26 63 views
-1

因此,我试图编写一个可以过滤一组数据的VBA代码。假设我有excel中的数据,通过列AG,我希望我的过滤器在列C中执行操作。现在列C包含像6独特的值。我想知道如何通过C中的值逐个筛选数据。基于索引的某种循环和选择是我想要的。如何使用vba通过逐个使用过滤值来过滤一组数据

+1

请检查该https://stackoverflow.com/a/17221895/7889129 – Maddy

+0

所有可用的自动筛选标准之一[循环的可能的复制在vba](https://stackoverflow.com/questions/17220736/looping-through-all-available-autofilter-criteria-one-at-a-time-in-vba) – YowE3K

+0

@MaddyNikam我经历了答案在链接中,最后的答案似乎是一种接近我所看到的方式,但我希望可以做出一个更简单的解决方案。感谢您的努力 –

回答

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 

如果你想使用具有唯一值的字典,然后尝试这样