Excel VBA - Application.Match 方法未找到匹配项

Excel VBA - Application.Match method not finding match

我有一个小型宏程序,可以匹配两个工作表(大数据)之间的值。

我正在使用 Application.Match 方法在另一个工作表中查找特定值的匹配项。

问题是,当我尝试在范围内分配一个行变量时,结果得到 Row 1 而不是 Row 7完全匹配的地方。

Application.Match(data1, Worksheets("Data").Range("O" & lRowRange & ":O" & lLastRow), 0)`

lRowRange = 5

If Not IsError(Application.Match(data1, Worksheets("Data").Range("O" & lRowRange & ":O" & lLastRow), 0)) Then

     lMatchFound = Application.WorksheetFunction.Match(data1, Worksheets("Data").Range("O" & lRowRange & ":O" & lLastRow), 0)

     sDataFound = Sheets("Data").Cells(lMatchFound, 15)

End if

我没有使用 LOOP 语句来查找匹配项,因为工作表包含大量数据。

希望你能帮助我。提前致谢。

您正在寻找 O5:O10 中的匹配项。如果您搜索的文本在 O5 中,那么您的匹配函数会给您一个“1”,因为它位于您范围的第一个单元格中。

使用

sDataFound = Sheets("Data").Cells(lMatchFound + lRowRange - 1, 15)

你会没事的。