我正在使用一个启用了AutoFilter的ListObject,并且我希望在表单中使用给定列中的唯一值。Here有几种方法可以做到这一点,但您需要有一些方法来捕获对表的编辑。因为AutoFilter正在做所有这些工作,所以我想知道是否有一种方法可以从AutoFilter获取值。
这可以做到吗?多么?

发布于 2016-04-28 12:45:47
我希望在表单中使用给定列中的唯一值。
若要从列表中获取唯一值,请使用带有OERN的集合。然后,您可以在表单中使用该集合
Sub Sample()
Dim ws As Worksheet
Dim lRow As Long, i As Long
Dim col As Collection, itm
Set ws = Sheet1 '<~~ Change as applicable
With ws
'~~> Find last row of col A. Change to necessary column
lRow = .Range("A" & .Rows.Count).End(xlUp).Rows
For i = 2 To lRow '<~~ Starting from 2nd row
On Error Resume Next
If Len(Trim(.Range("A" & i).Value)) <> 0 Then _
col.Add .Range("A" & i).Value, CStr(.Range("A" & i).Value)
On Error GoTo 0
Next i
End With
'~~> This is the unique list
For Each itm In col
Debug.Print itm
Next
End Sub因此,如果列中的值为Apple, Oranges, Apple, Oranges, Oranges, Grapes,则最终列表将具有Apple, Oranges, Grapes
发布于 2016-08-06 07:14:58
here的代码非常适合处理许多常见的excel特有的集合问题。包括从范围中获取唯一值的几种有用的、快速的方法。
https://stackoverflow.com/questions/36903672
复制相似问题