我有两个电子表格,我想比较两个不同的列并突出显示所有重复项。我有代码通过一个工作表找到所有重复项,但我有两个单独的excel文件,我想比较。
Sub check_dups()
Dim cel As Variant
Dim myrange As Range
Set myrange = Range("a1:ad400")
myrange.Interior.ColorIndex = xlNone
For Each cel In myrange
If Application.WorksheetFunction.CountIf(myrange, cel) > 1 Then
cel.Interior.ColorIndex = 4
End If
Next
End Sub
如何比较两个不同的文件,而不仅仅是比较一个数据?
另外,我如何比较两个特定列,例如C1:C400
和AD1:AD400
而不是整个文件?
答案 0 :(得分:0)
我假设您要比较AD1:AD400" File1.xlsx"到C1:c400 in" File2.xlsx":
Sub check_dups()
Dim cel, myrange, myrange2 As Range 'Changed to range. No need to use the extra memory for variant.
Set myrange = Workbooks("File1.xlsx").Sheets("Sheet1").Range("ad1:ad400") 'Edited since I forgot to change this to AD1
myrange.Interior.ColorIndex = xlNone
Set myrange2 = Workbooks("File2.xlsx").Sheets("Sheet1").Range("C1:C400")
For Each cel In myrange
If Application.WorksheetFunction.Match(cel, myrange2) >= 1 Then
cel.Interior.ColorIndex = 4
End If
Next
End Sub
注意:对于较大的数据集,将第一个范围写入数组并循环可能会更快。对于给定的大小数据集,情况并非如此。