如何通过VBA提取excel的某一列中所包含的不同的值。
比如这一列中有aa,bb,aa,cc,aa,dd,我只想得到aa,bb,cc,dd,就是取出包含的所以的值但是只取一次。...
比如这一列中有aa,bb,aa,cc,aa,dd,我只想得到aa,bb,cc,dd,就是取出包含的所以的值但是只取一次。
展开
2个回答
展开全部
用数据字典,dictionary value,item 。 value不允许重复。
Sub test()
Dim name()
Set dic = CreateObject("Scripting.Dictionary")
a = [a65536].End(xlUp).Row
For Each Cell In Worksheets("Sheet1").Range("A1:A" & a)
If Not dic.exists(Cell.Value) Then
dic.Add Cell.Value, Cell.Value
On Error Resume Next
End If
Next
name = dic.items
For i = 1 To dic.Count
Worksheets("Sheet1").Cells(i, 2) = name(i - 1)
Next
End Sub
Sub test()
Dim name()
Set dic = CreateObject("Scripting.Dictionary")
a = [a65536].End(xlUp).Row
For Each Cell In Worksheets("Sheet1").Range("A1:A" & a)
If Not dic.exists(Cell.Value) Then
dic.Add Cell.Value, Cell.Value
On Error Resume Next
End If
Next
name = dic.items
For i = 1 To dic.Count
Worksheets("Sheet1").Cells(i, 2) = name(i - 1)
Next
End Sub
追问
执行的效果是我想要的,但是小妹菜鸟啊,大师能不能解释一下代码哈。理解不了就不能活用,麻烦注释哈,感谢。
追答
你去搜搜 vba 数据字典 看看 就知道了 ,很好理解
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询