比较2张图纸的值,并返回匹配值和不匹配值vba

比较2张图纸的值,并返回匹配值和不匹配值vba,vba,Vba,我尝试过这段代码,返回的“匹配”值是workfind。 但存在错误返回“不匹配”值等问题。 我认为是其他部分的问题做了任何方式来修改这个?? 谢谢 使用Match()可能比使用嵌套循环更快 Sub compareAndCopy() Dim sht1 As Worksheet, sht2 As Worksheet Dim shtDest As Worksheet, i As Long Set sht1 = Sheets("Sheet1") Set sht2 =

我尝试过这段代码,返回的“匹配”值是workfind。 但存在错误返回“不匹配”值等问题。 我认为是其他部分的问题做了任何方式来修改这个?? 谢谢


使用Match()可能比使用嵌套循环更快

Sub compareAndCopy()

    Dim sht1 As Worksheet, sht2 As Worksheet
    Dim shtDest As Worksheet, i As Long

    Set sht1 = Sheets("Sheet1")
    Set sht2 = Sheets("Sheet2")

    Application.ScreenUpdating = False

    For i = 1 To sht2.Cells(sht2.Rows.Count, "A").End(xlUp).Row

        Set shtDest = IIf(IsError(Application.Match(sht2.Cells(i, 1).Value, sht1.Columns("A"), 0)), _
                          Sheets("Sheet4"), Sheets("Sheet3"))

        sht2.Rows(i).Copy shtDest.Cells(shtDest.Rows.Count, "B").End(xlUp).Offset(1, -1)

    Next i

    Application.ScreenUpdating = True

End Sub
Sub compareAndCopy()

    Dim sht1 As Worksheet, sht2 As Worksheet
    Dim shtDest As Worksheet, i As Long

    Set sht1 = Sheets("Sheet1")
    Set sht2 = Sheets("Sheet2")

    Application.ScreenUpdating = False

    For i = 1 To sht2.Cells(sht2.Rows.Count, "A").End(xlUp).Row

        Set shtDest = IIf(IsError(Application.Match(sht2.Cells(i, 1).Value, sht1.Columns("A"), 0)), _
                          Sheets("Sheet4"), Sheets("Sheet3"))

        sht2.Rows(i).Copy shtDest.Cells(shtDest.Rows.Count, "B").End(xlUp).Offset(1, -1)

    Next i

    Application.ScreenUpdating = True

End Sub