比较两个单元格中的数据以查找部分匹配

时间:2014-03-15 08:08:46

标签: excel excel-vba vba

这可能是一个非常简单的编写脚本,但我的编码很糟糕。

我有一个包含姓氏列表的列,以及包含文件名的列B,其中包含字符串中某处的姓氏。

A      B
Smith   10 0950 Smith 10101950
Jones   10 0955 Jones 10051942
Thomas  10 1008 Thoma 01051972

我需要检查A列中姓氏的拼写是否在B列的字符串中找到,并突出显示不匹配的行。

在这种情况下,托马斯的第三行将突出显示。

要检查的行数不应超过1000行。

我找不到任何可以为我做这件事的代码。

感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:0)

dim numrows as long
numrows = Cells.find("*", [A1], , , xlByRows, xlPrevious).Row


'loop over all rows
for i = 1 to numrows
    'instr function returns 0 if string 2 is not found within string 1. in this case, if the value in col A, is not found within col B
    if instr(1, cells(i,2).formulaR1C1, Cells(i,1).formulaR1C1) = 0 then
        Cells(i,1).entireRow.interior.color = RGB(255,255,0) 'highlight row
    end if
next

欢迎来到SO,你是对的,很简单。但是请注意,根据“关于主题答案”的帮助页面 - “要求代码的问题必须表明对正在解决的问题的最小理解。包括尝试的解决方案,为什么它们不起作用,以及预期的结果。”请记住以后的帖子:)

另外,如果这对您有用,请不要忘记将其标记为答案:)