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