-1
因此,我试图编写一个可以过滤一组数据的VBA代码。假设我有excel中的数据,通过列A
到G
,我希望我的过滤器在列C
中执行操作。现在列C
包含像6
独特的值。我想知道如何通过C
中的值逐个筛选数据。基于索引的某种循环和选择是我想要的。如何使用vba通过逐个使用过滤值来过滤一组数据
因此,我试图编写一个可以过滤一组数据的VBA代码。假设我有excel中的数据,通过列A
到G
,我希望我的过滤器在列C
中执行操作。现在列C
包含像6
独特的值。我想知道如何通过C
中的值逐个筛选数据。基于索引的某种循环和选择是我想要的。如何使用vba通过逐个使用过滤值来过滤一组数据
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
如果你想使用具有唯一值的字典,然后尝试这样
请检查该https://stackoverflow.com/a/17221895/7889129 – Maddy
所有可用的自动筛选标准之一[循环的可能的复制在vba](https://stackoverflow.com/questions/17220736/looping-through-all-available-autofilter-criteria-one-at-a-time-in-vba) – YowE3K
@MaddyNikam我经历了答案在链接中,最后的答案似乎是一种接近我所看到的方式,但我希望可以做出一个更简单的解决方案。感谢您的努力 –