So if you have inserted 3 more data columns does that mean you are now comparing Column I value with Column G? ...if then match is found then copy Column A to G to Sheet 2 and copy Column I to Column P to Column H in sheet 2? If my assumptions are incorrect upload small sample with new data structure showing where data is to compare. If my assumptions correct then
If Len(ws1.Range("I" & k)) > 0 Then
Set fnRng = ws1.Columns(7).Find(ws1.Range("I" & k), ws1.Range("G2"), xlValues, xlWhole)
If Not fnRng Is Nothing Then
Set cmpCpy = ws1.Range("I" & k).Resize(, 8)
Set fmCpy = ws1.Range("A" & fnRng.Row).Resize(, 7)
cmpCpy.Cut ws2.Range("H" & ws2.Cells(Rows.Count, "H").End(xlUp).Row + 1)
fmCpy.Cut ws2.Range("A" & ws2.Cells(Rows.Count, "H").End(xlUp).Row)
Based on your description that would be my estimate of the changes required - if does not work then a small sample of data and I will change code for you.
Bookmarks