Give this a try
Sub MoveDups()
Dim r As Range, Data As Range, cel As Range, c As Range, tng As Range
Dim Chk As Boolean
Set r = Range("A1:G1")
Set Data = Range(Cells(2, 1), Cells(Rows.Count, 7).End(xlUp))
For Each cel In r
Set Rng = Nothing
Chk = False
With Data
Set c = .Find(cel, Lookat:=xlWhole)
If Not c Is Nothing Then
firstAddress = c.Address
Do
Chk = True
If Rng Is Nothing Then
Set Rng = c
Else
Set Rng = Union(Rng, c)
End If
c.Copy c.Offset(, 8 * (c.Row - 1))
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
If Chk Then
cel.ClearContents
Rng.ClearContents
End If
Next cel
End Sub