利用字典去重,下面是示例代码,去除第一列的重复项Sub Test() '利用字典去重,字典的特性是key值不能重复
Dim Dic, Arr
Dim i As Integer, r As Integer
Dim Str As String
r = Sheet1.Range("A65536").End(xlUp).Row
If r = 1 Then Exit Sub '如果第一列没有数据那么退出程序
Set Dic = CreateObject("scripting.dictionary") '创建字典对象
For i = 1 To r '将第一列数据添加到字典的key值中
Dic(CStr(Cells(i, 1))) = ""
Next
Arr = Dic.keys '返回字典key的数组
Set Dic = Nothing '销毁对象
Str = Join(Arr, ",") '将数组中的内容显示为一字符串
MsgBox Str
End Sub
仅变这道题而言,直接使用 Excel 自身的删除重复项功能会更简单:
选择这块去除重复的区域;
主菜单中选择“数据”→“删除重复项”;
根据提示,默认“数据包含标题”选中,点击“确定”按钮即可。
用并集的方法解决,可参考我空间的并集以下代码完成
设你的数据在A、B两列中,把两列中不重复数据提取到C列
Sub 提取两列不重复数据1()
Dim d, Temp
Dim r&, r1
Dim arr, arr1
Set d = CreateObject("Scripting.Dictionary")
r = Range("A65536").End(xlUp).Row
r1 = Range("B65536").End(xlUp).Row
arr = Range("A1:A" &r).Value
arr1 = Range("B1:B" &r1).Value
For Each Temp In arr
d(Temp) = 1
Next
For Each Temp In arr1
d(Temp) = 1
Next
Range("C1").Resize(d.Count, 1) = Application.Transpose(d.keys)
End Sub
你只需要把你实际的数据列把A、B、C换成你的实际列标即可,A、B列可增减数据
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)