+ Reply to Thread
Results 1 to 23 of 23

Find Common Values across multiple sheets based on Unique ID

Hybrid View

desibabuji Find Common Values across... 10-24-2013, 01:27 AM
desibabuji Re: Find Common Values across... 10-24-2013, 11:08 AM
desibabuji Re: Find Common Values across... 10-25-2013, 01:40 AM
desibabuji Re: Find Common Values across... 10-25-2013, 10:11 PM
desibabuji Re: Find Common Values across... 10-26-2013, 04:18 AM
xladept Re: Find Common Values across... 10-26-2013, 04:15 PM
GC Excel Re: Find Common Values across... 10-26-2013, 10:46 PM
desibabuji Re: Find Common Values across... 10-27-2013, 01:25 AM
xladept Re: Find Common Values across... 10-27-2013, 04:37 PM
desibabuji Re: Find Common Values across... 10-28-2013, 01:31 AM
GC Excel Re: Find Common Values across... 10-28-2013, 05:21 PM
xladept Re: Find Common Values across... 10-29-2013, 05:11 PM
desibabuji Re: Find Common Values across... 10-29-2013, 05:29 PM
desibabuji Re: Find Common Values across... 10-29-2013, 05:26 PM
xladept Re: Find Common Values across... 10-29-2013, 06:01 PM
GC Excel Re: Find Common Values across... 10-29-2013, 08:53 PM
xladept Re: Find Common Values across... 10-30-2013, 02:46 PM
desibabuji Re: Find Common Values across... 11-01-2013, 01:15 PM
xladept Re: Find Common Values across... 11-01-2013, 01:48 PM
desibabuji Re: Find Common Values across... 02-12-2014, 02:35 AM
xladept Re: Find Common Values across... 02-12-2014, 03:49 PM
desibabuji Re: Find Common Values across... 02-12-2014, 04:31 PM
xladept Re: Find Common Values across... 02-12-2014, 05:38 PM
  1. #1
    Registered User
    Join Date
    09-27-2012
    Location
    Orange County, CA
    MS-Off Ver
    Excel 2010
    Posts
    85

    Find Common Values across multiple sheets based on Unique ID

    Sometime ago I got help from this board with a macro and we have been using the macro up until now, but now we need a little modification in the macro, so I was wondering if someone can help me in either updating the matcro or if it easier to come up with a new macro.
    The old thread is here:
    http://www.excelforum.com/excel-prog...unique-id.html

    There are three sheets in the workbook, Project, Tasks and Details and the expected resulting sheets are RESULT, In_Tasks_but_NOT_in_Projects and In_Details_but_NOT_in_Projects .

    But now what I am looking for help is:
    1. Copy the Projects data as is in the RESULT sheet.

    2. Then in the Tasks sheet, if the ID matches paste the matching rows under the data from Projects (as in the result sheet with Orange colour)
    3. If the ID is present in Tasks but NOT in Projects then copy it into the In_Tasks_but_NOT_in_Projects sheet.

    4. Then If the ID and the Name in the Details tab matches with the data in the RESULT sheet then paste it under the ID and Name (as in the result sheet with Green colour)
    5. If the ID does not match the ID in the results sheet then copy that row into the In_Details_but_NOT_in_Projects sheet.

    Thre result of the current macro that RHCPgergo helped with are in the last sheet.

    The formatting and colour of the rows doesnt matter, it is more of nice to have.

    Can someone please help me with the macro. The last Macro has been really helped us and have saved lots of time in preparing the weekly reports.
    I will really appreciate any help. Thanks and regards in advance.
    Attached Files Attached Files

  2. #2
    Registered User
    Join Date
    09-27-2012
    Location
    Orange County, CA
    MS-Off Ver
    Excel 2010
    Posts
    85

    Re: Find Common Values across multiple sheets based on Unique ID

    Bump ! Can someone please help?

    Also, I forgot to mention that this is only a sample data set. In the real data the columns dont change but the number of rows varies depending on the project and the week.

  3. #3
    Registered User
    Join Date
    09-27-2012
    Location
    Orange County, CA
    MS-Off Ver
    Excel 2010
    Posts
    85

    Re: Find Common Values across multiple sheets based on Unique ID

    bump ! Can anyone please give me any pointers?

  4. #4
    Registered User
    Join Date
    09-27-2012
    Location
    Orange County, CA
    MS-Off Ver
    Excel 2010
    Posts
    85

    Re: Find Common Values across multiple sheets based on Unique ID

    I have tried to modify the code, but it is only pulling partial values in the results tab and not the values where only the ID matches between project and details. Can someone please guide me and give me some hints on what I need to further modify? I will appreciate any help.
    This is the code that I have so far:

    Option Explicit
    Sub MergeStuff_10_25()
    
    Dim Rng1 As Range, Rng2 As Range, Rng3 As Range, Rng4 As Range 'variables for looping
    Dim Lr1 As Long, Lr2 As Long, Lr3 As Long, Lr4 As Long 'last row
    Dim P As Worksheet, T As Worksheet, D As Worksheet, R As Worksheet
    Dim ID As String
    Dim Missing As Boolean, Mismatch As Boolean
    
    Set P = Worksheets("Projects")
    Set T = Worksheets("Tasks")
    Set D = Worksheets("Details")
    Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "RESULT_" & Replace(Time, ":", ",")
    Set R = ActiveSheet
    'Set R = Worksheets("Results")
    
    Lr1 = P.Range("A" & Rows.Count).End(xlUp).Row
    Lr2 = T.Range("A" & Rows.Count).End(xlUp).Row
    Lr3 = D.Range("A" & Rows.Count).End(xlUp).Row
    Lr4 = R.Range("A" & Rows.Count).End(xlUp).Row + 1
    
    For Each Rng1 In P.Range("A2:A" & Lr1)
        ID = Rng1.Value
        R.Range("A" & Lr4).Value = ID
        R.Range("B" & Lr4).Value = Rng1.Offset(0, 1).Value
        R.Range("D" & Lr4).Value = Rng1.Offset(0, 2).Value
        R.Range("A" & Lr4).Resize(1, 4).Interior.ColorIndex = 24
        Lr4 = Lr4 + 1
        Missing = True
        For Each Rng2 In T.Range("A2:A" & Lr2)
            If Rng2.Value = ID Then
                R.Range("A" & Lr4).Value = ID
                R.Range("B" & Lr4).Value = Rng2.Offset(0, 2).Value
                R.Range("C" & Lr4).Value = Rng2.Offset(0, 1).Value
                R.Range("E" & Lr4).Value = Rng2.Offset(0, 3).Value
                R.Range("A" & Lr4).Resize(1, 5).Interior.ColorIndex = 40
                Lr4 = Lr4 + 1
    
                    For Each Rng3 In D.Range("A2:A" & Lr3)
                        If Rng3.Value = ID And Rng2.Offset(0, 1).Value = Rng3.Offset(0, 1) Then
                            R.Range("A" & Lr4).Value = Rng3.Offset(0, 0).Value
                            R.Range("C" & Lr4).Value = Rng3.Offset(0, 1).Value
                            R.Range(Cells(Lr4, "F"), Cells(Lr4, "J")).Value = Rng3.Offset(0, 2).Resize(1, 5).Value
                            R.Range("A" & Lr4).Resize(1, 10).Interior.ColorIndex = 35
                           Lr4 = Lr4 + 1
                        End If
                    Next Rng3
                
                Missing = False
               ' Lr4 = Lr4 + 1
            End If
        Next Rng2
    
        If Missing = True Then
            R.Range("A" & Lr4).Value = ID
            R.Range("E" & Lr4).Value = "Missing"
            R.Range("A" & Lr4).Resize(1, 5).Interior.ColorIndex = 40
            Lr4 = Lr4 + 1
        End If
    Next Rng1
    
    'formatting
    With R.Range("A1:J1")
        .Value = Array("ID", "Assignment", "Name", "Allotted Hours", _
            "Total Billed", "Hours", "Area", "Pending", "StartDate", "FinishDate")
        .Interior.ColorIndex = 49
        .Font.ColorIndex = 2
        .CurrentRegion.Columns.AutoFit
    End With
    End Sub
    Attached Files Attached Files

  5. #5
    Registered User
    Join Date
    09-27-2012
    Location
    Orange County, CA
    MS-Off Ver
    Excel 2010
    Posts
    85

    Re: Find Common Values across multiple sheets based on Unique ID

    This is what I have so far. Can someone please help me come up with the routine to match it with the Details and guide me if I am not doing it right or if there's a better way of doing it? Thanks !!

    Option Explicit
    Sub MergeStuff_10_25()
    
    Dim rng1 As Range, Rng2 As Range, Rng3 As Range, Rng4 As Range 'variables for looping
    Dim Lr1 As Long, Lr2 As Long, Lr3 As Long, Lr4 As Long, Lr5 As Long, Lr6 As Long 'last row
    Dim P As Worksheet, T As Worksheet, D As Worksheet, R As Worksheet, TExp As Worksheet, DExp As Worksheet
    Dim ID As String
    Dim Missing As Boolean, Mismatch As Boolean
    
    Set P = Worksheets("Projects")
    Set T = Worksheets("Tasks")
    Set TExp = Worksheets("In_Tasks_but_NOT_in_Projects")
    Set D = Worksheets("Details")
    Set DExp = Worksheets("In_Details_but_NOT_in_Projects")
    
    'Worksheets.Add(after:=Worksheets(Worksheets.Count)).Name = "RESULT_" & Replace(Time, ":", ",")
    'Set R = ActiveSheet
    Set R = Worksheets("Results")
    
    R.UsedRange.Clear
    TExp.UsedRange.Clear
    DExp.UsedRange.Clear
    
    Lr1 = P.Range("A" & Rows.Count).End(xlUp).Row
    Lr2 = T.Range("A" & Rows.Count).End(xlUp).Row
    Lr3 = D.Range("A" & Rows.Count).End(xlUp).Row
    Lr4 = R.Range("A" & Rows.Count).End(xlUp).Row + 1
    Lr5 = TExp.Range("A" & Rows.Count).End(xlUp).Row + 1
    Lr6 = DExp.Range("A" & Rows.Count).End(xlUp).Row + 1
    
    
    'Find Common between Project and Tasks
    For Each rng1 In P.Range("A2:A" & Lr1)
        ID = rng1.Value
        R.Range("A" & Lr4).Value = ID
        R.Range("B" & Lr4).Value = rng1.Offset(0, 1).Value
        R.Range("D" & Lr4).Value = rng1.Offset(0, 2).Value
        R.Range("A" & Lr4).Resize(1, 4).Interior.ColorIndex = 24
        Lr4 = Lr4 + 1
    
        For Each Rng2 In T.Range("A2:A" & Lr2)
            If Rng2.Value = ID Then
                R.Range("A" & Lr4).Value = ID
                R.Range("B" & Lr4).Value = Rng2.Offset(0, 2).Value
                R.Range("C" & Lr4).Value = Rng2.Offset(0, 1).Value
                R.Range("E" & Lr4).Value = Rng2.Offset(0, 3).Value
                R.Range("A" & Lr4).Resize(1, 5).Interior.ColorIndex = 40
                Lr4 = Lr4 + 1
            End If
        Next Rng2
    Next rng1
    
    ' Find the WBS In Tasks but NOT in Projects
    For Each Rng2 In T.Range("A2:A" & Lr2)
        Dim exrng1 As Range
        Dim strSearch As String
        strSearch = Rng2.Value
        'MsgBox strSearch
        Set exrng1 = P.Range("A:A").Find(strSearch, , xlValues, xlWhole)
        If exrng1 Is Nothing Then
            'MsgBox " Find not found " & strSearch
            TExp.Range("A" & Lr5).Value = strSearch
            TExp.Range("B" & Lr5).Value = Rng2.Offset(0, 1).Value
            TExp.Range("C" & Lr5).Value = Rng2.Offset(0, 2).Value
            TExp.Range("D" & Lr5).Value = Rng2.Offset(0, 3).Value
            Lr5 = Lr5 + 1
        'Else
        '   MsgBox strSearch & " not found"
        End If
    Next Rng2
    
    
    ' Find the WBS In Details but NOT in Projects
    For Each Rng3 In D.Range("A2:A" & Lr3)
        Dim exrng2 As Range
        Dim strSearch2 As String
        strSearch2 = Rng3.Value
        'MsgBox strSearch2
        Set exrng2 = P.Range("A:A").Find(strSearch2, , xlValues, xlWhole)
        If exrng2 Is Nothing Then
            'MsgBox " Find not found " & strSearch2
            DExp.Range("A" & Lr6).Value = strSearch2
            DExp.Range("B" & Lr6).Value = Rng3.Offset(0, 1).Value
            DExp.Range("C" & Lr6).Value = Rng3.Offset(0, 2).Value
            DExp.Range("D" & Lr6).Value = Rng3.Offset(0, 3).Value
            DExp.Range("E" & Lr6).Value = Rng3.Offset(0, 4).Value
            DExp.Range("F" & Lr6).Value = Rng3.Offset(0, 5).Value
            DExp.Range("G" & Lr6).Value = Rng3.Offset(0, 6).Value
            Lr6 = Lr6 + 1
        'Else
        '   MsgBox strSearch2 & " not found"
        End If
    Next Rng3
    
    
    'formatting
    'With R.Range("A1:J1")
    '    .Value = Array("ID", "Assignment", "Name", "Allotted Hours", _
    '        "Total Billed", "Hours", "Area", "Pending", "StartDate", "FinishDate")
    '    .Interior.ColorIndex = 49
    '    .Font.ColorIndex = 2
    '    .CurrentRegion.Columns.AutoFit
    'End With
    End Sub

  6. #6
    Forum Guru xladept's Avatar
    Join Date
    04-14-2012
    Location
    Pasadena, California
    MS-Off Ver
    Excel 2003,2010
    Posts
    12,378

    Re: Find Common Values across multiple sheets based on Unique ID

    Are either of the results posted the way you want them?

    Try this:

    Sub DesiMerge()
    
    Dim Rng1 As Range, Rng2 As Range, Rng3 As Range, Rng4 As Range, Heads As Range 'variables for looping
    Dim Lr1 As Long, Lr2 As Long, Lr3 As Long, Lr4 As Long, Lr5 As Long, Lr6 As Long 'last row
    Dim P As Worksheet, T As Worksheet, D As Worksheet, R As Worksheet
    Dim ID As String, TN As Worksheet, DN As Worksheet
    Dim Missing As Boolean, Mismatch As Boolean
    
    Set P = Worksheets("Projects")
    Set T = Worksheets("Tasks")
    Set D = Worksheets("Details") 'In_Details_but_NOT_in_Projects
    Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "In_Tasks_but_NOT_in_Projects"
    Set TN = ActiveSheet
    Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "In_Details_but_NOT_in_Projects"
    Set DN = ActiveSheet
    Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "RESULT_" & Replace(Time, ":", ",")
    Set R = ActiveSheet
    
    Lr1 = P.Range("A" & Rows.Count).End(xlUp).Row
    Lr2 = T.Range("A" & Rows.Count).End(xlUp).Row
    Lr3 = D.Range("A" & Rows.Count).End(xlUp).Row
    Lr4 = 2: Lr5 = 2: Lr6 = 2
    
    For Each Rng1 In P.Range("A2:A" & Lr1)
        ID = Rng1.Value
        R.Range("A" & Lr4).Value = ID
        R.Range("D" & Lr4).Value = Rng1.Offset(0, 2).Value
        R.Range("A" & Lr4).Resize(1, 4).Interior.ColorIndex = 24
        Lr4 = Lr4 + 1
        Missing = True
        For Each Rng2 In T.Range("A2:A" & Lr2)
            If Rng2.Value = ID Then
                R.Range("A" & Lr4).Value = ID
                R.Range("B" & Lr4).Value = Rng2.Offset(0, 2).Value
                R.Range("C" & Lr4).Value = Rng2.Offset(0, 1).Value
                R.Range("E" & Lr4).Value = Rng2.Offset(0, 3).Value
                R.Range("A" & Lr4).Resize(1, 5).Interior.ColorIndex = 40
                Missing = False
                Lr4 = Lr4 + 1
            End If
        Next Rng2
    
        If Missing = True Then
            R.Range("A" & Lr4).Value = ID
            R.Range("E" & Lr4).Value = "Missing"
            R.Range("A" & Lr4).Resize(1, 5).Interior.ColorIndex = 40
            Lr4 = Lr4 + 1
        End If
    
        For Each Rng3 In D.Range("A2:A" & Lr3)
            If Rng3.Value = ID Then
                R.Range("C" & Lr4).Value = Rng3.Offset(0, 1).Value
                R.Range(Cells(Lr4, "F"), Cells(Lr4, "J")).Value = _
                    Rng3.Offset(0, 2).Resize(1, 5).Value
                R.Range("A" & Lr4).Resize(1, 10).Interior.ColorIndex = 35
                
                Mismatch = True
                For Each Rng4 In Range(Cells(Range("C" & Lr4).End(xlUp).Row, 3), Range("C" & Lr4 - 1))
                    If Range("C" & Lr4).Value = Rng4.Value Then Mismatch = False: Exit For
                Next Rng4
                If Mismatch = True Then Range("E" & Lr4).Value = "MISMATCH"
                
                Lr4 = Lr4 + 1
            End If
        Next Rng3
    Next Rng1
    
    GetSoloTasks:
                For Each Rng2 In T.Range("A2:A" & Lr2)
                    For Each Rng1 In P.Range("A2:A" & Lr1)
                If Rng1.Value = Rng2.Value Then GoTo GetNextT
                    Next Rng1
                Rng2.EntireRow.Copy TN.Range("A" & Lr5): Lr5 = Lr5 + 1
    GetNextT:    Next Rng2
    GetSoloDetails:
                For Each Rng3 In D.Range("A2:A" & Lr3)
                    For Each Rng1 In P.Range("A2:A" & Lr1)
                If Rng1.Value = Rng3.Value Then GoTo GetNextD
                    Next Rng1
                Rng3.EntireRow.Copy DN.Range("A" & Lr6): Lr6 = Lr6 + 1
    GetNextD:    Next Rng3
    
                Set Heads = R.Range("A1:J1"): GoSub GetAHead
                Set Heads = TN.Range("A1:J1"): GoSub GetAHead
                Set Heads = DN.Range("A1:J1"): GoSub GetAHead
    
                    Exit Sub
    'formatting
    GetAHead:
    With Heads
        .Value = Array("ID", "Assignment", "Name", "Allotted Hours", _
            "Total Billed", "Hours", "Area", "Pending", "StartDate", "FinishDate")
        .Interior.ColorIndex = 49
        .Font.ColorIndex = 2
        .CurrentRegion.Columns.AutoFit
    End With: Return
    End Sub
    Last edited by xladept; 10-26-2013 at 05:27 PM.
    If I've helped you, please consider adding to my reputation - just click on the liitle star at the left.

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(Pride has no aftertaste.)

    You can't do one thing. XLAdept

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~aka Orrin

  7. #7
    Forum Expert
    Join Date
    08-02-2013
    Location
    Québec
    MS-Off Ver
    Excel 2003, 2007, 2013
    Posts
    1,414

    Re: Find Common Values across multiple sheets based on Unique ID

    Hi,
    Here's an other solution using a different approauch. Code is longer than I first expected. I started with something in mind and as I was testing I noticed the headers were not in the same orders and a few other things that finally made the code very long...

    Sub MergeStuff2()
       Dim arP, arT, arD
       Dim i As Integer, ii As Integer, iii As Integer
       Dim Dict
       Dim wsP As Worksheet, wsT As Worksheet, wsD As Worksheet, wsR As Worksheet
       Dim wsTnP As Worksheet, wsDnP As Worksheet
       Dim sIDName As String, sID As String
       Dim sTemp As String, sAssign As String
    
       Const shPROJECT As String = "Projects"
       Const shTASKS As String = "Tasks"
       Const shDETAILS As String = "Details"
       Const shTnPROJECTS As String = "In_Tasks_but_NOT_in_Projects"
       Const shDnPROJECTS As String = "In_Details_but_NOT_in_Projects"
    
       Set wsP = Worksheets(shPROJECT)
       Set wsT = Worksheets(shTASKS)
       Set wsD = Worksheets(shDETAILS)
       Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "RESULT_" & Replace(Time, ":", ",")
       Set wsR = ActiveSheet
       Set wsTnP = Worksheets(shTnPROJECTS)
       Set wsDnP = Worksheets(shDnPROJECTS)
    
       Set Dict = CreateObject("Scripting.Dictionary")
    
       'Add empty columns in tabs for copy paste (will be removed at the end)
       With wsP
          .Columns(3).Insert
          .Range("C1") = "XXX"
       End With
    
       With wsT
          .Columns(4).Insert
          .Range("D1") = "xxx"
       End With
    
       With wsD
          .Columns(2).Insert
          .Columns(4).Insert
          .Columns(4).Insert
          .Range("B1") = "XXX"
       End With
    
       With wsDnP
          .Columns(2).Insert
          .Columns(4).Insert
          .Columns(4).Insert
       End With
    
       wsTnP.Columns(4).Insert
    
       'Store values of the different tabs for faster loops
       arP = wsP.Cells(1).CurrentRegion.Value
       arT = wsT.Cells(1).CurrentRegion.Value
       arD = wsD.Cells(1).CurrentRegion.Value
    
       'Create a dictionary of project ID from Project Tab
       For i = 2 To UBound(arP, 1)
          If Not Dict.exists(arP(i, 1)) Then Dict.Add arP(i, 1), arP(i, 1)
       Next i
    
       'We loop through each Project ID
       ' For each we then check in the Tasks tab if exists or not
       '   And we then check in the Details tab for a match on ID and Name
       For i = 2 To UBound(arP, 1)
          sID = arP(i, 1)
          wsP.Rows(i).Copy wsR.Range("A60000").End(xlUp).Offset(1, 0)       'Copy project in results tab
    
          'Check in Tasks (loop through all values)
          For ii = 2 To UBound(arT, 1)
    
             'if not in dictionary then copy to Task not in project tab
             If arT(ii, 1) <> "_DONE_" Then
                If Not Dict.exists(arT(ii, 1)) Then
                   wsT.Rows(ii).Copy wsTnP.Range("A60000").End(xlUp).Offset(1, 0)
                   arT(ii, 1) = "_DONE_"      'Mark as done to not process an other time
    
                'it exists in the dictionary
                Else
                   sIDName = arT(ii, 1) & "|" & arT(ii, 2)      'To match in Details tab
                   If sID = arT(ii, 1) Then
                      wsT.Rows(ii).Copy wsR.Range("A60000").End(xlUp).Offset(1, 0)   'Copy
                      
                      'Swap values
                      With wsR.Range("A60000").End(xlUp)
                         sAssign = .Offset(0, 1)
                         .Offset(0, 1) = .Offset(0, 2)
                         .Offset(0, 2) = sAssign
                      End With
                      arT(ii, 1) = "_DONE_"
                   End If
    
    
                   'Check in details
                   For iii = 2 To UBound(arD, 1)
                      If arD(iii, 1) <> "_DONE_" Then
                         'does not exists
                         If Not Dict.exists(arD(iii, 1)) Then
                            wsD.Rows(iii).Copy wsDnP.Range("A60000").End(xlUp).Offset(1, 0)
                            arD(iii, 1) = "_DONE_"
                         'Exists, check if we have match on ID and name
                         Else
                            sTemp = arD(iii, 1) & "|" & arD(iii, 3)
                            If sTemp = sIDName And arD(iii, 1) = sID Then
                               wsD.Rows(iii).Copy wsR.Range("A60000").End(xlUp).Offset(1, 0)
                               arD(iii, 1) = "_DONE_"
                            End If
                         End If
                      End If
                   Next iii
    
                End If
             End If
          Next ii
          
          'Now that we have loop through all rows of task we can identify the Mismatch
          ' ie : same ID but different name
          For iii = 2 To UBound(arD, 1)
             If arD(iii, 1) = sID Then
                wsD.Rows(iii).Copy wsR.Range("A60000").End(xlUp).Offset(1, 0)
                wsR.Range("A60000").End(xlUp).Offset(0, 4) = "MISMATCH"
                arD(iii, 1) = "_DONE_"
             End If
          Next iii
       Next i
    
       'Delete added column in Details
       wsP.Columns(3).EntireColumn.Delete
       wsT.Columns(4).EntireColumn.Delete
    
       With wsD
          .Columns(5).EntireColumn.Delete
          .Columns(4).EntireColumn.Delete
          .Columns(2).EntireColumn.Delete
       End With
    
       With wsDnP
          .Columns(5).EntireColumn.Delete
          .Columns(4).EntireColumn.Delete
          .Columns(2).EntireColumn.Delete
       End With
    
       wsTnP.Columns(4).EntireColumn.Delete
    
       'Add Headers
       With wsR.Cells(1).Resize(1, 10)
          .Value = Array("ID", "Assignment", "Name", "Allotted Hours", _
                         "Total Billed", "Hours", "Area", "Pending", "StartDate", "FinishDate")
          .Interior.ColorIndex = 49
          .Font.ColorIndex = 2
          .CurrentRegion.Columns.AutoFit
       End With
    
    End Sub
    GC Excel

    If this post helps, then click the star icon (*) in the bottom left-hand corner of my post to Add reputation.

  8. #8
    Registered User
    Join Date
    09-27-2012
    Location
    Orange County, CA
    MS-Off Ver
    Excel 2010
    Posts
    85

    Re: Find Common Values across multiple sheets based on Unique ID

    Hi GC Excel.
    Thanks for the macro, it works very well on the sample data sheet. Let me run it on the "actual data" and will report back to you.

    Hi xladept,
    Thanks for all the efforts but the macro you have provided is not updating the "Results" sheet as it was in the "Results" worksheet in the attached workbook. By both the macros did you mean yours and GC Excel's or did you put in another macro to the solution, since I got notified a couple of times about the thread.

    I do appreciate both of your time and help.

  9. #9
    Forum Guru xladept's Avatar
    Join Date
    04-14-2012
    Location
    Pasadena, California
    MS-Off Ver
    Excel 2003,2010
    Posts
    12,378

    Re: Find Common Values across multiple sheets based on Unique ID

    Nevermind - still in progress.
    Last edited by xladept; 10-27-2013 at 04:40 PM.

  10. #10
    Registered User
    Join Date
    09-27-2012
    Location
    Orange County, CA
    MS-Off Ver
    Excel 2010
    Posts
    85

    Re: Find Common Values across multiple sheets based on Unique ID

    Hi GC Excel.

    I tested the macro on the master data and it works well, there's just one little thing that I noticed. Let's say if the ID is missing or is blank in Details (row 12, cell A12 in the Details tab in the attached worksheet). Would it be possible to account for the blank values as well and have them show up in the "In_Details_but_NOT_in_Projects" tab?

    Can you please look at it if and when you get a chance? I dont know how difficult or easy it is to accommodate for this condition. This almost works perfectly if it can also account for blanks. Thanks a lot for your time and help. I really do appreciate it.
    Attached Files Attached Files

  11. #11
    Forum Expert
    Join Date
    08-02-2013
    Location
    Québec
    MS-Off Ver
    Excel 2003, 2007, 2013
    Posts
    1,414

    Re: Find Common Values across multiple sheets based on Unique ID

    Hello desibaduji,
    See attached file and let me know if it's ok...
    Attached Files Attached Files

  12. #12
    Forum Guru xladept's Avatar
    Join Date
    04-14-2012
    Location
    Pasadena, California
    MS-Off Ver
    Excel 2003,2010
    Posts
    12,378

    Re: Find Common Values across multiple sheets based on Unique ID

    Hi Desi,

    I think this is what you want - but the null ID can't be last:

    Sub DesiMergeX()
    
    Dim Rng1 As Range, Rng2 As Range, Rng3 As Range, Rng4 As Range, Heads As Range 'variables for looping
    Dim Lr1 As Long, Lr2 As Long, Lr3 As Long, Lr4 As Long, Lr5 As Long, Lr6 As Long 'last row
    Dim P As Worksheet, T As Worksheet, D As Worksheet, R As Worksheet
    Dim ID As String, LastID As String, TN As Worksheet, DN As Worksheet
    Dim Missing As Boolean, Mismatch As Boolean
    
    Set P = Worksheets("Projects")
    Set T = Worksheets("Tasks")
    Set D = Worksheets("Details") 'In_Details_but_NOT_in_Projects
    Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "In_Tasks_but_NOT_in_Projects"
    Set TN = ActiveSheet
    Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "In_Details_but_NOT_in_Projects"
    Set DN = ActiveSheet
    Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "RESULT_" & Replace(Time, ":", ",")
    Set R = ActiveSheet
    
    Lr1 = P.Range("A" & Rows.Count).End(xlUp).Row
    Lr2 = T.Range("A" & Rows.Count).End(xlUp).Row
    Lr3 = D.Range("A" & Rows.Count).End(xlUp).Row
    Lr4 = 2: Lr5 = 2: Lr6 = 2: LastID = "Start"
    
    For Each Rng1 In P.Range("A2:A" & Lr1)
    
        ID = Rng1.Value
        R.Range("A" & Lr4).Value = ID
        R.Range("B" & Lr4).Value = Rng1.Offset(0, 1)
        R.Range("C" & Lr4).Value = ""
        R.Range("D" & Lr4).Value = Rng1.Offset(0, 2).Value
        R.Range("A" & Lr4).Resize(1, 4).Interior.ColorIndex = 24
        Lr4 = Lr4 + 1
        Missing = True
        
        For Each Rng2 In T.Range("A2:A" & Lr2)
            If Rng2.Value = ID Then
                R.Range("A" & Lr4).Value = ID
                R.Range("B" & Lr4).Value = Rng2.Offset(0, 2).Value
                R.Range("C" & Lr4).Value = Rng2.Offset(0, 1).Value
                R.Range("E" & Lr4).Value = Rng2.Offset(0, 3).Value
                R.Range("A" & Lr4).Resize(1, 5).Interior.ColorIndex = 40
                Lr4 = Lr4 + 1: Missing = False
                Else: LastID = ID
                
            End If
        If Missing Then GoTo GetNext2 Else GoTo GetDetails 'skip this listing
    
        If Missing = True Then
            R.Range("A" & Lr4).Value = ID
            R.Range("E" & Lr4).Value = "Missing"
            R.Range("A" & Lr4).Resize(1, 5).Interior.ColorIndex = 40
            Lr4 = Lr4 + 1
        End If
    GetDetails:
        For Each Rng3 In D.Range("A2:A" & Lr3)
                           
            If Rng3.Value = ID And Rng3.Offset(, 1) = Rng2.Offset(, 1) Then
                R.Range("A" & Lr4).Value = ID
                R.Range("C" & Lr4).Value = Rng3.Offset(0, 1).Value
                R.Range(Cells(Lr4, "F"), Cells(Lr4, "J")).Value = _
                    Rng3.Offset(0, 2).Resize(1, 5).Value
                R.Range("A" & Lr4).Resize(1, 10).Interior.ColorIndex = 35
                Lr4 = Lr4 + 1: Rng3.Offset(0, 100) = "Done": GoTo GetNext2
           End If: Next Rng3
           
            For Each Rng3 In D.Range("A2:A" & Lr3)
                If Rng3.Value = LastID And Rng3.Offset(0, 100) <> "Done" Then
                R.Range("A" & Lr4).Value = LastID
                R.Range("C" & Lr4).Value = Rng3.Offset(0, 1).Value
                R.Range(Cells(Lr4, "F"), Cells(Lr4, "J")).Value = _
                    Rng3.Offset(0, 2).Resize(1, 5).Value
                R.Range("A" & Lr4).Resize(1, 10).Interior.ColorIndex = 35
                Rng3.Offset(0, 100) = "Done"
                           
                Lr4 = Lr4 + 1
            End If
                 Next Rng3
    GetNext2:    Next Rng2
    GetNext1:    Next Rng1
    
    GetSoloTasks:
                For Each Rng2 In T.Range("A2:A" & Lr2)
                    For Each Rng1 In P.Range("A2:A" & Lr1)
                If Rng1.Value = Rng2.Value Then GoTo GetNextT
                    Next Rng1
                Rng2.EntireRow.Copy TN.Range("A" & Lr5): Lr5 = Lr5 + 1
    GetNextT:    Next Rng2
    GetSoloDetails:
                For Each Rng3 In D.Range("A2:A" & Lr3)
                    For Each Rng1 In P.Range("A2:A" & Lr1)
                If Rng1.Value = Rng3.Value Then GoTo GetNextD
                    Next Rng1
                Rng3.EntireRow.Copy DN.Range("A" & Lr6): Lr6 = Lr6 + 1
    GetNextD:    Next Rng3
    
                Set Heads = R.Range("A1:J1"): GoSub GetAHead
                Set Heads = TN.Range("A1:J1"): GoSub GetAHead
                Set Heads = DN.Range("A1:J1"): GoSub GetAHead
                     D.Columns(101).ClearContents
                    Exit Sub
    'formatting
    GetAHead:
    With Heads
        .Value = Array("ID", "Assignment", "Name", "Allotted Hours", _
            "Total Billed", "Hours", "Area", "Pending", "StartDate", "FinishDate")
        .Interior.ColorIndex = 49
        .Font.ColorIndex = 2
        .CurrentRegion.Columns.AutoFit
    End With: Return
    End Sub

  13. #13
    Registered User
    Join Date
    09-27-2012
    Location
    Orange County, CA
    MS-Off Ver
    Excel 2010
    Posts
    85

    Re: Find Common Values across multiple sheets based on Unique ID

    xladept.

    Thanks a lot for your help but the macro is not working, it is giving me duplicate values in the results tab. I appreciate you taking the time to help me.

  14. #14
    Registered User
    Join Date
    09-27-2012
    Location
    Orange County, CA
    MS-Off Ver
    Excel 2010
    Posts
    85

    Re: Find Common Values across multiple sheets based on Unique ID

    Hi GC Excel.
    Thanks for the updated macro, when I run the macro and if there are multiple rows with missing ID, the "In_Details_but_NOT_in_Projects" tab is only displaying the last ID that was blank. I think it is overwriting the values for blank ID. I tested it by just deleting random values in the same worksheet. In the beginning , middle and also the last row. Can you please look at it. Thanks. Appreciate your help.

  15. #15
    Forum Guru xladept's Avatar
    Join Date
    04-14-2012
    Location
    Pasadena, California
    MS-Off Ver
    Excel 2003,2010
    Posts
    12,378

    Re: Find Common Values across multiple sheets based on Unique ID

    It comes out nicely for me - do you have a different sample??

  16. #16
    Forum Expert
    Join Date
    08-02-2013
    Location
    Québec
    MS-Off Ver
    Excel 2003, 2007, 2013
    Posts
    1,414

    Re: Find Common Values across multiple sheets based on Unique ID

    Hello again,
    see attached file. This will work if multiple ID are blank.
    Attached Files Attached Files

  17. #17
    Forum Guru xladept's Avatar
    Join Date
    04-14-2012
    Location
    Pasadena, California
    MS-Off Ver
    Excel 2003,2010
    Posts
    12,378

    Re: Find Common Values across multiple sheets based on Unique ID

    Ditto:

    Sub DesiMergeX()
    
    Dim Rng1 As Range, Rng2 As Range, Rng3 As Range, Rng4 As Range, Heads As Range 'variables for looping
    Dim Lr1 As Long, Lr2 As Long, Lr3 As Long, Lr4 As Long, Lr5 As Long, Lr6 As Long 'last row
    Dim P As Worksheet, T As Worksheet, D As Worksheet, R As Worksheet
    Dim ID As String, LastID As String, TN As Worksheet, DN As Worksheet
    Dim Missing As Boolean, Mismatch As Boolean
    
    Set P = Worksheets("Projects")
    Set T = Worksheets("Tasks")
    Set D = Worksheets("Details") 'In_Details_but_NOT_in_Projects
    Worksheets.Add(After:=Worksheets(Worksheets.count)).Name = "In_Tasks_but_NOT_in_Projects"
    Set TN = ActiveSheet
    Worksheets.Add(After:=Worksheets(Worksheets.count)).Name = "In_Details_but_NOT_in_Projects"
    Set DN = ActiveSheet
    Worksheets.Add(After:=Worksheets(Worksheets.count)).Name = "RESULT_" & Replace(Time, ":", ",")
    Set R = ActiveSheet
    
    Lr1 = P.Range("A" & Rows.count).End(xlUp).row
    Lr2 = T.Range("A" & Rows.count).End(xlUp).row
    Lr3 = D.Range("A" & Rows.count).End(xlUp).row
    Lr4 = 2: Lr5 = 2: Lr6 = 2: LastID = "Start"
    
    For Each Rng1 In P.Range("A2:A" & Lr1)
    
        ID = Rng1.Value
        R.Range("A" & Lr4).Value = ID
        R.Range("B" & Lr4).Value = Rng1.Offset(0, 1)
        R.Range("C" & Lr4).Value = ""
        R.Range("D" & Lr4).Value = Rng1.Offset(0, 2).Value
        R.Range("A" & Lr4).Resize(1, 4).Interior.ColorIndex = 24
        Lr4 = Lr4 + 1
        Missing = True
        
        For Each Rng2 In T.Range("A2:A" & Lr2)
            If Rng2.Value = ID Then
                R.Range("A" & Lr4).Value = ID
                R.Range("B" & Lr4).Value = Rng2.Offset(0, 2).Value
                R.Range("C" & Lr4).Value = Rng2.Offset(0, 1).Value
                R.Range("E" & Lr4).Value = Rng2.Offset(0, 3).Value
                R.Range("A" & Lr4).Resize(1, 5).Interior.ColorIndex = 40
                Lr4 = Lr4 + 1: Missing = False
                Else: LastID = ID
                
            End If
        If Missing Then GoTo GetNext2 Else GoTo GetDetails 'skip this listing
    
        If Missing = True Then
            R.Range("A" & Lr4).Value = ID
            R.Range("E" & Lr4).Value = "Missing"
            R.Range("A" & Lr4).Resize(1, 5).Interior.ColorIndex = 40
            Lr4 = Lr4 + 1
        End If
    GetDetails:
        For Each Rng3 In D.Range("A2:A" & Lr3)
                           
            If Rng3.Value = ID And Rng3.Offset(, 1) = Rng2.Offset(, 1) _
                    And Rng3.Offset(0, 100) <> "Done" Then
                R.Range("A" & Lr4).Value = ID
                R.Range("C" & Lr4).Value = Rng3.Offset(0, 1).Value
                R.Range(Cells(Lr4, "F"), Cells(Lr4, "J")).Value = _
                    Rng3.Offset(0, 2).Resize(1, 5).Value
                R.Range("A" & Lr4).Resize(1, 10).Interior.ColorIndex = 35
                Lr4 = Lr4 + 1: Rng3.Offset(0, 100) = "Done": GoTo GetNext2
           End If: Next Rng3
           
            For Each Rng3 In D.Range("A2:A" & Lr3)
                If Rng3.Value = LastID And Rng3.Offset(0, 100) <> "Done" Then
                R.Range("A" & Lr4).Value = LastID
                R.Range("C" & Lr4).Value = Rng3.Offset(0, 1).Value
                R.Range(Cells(Lr4, "F"), Cells(Lr4, "J")).Value = _
                    Rng3.Offset(0, 2).Resize(1, 5).Value
                R.Range("A" & Lr4).Resize(1, 10).Interior.ColorIndex = 35
                Rng3.Offset(0, 100) = "Done"
                           
                Lr4 = Lr4 + 1
            End If
                 Next Rng3
    GetNext2:    Next Rng2
    GetNext1:    Next Rng1
    
    GetSoloTasks:
                For Each Rng2 In T.Range("A2:A" & Lr2)
                    For Each Rng1 In P.Range("A2:A" & Lr1)
                If Rng1.Value = Rng2.Value Then GoTo GetNextT
                    Next Rng1
                Rng2.EntireRow.Copy TN.Range("A" & Lr5): Lr5 = Lr5 + 1
    GetNextT:    Next Rng2
    GetSoloDetails:
                For Each Rng3 In D.Range("A2:A" & Lr3)
                    For Each Rng1 In P.Range("A2:A" & Lr1)
                If Rng1.Value = Rng3.Value Then GoTo GetNextD
                    Next Rng1
                Rng3.EntireRow.Copy DN.Range("A" & Lr6): Lr6 = Lr6 + 1
    GetNextD:    Next Rng3
    
                Set Heads = R.Range("A1:J1"): GoSub GetAHead
                Set Heads = TN.Range("A1:J1"): GoSub GetAHead
                Set Heads = DN.Range("A1:J1"): GoSub GetAHead
                     D.Columns(101).ClearContents
                    Exit Sub
    'formatting
    GetAHead:
    With Heads
        .Value = Array("ID", "Assignment", "Name", "Allotted Hours", _
            "Total Billed", "Hours", "Area", "Pending", "StartDate", "FinishDate")
        .Interior.ColorIndex = 49
        .Font.ColorIndex = 2
        .CurrentRegion.Columns.AutoFit
    End With: Return
    End Sub

  18. #18
    Registered User
    Join Date
    09-27-2012
    Location
    Orange County, CA
    MS-Off Ver
    Excel 2010
    Posts
    85

    Re: Find Common Values across multiple sheets based on Unique ID

    Thanks GC Excel and xladept.

    This works, I will mark the thread as solved. I appreciate your help.

  19. #19
    Forum Guru xladept's Avatar
    Join Date
    04-14-2012
    Location
    Pasadena, California
    MS-Off Ver
    Excel 2003,2010
    Posts
    12,378

    Re: Find Common Values across multiple sheets based on Unique ID

    You're welcome!

  20. #20
    Registered User
    Join Date
    09-27-2012
    Location
    Orange County, CA
    MS-Off Ver
    Excel 2010
    Posts
    85

    Re: Find Common Values across multiple sheets based on Unique ID

    Hi GC Excel.

    This solution has been working very well for me but I have come across a condition/situation that needs a little modification to the original macro. Can you please help and modify the macro to accommodate for this situation

    In the sample sheet, in the Details tab there are certain rows that are missing both the ID and the Name, so when I run the macro they get lost, but they should show up in the "In Details but NOT in Project" tab, just like how the rows with missing ID show up there.

    Can you please look at it, I will really appreciate your help. This macro has been working great and has saved me a lot of time to create these reports.
    Thanks in advance for your help.
    Attached Files Attached Files

  21. #21
    Forum Guru xladept's Avatar
    Join Date
    04-14-2012
    Location
    Pasadena, California
    MS-Off Ver
    Excel 2003,2010
    Posts
    12,378

    Re: Find Common Values across multiple sheets based on Unique ID

    Hi Desi,

    Try this:

    Sub DesiMergeX()
    
    Dim Rng1 As Range, Rng2 As Range, Rng3 As Range, Rng4 As Range, Heads As Range 'variables for looping
    Dim Lr1 As Long, Lr2 As Long, Lr3 As Long, Lr4 As Long, Lr5 As Long, Lr6 As Long 'last row
    Dim P As Worksheet, T As Worksheet, D As Worksheet, r As Worksheet
    Dim ID As String, LastID As String, TN As Worksheet, DN As Worksheet
    Dim Missing As Boolean, Mismatch As Boolean
    
    Set P = Worksheets("Projects")
    Set T = Worksheets("Tasks")
    Set D = Worksheets("Details")
                                    For Each TN In Worksheets
    If TN.Name = "In_Tasks_but_NOT_in_Projects" Then GoTo SetTN
                                    Next
    Worksheets.Add(After:=Worksheets(Worksheets.count)).Name = "In_Tasks_but_NOT_in_Projects"
    SetTN: Set TN = Worksheets("In_Tasks_but_NOT_in_Projects")
                                    For Each DN In Worksheets
                If DN.Name = "In_Details_but_NOT_in_Projects" Then GoTo SetDN
                                    Next
    Worksheets.Add(After:=Worksheets(Worksheets.count)).Name = "In_Details_but_NOT_in_Projects"
    SetDN: Set DN = Worksheets("In_Details_but_NOT_in_Projects")
    Worksheets.Add(After:=Worksheets(Worksheets.count)).Name = "RESULT_" & Replace(Time, ":", ",")
    Set r = ActiveSheet
    
    Lr1 = P.Range("A" & Rows.count).End(xlUp).row
    Lr2 = T.Range("A" & Rows.count).End(xlUp).row
    Lr3 = D.Range("F" & Rows.count).End(xlUp).row
    Lr4 = 2: Lr5 = 2: Lr6 = 2: LastID = "Start"
    
    For Each Rng1 In P.Range("A2:A" & Lr1)
    
        ID = Rng1.Value
        r.Range("A" & Lr4).Value = ID
        r.Range("B" & Lr4).Value = Rng1.Offset(0, 1)
        r.Range("C" & Lr4).Value = ""
        r.Range("D" & Lr4).Value = Rng1.Offset(0, 2).Value
        r.Range("A" & Lr4).Resize(1, 4).Interior.ColorIndex = 24
        Lr4 = Lr4 + 1
        Missing = True
        
        For Each Rng2 In T.Range("A2:A" & Lr2)
            If Rng2.Value = ID Then
                r.Range("A" & Lr4).Value = ID
                r.Range("B" & Lr4).Value = Rng2.Offset(0, 2).Value
                r.Range("C" & Lr4).Value = Rng2.Offset(0, 1).Value
                r.Range("E" & Lr4).Value = Rng2.Offset(0, 3).Value
                r.Range("A" & Lr4).Resize(1, 5).Interior.ColorIndex = 40
                Lr4 = Lr4 + 1: Missing = False
                Else: LastID = ID
                
            End If
        If Missing Then GoTo GetNext2 Else GoTo GetDetails 'skip this listing
    
        If Missing = True Then
            r.Range("A" & Lr4).Value = ID
            r.Range("E" & Lr4).Value = "Missing"
            r.Range("A" & Lr4).Resize(1, 5).Interior.ColorIndex = 40
            Lr4 = Lr4 + 1
        End If
    GetDetails:
        For Each Rng3 In D.Range("A2:A" & Lr3)
                           
            If Rng3.Value = ID And Rng3.Offset(, 1) = Rng2.Offset(, 1) _
                    And Rng3.Offset(0, 100) <> "Done" Then
                r.Range("A" & Lr4).Value = ID
                r.Range("C" & Lr4).Value = Rng3.Offset(0, 1).Value
                r.Range(Cells(Lr4, "F"), Cells(Lr4, "J")).Value = _
                    Rng3.Offset(0, 2).Resize(1, 5).Value
                r.Range("A" & Lr4).Resize(1, 10).Interior.ColorIndex = 35
                Lr4 = Lr4 + 1: Rng3.Offset(0, 100) = "Done": GoTo GetNext2
           End If: Next Rng3
           
            For Each Rng3 In D.Range("A2:A" & Lr3)
                If Rng3.Value = LastID And Rng3.Offset(0, 100) <> "Done" Then
                r.Range("A" & Lr4).Value = LastID
                r.Range("C" & Lr4).Value = Rng3.Offset(0, 1).Value
                r.Range(Cells(Lr4, "F"), Cells(Lr4, "J")).Value = _
                    Rng3.Offset(0, 2).Resize(1, 5).Value
                r.Range("A" & Lr4).Resize(1, 10).Interior.ColorIndex = 35
                Rng3.Offset(0, 100) = "Done"
                           
                Lr4 = Lr4 + 1
            End If
                 Next Rng3
    GetNext2:    Next Rng2
    GetNext1:    Next Rng1
    
    GetSoloTasks:
                For Each Rng2 In T.Range("A2:A" & Lr2)
                    For Each Rng1 In P.Range("A2:A" & Lr1)
                If Rng1.Value = Rng2.Value Then GoTo GetNextT
                    Next Rng1
                Rng2.EntireRow.Copy TN.Range("A" & Lr5): Lr5 = Lr5 + 1
    GetNextT:    Next Rng2
    GetSoloDetails:
                For Each Rng3 In D.Range("A2:A" & Lr3)
                    For Each Rng1 In P.Range("A2:A" & Lr1)
                If Rng1.Value = Rng3.Value Then GoTo GetNextD
                    Next Rng1
                Rng3.EntireRow.Copy DN.Range("A" & Lr6): Lr6 = Lr6 + 1
    GetNextD:    Next Rng3
    
                Set Heads = r.Range("A1:J1"): GoSub GetAHead
                Set Heads = TN.Range("A1:J1"): GoSub GetAHead
                Set Heads = DN.Range("A1:J1"): GoSub GetAHead
                     D.Columns(101).ClearContents
                    Exit Sub
    'formatting
    GetAHead:
    With Heads
        .Value = Array("ID", "Assignment", "Name", "Allotted Hours", _
            "Total Billed", "Hours", "Area", "Pending", "StartDate", "FinishDate")
        .Interior.ColorIndex = 49
        .Font.ColorIndex = 2
        .CurrentRegion.Columns.AutoFit
    End With: Return
    End Sub

  22. #22
    Registered User
    Join Date
    09-27-2012
    Location
    Orange County, CA
    MS-Off Ver
    Excel 2010
    Posts
    85

    Re: Find Common Values across multiple sheets based on Unique ID

    xladept

    This works Thanks a lot for your help !

  23. #23
    Forum Guru xladept's Avatar
    Join Date
    04-14-2012
    Location
    Pasadena, California
    MS-Off Ver
    Excel 2003,2010
    Posts
    12,378

    Re: Find Common Values across multiple sheets based on Unique ID

    You're welcome! And, thanks for the rep

+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. [SOLVED] Find count of Unique or Duplicate Values based on Concatenated values in 2 columns
    By bdicarlo1 in forum Excel Formulas & Functions
    Replies: 9
    Last Post: 12-03-2014, 12:42 AM
  2. How to find unique records from multiple sheets
    By Mike Nelson in forum Excel Formulas & Functions
    Replies: 4
    Last Post: 05-20-2013, 08:38 AM
  3. Replies: 2
    Last Post: 02-06-2013, 04:44 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1