Compare two lists and change row colour

Solved/Closed
dagoun - Feb 9, 2010 at 11:48 AM
venkat1926 Posts 1863 Registration date Sunday June 14, 2009 Status Contributor Last seen August 7, 2021 - Feb 9, 2010 at 07:51 PM
Hello,

I have two different workbooks, lets say workbook 1 and workbook2. In both workbooks i have a column with barcodes.
I need a vba to check the two barcode columns in workbooks and if it find matches to create a new workbook and copy the whole row of workbook 1 and use the same colour of cell barcode in workbook 2.

Thanks in advance for your help
Related:

1 response

venkat1926 Posts 1863 Registration date Sunday June 14, 2009 Status Contributor Last seen August 7, 2021 811
Feb 9, 2010 at 07:51 PM
I am assuming that the barcode columns both sheet 1 and sheet 2 are the same
then try this code
at the beginning when you run the code, the code will ask an input about the column letter of the barcode. you can type the column letter e.g. G and click ok (on the top right)

the macro is

Sub test()
Dim col As String, r As Range, c As Range, cfind As Range
Dim x, y As Integer
col = InputBox("type the column LETTER in which the barcode is netered for e.g. G")
On Error Resume Next
With Worksheets("sheet2")
Set r = Range(.Cells(2, col), .Cells(2, col).End(xlDown))
For Each c In r
x = c.Value
With Worksheets("sheet1").Columns(col & ":" & col)
Set cfind = .Cells.Find(what:=x, lookat:=xlWhole)
If cfind Is Nothing Then GoTo nnext
y = cfind.Interior.ColorIndex
cfind.EntireRow.Copy
With Worksheets("sheet3")
.Cells(Rows.Count, "A").End(xlUp).Offset(1, 0).PasteSpecial
.Cells(Rows.Count, col).End(xlUp).Interior.ColorIndex = y
End With
End With
nnext:
Next c
End With

End Sub
3