您可以使用循环。如果列中有很多行,这可能需要很长时间。否则,它工作正常。基本上,代码从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