FYI you can create a Sub routine to which you pass the relevant parameters allowing you to reuse the same basic code
Sub Test1()
Call DoCopy("WorkBookData.xlsx", "Sheet1", "A:J", ActiveSheet.Range("A1"))
End Sub
Sub DoCopy(wbs, sht, r, tgt)
Dim wbsource As Workbook
Dim Pth As String
Application.ScreenUpdating = False
Pth = ThisWorkbook.Path
On Error Resume Next
Set wbsource = Workbooks(wbs)
On Error GoTo 0
If wbsource Is Nothing Then
Set wbsource = Workbooks.Open(Pth & "\" & wbs)
End If
wbsource.Sheets(sht).Range(r).Copy tgt
Application.CutCopyMode = False
wbsource.Close False
Application.ScreenUpdating = True
End Sub