+ Reply to Thread
Results 1 to 2 of 2

Match two tables using unique ID number

  1. #1
    fisherman
    Guest

    Match two tables using unique ID number

    I have two tables using item number as the identifer for each row. It is
    possible that their are items in either tables that do not match the other
    table. I need to match the two tables so that each unique item is in the same
    row and unique items in each table are on a seperate row.

  2. #2
    Dave Peterson
    Guest

    Re: Match two tables using unique ID number

    So you only care about the key identifier columns???

    If yes, create a new worksheet.
    Copy the key column from the first worksheet into column A.
    copy the key column from the second worksheet into column B.

    Add headers to row 1 (if you don't have them already).

    Then run this macro:

    Option Explicit
    Sub testme()

    Application.ScreenUpdating = False

    Dim wks As Worksheet
    Dim ColA As Range
    Dim ColB As Range
    Dim iRow As Long
    Dim myCols As Long

    Set wks = Worksheets("sheet1")
    wks.DisplayPageBreaks = False
    With wks
    'row 1 has headers!
    Set ColA = .Range("a2", .Cells(.Rows.Count, "A").End(xlUp))
    Set ColB = .Range("b2", .Cells(.Rows.Count, "B").End(xlUp))

    With ColA
    .Sort key1:=.Cells(1), order1:=xlAscending, header:=xlNo
    End With

    'change the mycols to the number of columns that
    'are associated with column B

    myCols = 1 ' columns B only
    With ColB.Resize(, myCols)
    .Sort key1:=.Cells(1), order1:=xlAscending, header:=xlNo
    End With

    iRow = 2
    Do
    If Application.CountA(.Cells(iRow, "A").Resize(1, 2)) = 0 Then
    Exit Do
    End If

    If .Cells(iRow, "A").Value = .Cells(iRow, "B").Value _
    Or Application.CountA(.Cells(iRow, "A").Resize(1, 2)) = 1 Then
    'do nothing
    Else
    If .Cells(iRow, "A").Value > .Cells(iRow, "B").Value Then
    .Cells(iRow, "A").Insert shift:=xlDown
    Else
    .Cells(iRow, "B").Resize(1, myCols).Insert shift:=xlDown
    End If
    End If
    iRow = iRow + 1
    Loop
    End With

    Application.ScreenUpdating = True

    End Sub


    If you're new to macros, you may want to read David McRitchie's intro at:
    http://www.mvps.org/dmcritchie/excel/getstarted.htm


    fisherman wrote:
    >
    > I have two tables using item number as the identifer for each row. It is
    > possible that their are items in either tables that do not match the other
    > table. I need to match the two tables so that each unique item is in the same
    > row and unique items in each table are on a seperate row.


    --

    Dave Peterson

+ Reply to Thread

Thread Information

Users Browsing this Thread

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

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