It works perfectly in my workbook.
Row 6 is unhighlighted in sheet1
and 6 and 13 are unhighlighted in sheet2.
 
better check to make sure the macro was copied correctly,
here it is from my workbook:
 
Option Explicit
Public Dict_Data1, Dict_Data2
Sub Compare()
    Dim Sht1, Sht2
    Dim nRows, r, sData, rArray, inx
    Dim tstart, tstop, TElapsed, TMin, TSec, msg
    
    '---------------------------------------------------------
    Application.ScreenUpdating = False
    '---------------------------------------------------------
    tstart = Timer
    Set Dict_Data1 = CreateObject("Scripting.Dictionary")
    Set Dict_Data2 = CreateObject("Scripting.Dictionary")
        Dict_Data1.RemoveAll
        Dict_Data2.RemoveAll
    '---------------------------------------------------------
    'Identify sheets to compare
    '---------------------------------------------------------
    Sht1 = "Sheet1"
    Sht2 = "Sheet2"
    '---------------------------------------------------------
    ' Clear Highlighting
    '---------------------------------------------------------
    Sheets(Sht1).Select
    With Cells.Interior
        .Pattern = xlNone
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    Sheets(Sht2).Select
    With Cells.Interior
        .Pattern = xlNone
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    '---------------------------------------------------------
    ' Load data from Sht1 into Dictionary Object
    '---------------------------------------------------------
    nRows = Application.WorksheetFunction.CountA(Sheets(Sht1).Range("A1:A" & 
Sheets(Sht1).Rows.Count))
    For r = 2 To nRows
        If (r Mod 1000 = 0) Then Application.StatusBar = "Loading " & Sht1 & " 
row " & r & " of " & nRows
        sData = Trim(Sheets(Sht1).Cells(r, "A").Value)
        sData = sData & "|" & Trim(Sheets(Sht1).Cells(r, "B").Value)
        sData = sData & "|" & Trim(Sheets(Sht1).Cells(r, "C").Value)
        sData = sData & "|" & Trim(Sheets(Sht1).Cells(r, "D").Value)
        sData = sData & "|" & Trim(Sheets(Sht1).Cells(r, "F").Value)
        sData = sData & "|" & Trim(Sheets(Sht1).Cells(r, "H").Value)
        sData = sData & "|" & Trim(Sheets(Sht1).Cells(r, "I").Value)
        If (Not Dict_Data1.exists(sData)) Then
            Dict_Data1.Add sData, r
        '--------------------------------------------------------------
        Else '  In case of duplicate rows, collect all row numbers
        '--------------------------------------------------------------
            Dict_Data1.Item(sData) = Dict_Data1.Item(sData) & "," & r
        End If
    Next
    '---------------------------------------------------------
    ' Process Sht2 data, compare to sht1
    '---------------------------------------------------------
    nRows = Application.WorksheetFunction.CountA(Sheets(Sht2).Range("A1:A" & 
Sheets(Sht2).Rows.Count))
    For r = 2 To nRows
        If (r Mod 1000 = 0) Then Application.StatusBar = "Processing " & Sht2 & 
" row " & r & " of " & nRows
        sData = Trim(Sheets(Sht2).Cells(r, "A").Value)
        sData = sData & "|" & Trim(Sheets(Sht2).Cells(r, "B").Value)
        sData = sData & "|" & Trim(Sheets(Sht2).Cells(r, "C").Value)
        sData = sData & "|" & Trim(Sheets(Sht2).Cells(r, "D").Value)
        sData = sData & "|" & Trim(Sheets(Sht2).Cells(r, "F").Value)
        sData = sData & "|" & Trim(Sheets(Sht2).Cells(r, "H").Value)
        sData = sData & "|" & Trim(Sheets(Sht2).Cells(r, "I").Value)
        If (Dict_Data1.exists(sData)) Then
            '-----------------------------------
            'highlight row in sht2
            '-----------------------------------
            Sheets(Sht2).Select
            With Sheets(Sht2).Range(Cells(r, "A"), Cells(r, "I")).Interior
                .Pattern = xlSolid
                .PatternColorIndex = xlAutomatic
                .Color = 65535
                .TintAndShade = 0
                .PatternTintAndShade = 0
            End With
            '-----------------------------------
            'highlight rows in sht1
            '-----------------------------------
            Sheets(Sht1).Select
            rArray = Split(Dict_Data1.Item(sData), ",")
            For inx = 0 To UBound(rArray)
                With Sheets(Sht1).Range(Cells(rArray(inx), "A"), 
Cells(rArray(inx), "I")).Interior
                    .Pattern = xlSolid
                    .PatternColorIndex = xlAutomatic
                    .Color = 65535
                    .TintAndShade = 0
                    .PatternTintAndShade = 0
                End With
            Next inx
        End If
    Next
    Application.StatusBar = False
    Application.ScreenUpdating = True
    '----------------------------------------------------
        msg = "Finished: "
        tstop = Timer
        TElapsed = tstop - tstart
        TMin = 0
        TMin = TElapsed \ 60
        TSec = TElapsed Mod 60
        msg = msg & Chr(13) & Chr(13)
        If (TMin > 0) Then msg = msg & TMin & " mins "
        msg = msg & TSec & " sec"
    '----------------------------------------------------
    MsgBox msg
