簡體   English   中英

將 sheet1 中的每一行與 sheet2 中的每一行進行比較 - 在​​ 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM