Comparing two excel sheets
Solved/Closed
Related:
- Comparing two excel sheets
- Mark sheet in excel - Guide
- Sheets right to left - Guide
- How to open excel sheet in notepad++ - Guide
- Number to words in excel - Guide
- Excel apk for pc - Download - Spreadsheets
9 responses
venkat1926
Posts
1863
Registration date
Sunday June 14, 2009
Status
Contributor
Last seen
August 7, 2021
811
Jul 15, 2009 at 07:03 AM
Jul 15, 2009 at 07:03 AM
The assumption are that the email addresses are in A2 down both in sheet 1 and sheet 2
sheet 1
email
a
d
g
k
sheet 2
email
a
s
d
f
g
h
j
k
l
the macro is (modify to suit you)
aftr running the macro the result will be in sheet 3 as follows
a
d
g
k
sheet 1
a
d
g
k
sheet 2
a
s
d
f
g
h
j
k
l
the macro is (modify to suit you)
Sub test() Dim rng As Range, c As Range, cfind As Range On Error Resume Next Worksheets("sheet3").Cells.Clear With Worksheets("sheet1") Set rng = Range(.Range("A2"), .Range("a2").End(xlDown)) For Each c In rng With Worksheets("sheet2") Set cfind = .Columns("A:A").Cells.Find _ (what:=c.Value, lookat:=xlWhole) If cfind Is Nothing Then GoTo line1 cfind.Copy Worksheets("sheet3").Cells(Rows.Count, "A").End(xlUp).Offset(1, 0) End With 'sheet 2 line1: Next c application.cutcopymode=false End With 'sheet 1 End Sub
aftr running the macro the result will be in sheet 3 as follows
a
d
g
k
venkat1926
Posts
1863
Registration date
Sunday June 14, 2009
Status
Contributor
Last seen
August 7, 2021
811
Mar 3, 2010 at 07:14 AM
Mar 3, 2010 at 07:14 AM
macro modified (see the statement underline-that is the change)
Sub test()
Dim rng As Range, c As Range, cfind As Range
On Error Resume Next
Worksheets("sheet3").Cells.Clear
With Worksheets("sheet1")
Set rng = Range(.Range("A2"), .Range("a2").End(xlDown))
For Each c In rng
With Worksheets("sheet2")
Set cfind = .Columns("A:A").Cells.Find _
(what:=c.Value, lookat:=xlWhole)
If cfind Is Nothing Then GoTo line1
c.EntireRow.Copy Worksheets("sheet3").Cells(Rows.Count, "A").End(xlUp).Offset(1, 0)
End With 'sheet 2
line1:
Next c
Application.CutCopyMode = False
End With 'sheet 1
End Sub
Your macro has been a great help to identify the matching records- thank you. I have another situation in which I'm trying to compare the same data between sheet 1 and sheet 2, but I want sheet 3 to pull any items are are NOT matches. How can I change this macro to copy the non-matches to sheet 3?
Thanks
Thanks
An other way to easily solve your problem :
http://www.xlcomparator.net/
It's free and no macro coding is necessary.
http://www.xlcomparator.net/
It's free and no macro coding is necessary.
venkat1926
Posts
1863
Registration date
Sunday June 14, 2009
Status
Contributor
Last seen
August 7, 2021
811
Mar 4, 2010 at 07:33 PM
Mar 4, 2010 at 07:33 PM
macro modified. see the underlined statements
Sub test() Dim rng As Range, c As Range, cfind As Range On Error Resume Next Worksheets("sheet3").Cells.Clear With Worksheets("sheet1") Set rng = Range(.Range("A2"), .Range("a2").End(xlDown)) For Each c In rng With Worksheets("sheet2") Set cfind = .Columns("A:A").Cells.Find _ (what:=c.Value, lookat:=xlWhole) If cfind Is Nothing Then GoTo line1 'c.EntireRow.Copy Worksheets("sheet3").Cells(Rows.Count, "A").End(xlUp).Offset(1, 0) c.Copy Worksheets("sheet3").Cells(Rows.Count, "A").End(xlUp).Offset(1, 0) c.Offset(0, 2).Copy Worksheets("sheet3").Cells(Rows.Count, "B").End(xlUp).Offset(1, 0) End With 'sheet 2 line1: Next c Application.CutCopyMode = False End With 'sheet 1 End Sub
Didn't find the answer you are looking for?
Ask a question
kish1975
Posts
12
Registration date
Wednesday March 3, 2010
Status
Member
Last seen
March 22, 2010
7
Mar 4, 2010 at 02:39 AM
Mar 4, 2010 at 02:39 AM
Hi,
One more scenario I have . If I have three columns in worksheet1 of file1(book1) and 1 column in worksheet2 of file2(book2), I should get only required columns in worksheet3 with column names to a new file(if possible) or with in any file.
for example
file1
worksheet1
x y z
abc 10 a
pqr 20 b
zyx 30 c
file2
worksheet2
x
abc
xyz
zyx
rst
tyu
to a new file
output :
x z
abc a
zyx c
Requesting to sort out the problem ASAP
One more scenario I have . If I have three columns in worksheet1 of file1(book1) and 1 column in worksheet2 of file2(book2), I should get only required columns in worksheet3 with column names to a new file(if possible) or with in any file.
for example
file1
worksheet1
x y z
abc 10 a
pqr 20 b
zyx 30 c
file2
worksheet2
x
abc
xyz
zyx
rst
tyu
to a new file
output :
x z
abc a
zyx c
Requesting to sort out the problem ASAP
venkat1926
Posts
1863
Registration date
Sunday June 14, 2009
Status
Contributor
Last seen
August 7, 2021
811
Mar 7, 2010 at 07:23 PM
Mar 7, 2010 at 07:23 PM
This thread is too long and confusing now;. I am not able to get the latest message. will you please start a new thread giving your requirement with examples. thank you
kish1975
Posts
12
Registration date
Wednesday March 3, 2010
Status
Member
Last seen
March 22, 2010
7
Mar 4, 2010 at 02:28 AM
Mar 4, 2010 at 02:28 AM
Hi,
This really working good. Thankyou very much
This really working good. Thankyou very much
kish1975
Posts
12
Registration date
Wednesday March 3, 2010
Status
Member
Last seen
March 22, 2010
7
Mar 4, 2010 at 02:33 AM
Mar 4, 2010 at 02:33 AM
Hi,
Macro given by you is working, Thankyou very much . But if I have two columns in worksheet1 and 1 column in worksheet2, I should get only required columns in worksheet3 with column names. for example
worksheet1
x y z
abc 10 a
pqr 20 b
zyx 30 c
worksheet2
x
abc
xyz
zyx
rst
tyu
output :
x z
abc a
zyx c
Requesting to sort out the problem ASAP
Macro given by you is working, Thankyou very much . But if I have two columns in worksheet1 and 1 column in worksheet2, I should get only required columns in worksheet3 with column names. for example
worksheet1
x y z
abc 10 a
pqr 20 b
zyx 30 c
worksheet2
x
abc
xyz
zyx
rst
tyu
output :
x z
abc a
zyx c
Requesting to sort out the problem ASAP
Oct 14, 2009 at 01:49 PM
Mar 3, 2010 at 03:02 AM
Iam new to excel, Macro given by you is working fine for single column. But if I have two columns in worksheet1 and 1 column in worksheet2, I should get two columns in worksheet3. for example
worksheet1
x y
abc 10
pqr 20
zyx 30
worksheet2
x
abc
xyz
zyx
rst
tyu
output :
x y
abc 10
zyx 30
Requesting to sort out the problem ASAP