匹配Excel工作表之间的值并将行复制到另一个工作表

我有我的Excel文件中的3个工作表。 缺less(25,000行),有效(18,000行)和匹配(空白)。

我需要比较Missing和Valid的D列中的值,并将所有匹配的所有行复制到Matched表单中。

如果我能以某种方式进行通配符search,那么这样做也不错,例如ABBOTT LABORATORIES与ABBOTT LAB相匹配的一种方法。 如果这是不可能的,那么如果有一种方法来突出显示已经匹配的行,所以我可以手动查找通配符将非常赞赏。

这是我尝试过的,我通过Googlefind的,但是我没有完全理解代码。 它跑了几分钟没有错误,但没有数据被拉:

Sub CopyRows() Dim cell As Range Dim found As Range Dim dcol Dim bcol Dim totalrows1 As Long Dim totalrows2 As Long totalrows1 = Sheets("Valid").UsedRange.Rows.Count bcol = "$D$2:$D$" & totalrows1 totalrows2 = Sheets("Missing").UsedRange.Rows.Count dcol = "$D$2:$D$" & totalrows2 For Each cell In Sheets("Valid").Range(bcol) If Not Sheets("Missing").Range(dcol).Find(What:=cell.Value, LookAt:=xlWhole) Is Nothing Then Set found = Sheets("Missing").Range(dcol).Find(What:=cell.Value, LookAt:=xlWhole) If found.Offset(0, -3).Value = cell.Offset(0, 1).Value And found.Offset(0, -2).Value = cell.Offset(0, -1).Value Then cell.Offset(0, 2).Value = found.Offset(0, -1).Value End If End If Next cell End Sub 

不会pipe理近似的匹配,但在其他方面:合并丢失和有效的匹配,sorting在ColumnD然后申请高亮与条件格式,以确定相邻的匹配“D”值。 过滤并删除未突出显示的内容。 SU486330的回顾可能会有帮助。