Confronta le righe in due fogli diversi

Ho due fogli di lavoro da confrontare. A volte una intera row di dati può essere aggiunta, eliminata o modificata. Devo confrontarlo con l'altro foglio di lavoro.

Ad esempio, se un foglio di lavoro sembra:

(Sheet 1) Max J 89231 Sam L 82313 Penny H 23456 Mary K 91423 

E la seguente scheda sembra:

 (Sheet 2) Sam L 82313 (Max J Removed) John S 71234 (Penny H changed to John S) Mary K 91423 Thomas N 18123 (Thomas N added) 

Come posso visualizzare le differenze nelle righe per i due fogli, ad esempio foglio3 utilizzando una macro?

 (Sheet 3) Max J 89231 John S 71234 Thomas N 18123 

Avere due loops in each foglio – che controlla Sheet1 contro Sheet2 e inserisce le differenze in Sheet3 e poi Sheet 2 contro Sheet1 e inserisce le differenze anche in Sheet3.

In mezzo pseudo mezzo vba codice, qualcosa di simile per Sheet1:

 for i = beginning row in Sheet 1 to last Row in Sheet1 'matchFound variable concludes if match is found. Initially no match matchFound=false continue=true ' boolean to tell us whether its worth proceeding if we have identified a match if (continue) then for j = beginning row in Sheet 2 to last Row in Sheet2 'if Sheet1 row has been matched in a row in Sheet2 if Sheet1.Cells(i,1).Value = Sheet2.Cells(j,1).Value and Sheet1.Cells(i,2).Value = Sheet2.Cells(j,2).Value then matchFound = true continue=false endif next j endif 'no match found if matchFound = false then sheet3.Range(last used row + 1, 1).Value = Sheet1.Cells(i,1).Value sheet3.Range(last used row + 1, 2).Value = Sheet1.Cells(i,2).Value endif next i prossimo j for i = beginning row in Sheet 1 to last Row in Sheet1 'matchFound variable concludes if match is found. Initially no match matchFound=false continue=true ' boolean to tell us whether its worth proceeding if we have identified a match if (continue) then for j = beginning row in Sheet 2 to last Row in Sheet2 'if Sheet1 row has been matched in a row in Sheet2 if Sheet1.Cells(i,1).Value = Sheet2.Cells(j,1).Value and Sheet1.Cells(i,2).Value = Sheet2.Cells(j,2).Value then matchFound = true continue=false endif next j endif 'no match found if matchFound = false then sheet3.Range(last used row + 1, 1).Value = Sheet1.Cells(i,1).Value sheet3.Range(last used row + 1, 2).Value = Sheet1.Cells(i,2).Value endif next i 

Utilizzare la logica sopra anche per sheet2 ma che controlla quelli in sheet2 e non in Sheet1 e aggiunge a Sheet3 – quindi il foglio 2 è l'estremità per il ciclo questa volta.