Excel 查找操作没有结果

Excel 查找操作没有结果,excel,vba,Excel,Vba,以下代码以类似于Excel的VLOOKUP函数的方式将表a中的值与表B中的值进行匹配 代码运行时没有错误,但我在单元格中没有得到任何结果。我怎样才能解决这个问题 Sub LoopTem() Dim ws As Worksheet Dim ws1 As Worksheet Dim i As Integer Dim r As Integer Dim lastRow1 As Integer Dim lastRow2 As Integer Set ws = Worksheets("Proactive

以下代码以类似于Excel的
VLOOKUP
函数的方式将表a中的值与表B中的值进行匹配

代码运行时没有错误,但我在单元格中没有得到任何结果。我怎样才能解决这个问题

Sub LoopTem()

Dim ws As Worksheet
Dim ws1 As Worksheet
Dim i As Integer
Dim r As Integer
Dim lastRow1 As Integer
Dim lastRow2 As Integer

Set ws = Worksheets("Proactive Template")
Set ws2 = Worksheets("To")

lastRow1 = ws.Range("Q" & Rows.Count).End(xlUp).Row
lastRow2 = ws2.Range("Q" & Rows.Count).End(xlUp).Row

For i = 2 To lastRow1
    For r = 2 To lastRow2
        If ws.Cells(i, 18) = ws2.Cells(r, 17) Then
           ws.Cells(i, 20) = ws2.Cells(r, 19)
        Else
           ws.Cells(i, 20) = ""
        End If
    Next r

Next i


End Sub

找到匹配项后,必须转到第20列中的下一个单元格。现在你没有那么做;因此,无论是否找到匹配项,搜索都将继续,单元格最终会被
ws.Cells(i,20)=“
覆盖

若要在找到匹配项后停止搜索,请使用
Exit For

    If ws.Cells(i, 18) = ws2.Cells(r, 17) Then
       ws.Cells(i, 20) = ws2.Cells(r, 19)
       Exit For ' <~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Stop search, iterate to next cell
    Else
       ws.Cells(i, 20) = "" ' <~~~~~~~~ Otherwise this will overwrite it eventually
    End If
如果ws.Cells(i,18)=ws2.Cells(r,17),那么
ws.Cells(i,20)=ws2.Cells(r,19)

请退出“每个问题一个问题”。我删掉了第二个。请随意将其作为单独的问题发布。谢谢让-弗朗索瓦·科贝特