![](/img/trans.png)
[英]Compare cells value in sheet1 and sheet2 then move entire row to sheet3
[英]Compare each row in sheet1 to each row in sheet2 -no pair write in sheet3 - HARD
我有一個非常大的 Excel 文件,它具有完全相同的列但 dirosa。 輸入多行。 我需要一個 VBA 腳本的幫助來比較 sheet1 和 sheet2 中的每個整個 Eos 如果它沒有找到一對,我希望它在 sheet3 中寫入行。 非常重要的是,腳本從 sheet1 的第 1 行開始,然后在 sheet2 中循環 true 整個 Range 以檢查它是否喜歡一對。 如果它找不到匹配項,那么我希望它在 sheet3 中寫入該行。
請需要我能得到的所有幫助!!
使用 Excel 2010 - VBA 腳本請
你可以用循環來做。 如果您的列中有很多行,這可能需要很長時間。 否則它工作正常。 基本上,代碼從 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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.