vba字典重复key_Excel VBA 之 去除重复项

f5a40347b336f4f96ebc2c6ba9aac86b.png

今天我们来讲一下字典的应用,字典Dictionary是VBA中一个非常有用的对象。字典对象相当于一种联合数组,它是由具有唯一性的关键字(Key)和它的项(Item)构成。

由于字典的Key具有唯一性,所以我们经常用它来解决一些需要忽略重复值的问题,例如现在有一个工作簿,里面有3张工作表,每张表格的A列都是姓名,所有这些姓名中有些是重复的,要求编写一段代码,在另一个工作表上显示不重复的姓名。

我们按Alt+F11调出VBA代码界面,插入一个模块,新建一个过程Sub

在代码中,我们首先定义一个字典对象

Set dic = CreateObject("Scripting.Dictionary")

然后,我们需要遍历所有工作表,将A列姓名数据依次添加到我们刚刚定义的字典中

For Each sht In Sheets    If sht.Name <> "Sheet4" Then'因为Sheet4存放统计后的数据,所以不计入统计范围        For i = 1 To sht.[A65536].End(xlUp).Row            dic(sht.Cells(i, 1).Value) = ""        Next    End IfNext

接下来,把字典的Key全部提取出来,它们是一个数组

arrKeys = dic.keys

最后,我们需要将这些姓名放到Sheet4的A列

Sheets(4).[A1].Resize(dic.Count, 1) = Application.Transpose(arrKeys)

Transpose是转置函数,可以进行行列转换

我们来看一下最终效果

2b297e7d13c2086a3bb943fcf0334005.gif

程序最终效果

全部代码如下图:

3e18455c06a1d325d4aa631170745973.png

代码全貌

点击下面链接可以查看我的其他文章哦!

Excel VBA 之 年会抽奖小程序

Excel VBA 之 自动建立工作表目录

Excel VBA 之 隐藏合并单元格所在的行

Excel VBA 之 将txt文档批量导入至Excel

Excel VBA 之 图片网址批量转成图片(一)

Excel VBA 之 图片网址批量转成图片(二)

Excel VBA 之 批量给Word文档添加页眉页脚

848个Excel VBA 实用技巧,实例+详细解析,入门必看,建议收藏

喜欢的朋友记得点赞关注哦,网友们如果在Excel中遇到问题都可以找我交流,也可以在评论区或私信告诉我你想看到的VBA办公教程,我将在下期分享给大家,以后不定期更新Excel VBA技巧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值