Glad it is solved, but a couple oif questions.

1) Should I have made last row absolute

Worksheets("Target").Range("B2:B5").Formula = _ 
"=SUMPRODUCT((Data!$A2:$A$" & DataLastRow & " =Target!A2)*Data!$B2:$B$" & DataLastRow & ")"
2) Is SUMPRODUCT necessary here, couldn't you have used SUMIF?

Worksheets("Target").Range("B2:B5").Formula = _ 
"=SUMIF(Data!$A2:$A" & DataLastRow & " ,Target!A2,Data!$B2:$B" & DataLastRow & ")"