我在Excel的工作表中散布了数据(名称)。它在A到M列中。 有些行的每一列(A-M)中都有数据,有些行什么都没有。
我要提取范围中每个唯一值的列表(甚至是每个值的列表,然后我可以删除重复项)。
在我生命中,我无法弄清楚该如何做,也没有找到在线示例从RANGE(而不是单个列)中提取唯一值。
有什么想法吗?让我知道是否需要更多数据的屏幕截图。
答案 0 :(得分:2)
尝试一下此宏:
Sub MAINevent()
Dim it As Range, r As Range, x0
With CreateObject("scripting.dictionary")
For Each it In Range("A:M").SpecialCells(2)
x0 = .Item(it.Value)
Next
Set r = Cells(1, "N").Resize(.Count, 1)
r.Value = Application.Transpose(.Keys)
End With
End Sub
答案 1 :(得分:1)
您可以使用Go to Special
( Ctrl + G -> Special
)选择blanks
并将其删除( Ctrl + -,并选择了单元格)。然后,使用here中所述的公式将所有列堆叠为一个,一个又一个地堆叠。然后用值替换公式,最后使用Remove Duplicates
。