ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Compare to columns on two different spread sheet, only pick up the (https://www.excelbanter.com/excel-programming/354053-compare-columns-two-different-spread-sheet-only-pick-up.html)

Ming[_2_]

Compare to columns on two different spread sheet, only pick up the
 
I have created the macro to check the changes compare to the values in sheet1
vs sheet2, if anything changed more than certain amount, it will be copied
and pasted to another sheet. The thing is I couldn't figure out how to find
out the names only on sheet1 or only on sheet2. for example, if i check
column A on each sheet, how can i find out the names only on sheet1 and only
on sheet2, then i can copy, paste the value to another spread sheet?

Thanks a lot.

Ming

Ming[_2_]

Compare to columns on two different spread sheet, only pick up the
 
Finally, I found out answer from Ron's website. Thanks a lot Ron. His website
is http://www.rondebruin.nl

Here's the code, I'm using and hope it could do some help to other people as
well.

Dim AA As String
Dim BB As Long
Dim CC As String
Dim DD As String
Dim DateDD As Date
Dim EE As Double
Dim AAy As String
Dim BBy As Long
Dim CCy As String
Dim DDy As String
Dim DateDDy As Date
Dim EEy As Double
Dim change As Double
Dim val As Range
Dim vStr As String
Dim valFound As Range
Dim valOut As Range
Dim fistadd As String
Dim FindString As String
Dim rng As Range
Dim FindStringy As String
Dim rngy As Range
Dim t as Integer
Dim t1 as Integer
Dim b as Integer

Sheets("DATA-A").Select
For t = Cells(Rows.Count, "a").End(xlUp).Row To 2 Step -1
Sheets("DATA-A").Select
Cells(t, "A").Select
AA = Cells(t, "A").Value
BB = Cells(t, "B").Value
CC = Cells(t, "C").Value
DD = Cells(t, "D").Value
DateDD = Cells(t, "E").Value
EE = Cells(t, "F").Value
FindString = Cells(t, "A").Value
Sheets("DATA-B").Select
With Sheets("DATA-B").Columns("A:A")
Set rng = .Find(What:=FindString, _
After:=.Cells(.Cells.Count), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not rng Is Nothing Then
Application.Goto rng, True
Else
Sheets("Changes").Select
b = Cells(Rows.Count, "a").End(xlUp).Row + 1
Cells(b, "A").Value = AA
Cells(b, "B").Value = BB
Cells(b, "C").Value = CC
Cells(b, "D").Value = DD
Cells(b, "E").Value = DateDD
Cells(b, "F").Value = EE
Cells(b, "G").Value = "New Addition,
please check."
End If
End With


Next t
Sheets("DATA-B").Select
For t1 = Cells(Rows.Count, "a").End(xlUp).Row To 2 Step -1
Sheets("DATA-B").Select
Cells(t1, "A").Select
AAy = Cells(t1, "A").Value
BBy = Cells(t1, "B").Value
CCy = Cells(t1, "C").Value
DDy = Cells(t1, "D").Value
DateDDy = Cells(t1, "E").Value
EEy = Cells(t1, "F").Value
FindStringy = Cells(t1, "A").Value
Sheets("DATA-A").Select
With Sheets("DATA-A").Columns("A:A")
Set rngy = .Find(What:=FindStringy, _
After:=.Cells(.Cells.Count), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not rngy Is Nothing Then
Application.Goto rngy, True
Else
Sheets("Changes").Select
b = Cells(Rows.Count, "a").End(xlUp).Row + 1
Cells(b, "A").Value = AAy
Cells(b, "B").Value = BBy
Cells(b, "C").Value = CCy
Cells(b, "D").Value = DDy
Cells(b, "E").Value = DateDDy
Cells(b, "F").Value = EEy
Cells(b, "G").Value = "Not shown on
today's list, Please Check"
End If
End With


Next t1


"Ming" wrote:

I have created the macro to check the changes compare to the values in sheet1
vs sheet2, if anything changed more than certain amount, it will be copied
and pasted to another sheet. The thing is I couldn't figure out how to find
out the names only on sheet1 or only on sheet2. for example, if i check
column A on each sheet, how can i find out the names only on sheet1 and only
on sheet2, then i can copy, paste the value to another spread sheet?

Thanks a lot.

Ming



All times are GMT +1. The time now is 06:09 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com