您可以使用循環。如果列中有很多行,這可能需要很長時間。否則,它工作正常。基本上,代碼從sheet1獲取每個值,並將其與sheet2的每個值進行比較,如果未找到匹配項,則將其寫入sheet3中。然後重複相同的事情,但將sheet2值與sheet1值進行比較。
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
它不工作 - 它只是比較列A而不是整行。這怎麼解決?腳本比較整行是很重要的。 – user3480206