Hi

Try testing the following code on some test data first to see if it does what you want. I took a pretty basic approach to your problem by simply deduplicating any redundant entries. I appreciate that this may not completely accomplish what you need, but it is difficult to do that without further information on exactly what information is being updated.

Sub CopyRows()
    Dim bottomD As Integer
    bottomD = Sheets("data").Range("b" & Rows.Count).End(xlUp).Row
    Dim c As Range
    Dim ws As Worksheet
    For Each c In Sheets("data").Range("b2:b" & bottomD)
        Set ws = Sheets(c.Value)
        c.EntireRow.Copy ws.Cells(Rows.Count, "A").End(xlUp).Offset(1)
        ws.UsedRange.RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6), Header:=xlNo
    Next c
End Sub