VBA比较两列并返回不匹配数据的值

时间:2018-10-29 13:46:41

标签: excel vba compare

我正在尝试使下面的宏起作用,但它始终将每个值都返回为“到达”。

Sub CompareSheets()
    Dim cell As Range
    Dim found As Range

    For Each cell In Sheets("Current").Range("D3:D500")
        Set found = Sheets("Update").Range("D2:D500").Find(cell, LookAt:=xlWhole)

        For Each found In Sheets("Update").Range("D2:D500")
            If Not cell Like found Then cell.Offset(0, 8) = "Arrived"
        Next found
    Next cell

End Sub

1 个答案:

答案 0 :(得分:0)

尝试打印在If条件下发生的情况,很可能您会找到解决方法:

For Each cell In Sheets("Current").Range("D3:D500")
    Set found = Sheets("Update").Range("D2:D500").Find(cell, LookAt:=xlWhole)
    For Each found In Sheets("Update").Range("D2:D500")
        If Not cell Like found Then
            cell.Offset(0, 8) = "Arrived"
            MsgBox "Cell is " & cell.Value2 & " and found is " & found.Value2
        End If
    Next found
Next cell