Excel VBA-Excel中的比较列表

Excel VBA-Excel中的比较列表,excel,vba,compare,Excel,Vba,Compare,我有两个列表需要比较,这总是需要几个小时,所以也许这个过程可以优化 列表1仅包含用户名: michael1 michael2 bernd1 david1 julia2 ... 列表2包含用户名、名字和姓氏: julian1 Julian Müller michael1 Michael Rink bernd1 Bernd Miller david1 David Ne

我有两个列表需要比较,这总是需要几个小时,所以也许这个过程可以优化

列表1仅包含用户名:

michael1
michael2
bernd1
david1
julia2
...
列表2包含用户名、名字和姓氏:

julian1         Julian         Müller
michael1        Michael        Rink
bernd1          Bernd          Miller
david1          David          Nelz
.....
现在我想把它们分类如下:

Column A: Values from First List
Column B: EMPTY
Column C: Usernames from List2
Column D: First Names from List2
Column E: Last Names from List2

List1
中所有不在
List2
中的用户名,或者不在
List2
中的用户名,都应列在G、H、I列中,或者列在单独的Excel文件中。

MATCH和VLOOKUP是您需要在Excel工作表中解决此问题而不使用VBA的Excel函数

在列表1旁边的列中,您可以在每个单元格中使用MATCH来指示列表2中的用户名是否在列表1中。(例如=IF(iError(匹配(I3,$F$3:$F$6,0)),FALSE,TRUE),其中$F$3:$F$6是列表1的范围,I3是列表2单元格)

类似地,在列表2中,您可以在每个单元格中添加使用VLOOKUP的列,以从列表2中的列表1中查找用户名,但从列表2中的另一个单元格中获取值。(有关如何使用此选项的详细信息,请参阅帮助)

这会给你你需要的信息,你只需要把它合并在一起

您只需将指示为不在列表2中的列表1用户名添加到列表1的末尾

可能您可以轻松地手动执行此操作。例如,使用自动过滤器只显示缺少的一个,然后复制并粘贴这些

我知道这不是一个完整的答案,但你的信息很简单

现在让我看看这是否有帮助,以及你进展如何


Harvey

那么,到目前为止您尝试了什么?我尝试使用VBA代码搜索每个用户名,但由于数据太多,它崩溃了。这是为了我的工作,我们没有“超级计算机”。你能发布你使用的VBA代码和收到的错误消息吗,也许我们可以帮助你优化它。对不起,我不能给你确切的代码,因为它崩溃了:/这不是一个长代码,但我还记得一小部分:Sheet1.Range(“a:a”)。Find(用户名).row列表1和列表2中大约有多少行数据?