宏匹配两组数据

时间:2016-07-27 07:03:01

标签: excel-vba vba excel

我需要帮助来编写宏来比较excel,sheet1和sheet2中同一个excel book中的两个工作表,并显示sheet3上两个工作表之间的所有差异。 我的标题在sheet1和sheet2之间总是相同,但两张表中的信息可能会有所不同。  我列出了两张纸上的标题:

身份证号码出生日期工资单号码姓氏薪酬会员组

我正在努力解决这个问题。所以请伸出援助之手 谢谢。

1 个答案:

答案 0 :(得分:0)

假设'我'是Sheet1中的行数和' m'是Sheet2中的行数和每个工作表中的7个标题,那么这是在Sheet3中注册不匹配的解决方案

此处将Sheet1中的Id编号与Sheet2中的Id编号进行比较,如果存在,则将它们进行比较,并以与标题相同的顺序在sheet3中报告不匹配

Sub Mismatch()

Dim temp3 As Integer
temp3 = 1

Dim array1(7), array2(7), array3(7) As Variant

For i = 2 To 6
Worksheets("Sheet1").Activate
For temp = 1 To 7
    array1(temp) = Cells(i, temp).Value
Next temp

Worksheets("Sheet2").Activate

For m = 2 To 6
    If Cells(m, 1).Value = array1(1) Then
        For n = 1 To 7
            For temp2 = 1 To 7
                array2(temp2) = Cells(m, temp2).Value
            Next temp2
            Worksheets("Sheet3").Activate
            temp3 = temp3 + 1

            Cells(temp3, 1).Value = array1(1)

            For temp4 = 2 To 7
                If array1(temp4) <> array2(temp4) Then
                    Cells(temp3, temp4).Value = "mismatch"
                End If
            Next temp4

            GoTo JumpToHere

        Next n
    End If
Next m
JumpToHere:
Next i

End Sub

我希望这有帮助