作者:绿色风
分类:
时间:2022-08-17
浏览:138
楼主 wise |
Q:如何使用字典获取三列单元格内容的重复值? A:ALT+F11→插入模块→模块输入以下代码:
- Sub MyTest()
- Dim i&, DicA As Object, DicB As Object, DicC As Object
- Dim Arr1, Arr2, Arr3
- Set DicA = CreateObject("scripting.dictionary")
- Set DicB = CreateObject("scripting.dictionary")
- Set DicC = CreateObject("scripting.dictionary")
- Arr1 = Range("A1:A60000")
- Arr2 = Range("B1:B60000")
- Arr3 = Range("C1:C60000")
- For i = LBound(Arr1) To UBound(Arr1)
- '循环数组Arr1
- DicA(Arr1(i, 1)) = ""
- '添加不重复值到字典DicA
- Next i
- For i = LBound(Arr2) To UBound(Arr2)
- '循环数组Arr2
- If DicA.exists(Arr2(i, 1)) Then
- '如果Arr2中的值存在于字典DicA中,则往字典DicB添加重复的值
- DicB(Arr2(i, 1)) = ""
- End If
- Next i
- For i = LBound(Arr3) To UBound(Arr3)
- '循环数组Arr3
- If DicB.exists(Arr3(i, 1)) Then
- '如果Arr3中的值存在于字典DicB中,则往字典DicC中添加重复的值
- DicC(Arr3(i, 1)) = ""
- End If
- Next i
- Range("D1").Resize(DicC.Count, 1) = Application.Transpose(DicC.keys)
- '把DicC的keys值赋予给D列
- Set DicA = Nothing
- Set DicB = Nothing
- Set DicC = Nothing
- End Sub
查找重复值.rar |
2楼 bluexuemei |
学习,好方法! |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一