Excel - Compare two lists and change row color


I have two different workbooks; let's 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 color of cell barcode in workbook 2.


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 
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 
Next c 
End With 

End Sub


Thanks to venkat1926 for this tip on the forum.

Ask a question
CCM is a leading international tech website. Our content is written in collaboration with IT experts, under the direction of Jean-François Pillou, founder of CCM.net. CCM reaches more than 50 million unique visitors per month and is available in 11 languages.
This document, titled « Excel - Compare two lists and change row color », is available under the Creative Commons license. Any copy, reuse, or modification of the content should be sufficiently credited to CCM (ccm.net).