Sub Compare()
'Get Lengths of the Columns
Z_1 = ActiveWorkbook.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
Z_2 = ActiveWorkbook.Sheets(2).Cells(Rows.Count, 1).End(xlUp).Row
'Variable row index for Sheet3
a = 1
'Find exclusive values in sheet1
For i = 1 To Z_1
j = 1
Do Until ActiveWorkbook.Sheets(1).Cells(i, 1) = ActiveWorkbook.Sheets(2).Cells(j, 1) Or j > Z_2
j = j + 1
Loop
If ActiveWorkbook.Sheets(1).Cells(i, 1) <> ActiveWorkbook.Sheets(2).Cells(j, 1) Then
ActiveWorkbook.Sheets(3).Cells(a, 1) = ActiveWorkbook.Sheets(1).Cells(i, 1)
a = a + 1
End If
Next i
'Find exclusive values in sheet2
For i = 1 To Z_2
j = 1
Do Until ActiveWorkbook.Sheets(2).Cells(i, 1) = ActiveWorkbook.Sheets(1).Cells(j, 1) Or j > Z_1
j = j + 1
Loop
If ActiveWorkbook.Sheets(2).Cells(i, 1) <> ActiveWorkbook.Sheets(1).Cells(j, 1) Then
ActiveWorkbook.Sheets(3).Cells(a, 1) = ActiveWorkbook.Sheets(2).Cells(i, 1)
a = a + 1
End If
Next i
End Sub
1 回答
你可以用循环来做 . 如果列中有很多行,这可能会花费很多时间 . 否则它工作正常 . 基本上,代码从sheet1获取每个值,将其与sheet2的每个值进行比较,如果未找到匹配则将其写入sheet3 . 然后它重复相同的事情,但将sheet2值与sheet1值进行比较 .