インターネットからこのvbaを取得しました:
Sub MatchCompanyName_InsertContact_EmailAddress()
Dim hold As New Collection
For Each celli In Columns(6).Cells
On Error GoTo raa
If Not celli.Value = Empty Then
hold.Add Item:=celli.Row, key:="" & celli.Value
End If
Next celli
On Error Resume Next
raa:
Range("J1:L1").Offset(celli.Row - 1, 0).Value = Range("J1:L1").Offset(hold(celli.Value) - 1, 0).Value
Resume Next
End Sub
コードの検索と置換のシーケンスは上から下の行です。逆にする必要があります。