End Sub


Paul
-----------------------------------------
“Do all the good you can,
By all the means you can,
In all the ways you can,
In all the places you can,
At all the times you can,
To all the people you can,
As long as ever you can.” - John Wesley
-----------------------------------------


>________________________________
> From: Missy786 <misbah.ali...@gmail.com>
>To: excel-macros@googlegroups.com 
>Sent: Friday, April 25, 2014 9:08 AM
>Subject: $$Excel-Macros$$ Re: find duplicate rows of data between sheets macro
>  
>
>
>Hi Paul, 
>
>
>Thank you so much for your time and effort into problem.  The code is very 
>well structured, but I am sorry to inform, that code highlighted every row in 
>sheet1, as the correct output would be highlighting every row in sheet1 
>besides row 6, as its not the same as sheet2 row6.  
>
>
>I am sorry to cause trouble. Is this problem easy to fix?
>
>
>I really appreciate your time and help. 
>-- 
>Are you =EXP(E:RT) or =NOT(EXP(E:RT)) in Excel? And do you wanna be? It’s 
>=TIME(2,DO:IT,N:OW) ! Join official Facebook page of this forum @ 
>https://www.facebook.com/discussexcel
> 
>FORUM RULES
> 
>1) Use concise, accurate thread titles. Poor thread titles, like Please Help, 
>Urgent, Need Help, Formula Problem, Code Problem, and Need Advice will not get 
>quick attention or may not be answered.
>2) Don't post a question in the thread of another member.
>3) Don't post questions regarding breaking or bypassing any security measure.
>4) Acknowledge the responses you receive, good or bad.
>5) Jobs posting is not allowed.
>6) Sharing copyrighted material and their links is not allowed.
> 
>NOTE  : Don't ever post confidential data in a workbook. Forum owners and 
>members are not responsible for any loss.
>--- 
>You received this message because you are subscribed to the Google Groups "MS 
>EXCEL AND VBA MACROS" group.
>To unsubscribe from this group and stop receiving emails from it, send an 
>email to excel-macros+unsubscr...@googlegroups.com.
>To post to this group, send email to excel-macros@googlegroups.com.
>Visit this group at http://groups.google.com/group/excel-macros.
>For more options, visit https://groups.google.com/d/optout.
>
>
>    

-- 
Are you =EXP(E:RT) or =NOT(EXP(E:RT)) in Excel? And do you wanna be? It’s 
=TIME(2,DO:IT,N:OW) ! Join official Facebook page of this forum @ 
https://www.facebook.com/discussexcel

FORUM RULES

1) Use concise, accurate thread titles. Poor thread titles, like Please Help, 
Urgent, Need Help, Formula Problem, Code Problem, and Need Advice will not get 
quick attention or may not be answered.
2) Don't post a question in the thread of another member.
3) Don't post questions regarding breaking or bypassing any security measure.
4) Acknowledge the responses you receive, good or bad.
5) Jobs posting is not allowed.
6) Sharing copyrighted material and their links is not allowed.

NOTE  : Don't ever post confidential data in a workbook. Forum owners and 
members are not responsible for any loss.
--- 
You received this message because you are subscribed to the Google Groups "MS 
EXCEL AND VBA MACROS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to excel-macros+unsubscr...@googlegroups.com.
To post to this group, send email to excel-macros@googlegroups.com.
Visit this group at http://groups.google.com/group/excel-macros.
For more options, visit https://groups.google.com/d/optout.

Reply via email to