使用VBA获取VBA中使用的唯一值?

我现在会用Range,Cells或者类似的东西,用很多不同的方式来做同样的基本原理。

Range("A1", Range("A1").End(xlDown)).AdvancedFilter Action:=xlFilterCopy, _ CopyToRange:=Range("IV1"), Unique:=True Dim myArr as Variant myArr = Range("IV1", Range("IV1").End(xlDown)) Columns("IV").Delete 

有没有办法直接加载这些唯一的值到任何types的对象在VBA中,而不需要复制到另一个位置?

您可以使用Collection Object来创build唯一的条目。 例如

 Sub Sample() Dim Col As New Collection Dim itm Dim i As Long Dim CellVal As Variant '~~> Lets say looping through Row 1 to 22 For '~~> Range("A1:A22") as mentioned in your recent comment For i = 1 To 22 CellVal = Sheets("Sheet1").Range("A" & i).Value On Error Resume Next Col.Add CellVal, Chr(34) & CellVal & Chr(34) On Error GoTo 0 Next i For Each itm In Col Debug.Print itm Next End Sub 

ScreenShot

在这里输入图像描述