使用Excel宏查找多个工作簿中的重复项

时间:2018-04-25 15:59:05

标签: excel excel-vba vba

所以我对宏很陌生,从字面上开始学习它们。 基本上,我有一个两难的境地。我有一个4张工作簿,每个工作簿有大约800k行或更多,这是我想从我的其他列表中删除的地址和数字列表。有没有办法让我创建一个宏(在该工作簿中),将搜索将在同一文件夹中的其他工作簿中的所有地址/数字?

基本上,我希望宏删除包含该信息的行,或者我希望它能突出显示它们,以便我可以删除它们。

这可能吗??

谢谢! :)

1 个答案:

答案 0 :(得分:0)

完整答案可能会很长。给你一些提示:

循环浏览给定文件夹中的所有文件:

Application.ScreenUpdating = False

Dim MyFolder as String, MyFile as String, wbk as Workbook
MyFile = Dir(MyFolder) 'DIR gets the first file of the folder

'Loop through all files in a folder until DIR cannot find anymore
Do While MyFile <> “”

    Set wbk = Workbooks.Open(Filename:=MyFolder & MyFile)

    ' Some code
    ' Some code
    ' Some code

    wbk.Close savechanges:=True
    MyFile = Dir 'DIR gets the next file in the folder

Loop

Application.ScreenUpdating = True

要检查某个单元格是否具有可在其他工作簿的某个范围内找到的值,您可以使用:WorksheetFunction.VLookup

删除行:ws.Rows(row_number).Delete其中ws是工作表。

如果您刚刚开始使用它可能需要一些时间才能使其正常工作。也许下次尝试更具体地回答你的问题。