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)
你会没事的。
我有一个小型宏程序,可以匹配两个工作表(大数据)之间的值。
我正在使用 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)
你会没事的。