ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > Excel VBA > 如何判断是否有重名的人

如何判断是否有重名的人

作者:绿色风 分类: 时间:2022-08-18 浏览:82
楼主
fanxq
在我们的日常工作中,特别是财务分发工资奖金的时候,财务经常会用vlookup函数来匹配一个人的银行卡号。但如果有相同的人名,vlookup只能匹配第一个找到的人的银行卡号,这样就会导致财务把两个人的钱打在一个人的卡里,另外 一个人没打卡。这样的情况屡屡出现,简直让人崩溃。当然,如果事先知道有重名的人,就可以在姓名后面加1,加2来区别了。那么,如何判断是否有重名的人呢,这段代码可以帮到你。
Sub Duplicative()
    Dim Arr, dic, i, d
    Arr = Range("B3", Range("B3").End(xlDown)).Resize(, 5).Value
    Set dic = CreateObject("Scripting.Dictionary")
    For i = 1 To UBound(Arr) - 1
        For j = i + 1 To UBound(Arr)
            If Arr(i, 1) = Arr(j, 1) And Arr(i, 4) <> Arr(j, 4) Then _
                dic.Add Arr(i, 1), ""
        Next
    Next
    Str1 = Join(dic.keys, ",")
    MsgBox "重复的姓名是:" & Str1, 64
    Set dic = Nothing
End Sub
素材见http://www.exceltip.net/thread-22315-1-1.html
如何判断B列中是否有同名但不是一个人的情况.rar
2楼
い卋玑┾宝珼
这个一次只能判断一个重名的耶,而且改好之后,才能继续判断接下来的呢

建议要不加一个自动加1加2,要不可以把重复的姓名罗列一下比较好

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap