you can use something like that:
Sub Copy_Paste()
Dim wb, wb1 As Workbook
Dim sh, sh1 As Worksheet
Set wb = Workbooks.Open("S:\Infrastructure Section\Commercial Management\" _
& "PMI and Claims\MBS-11-005a and 005b - Claims Registers Rev. 1-Infrastructure.xls")
Set sh = wb.Worksheets("Clause 14")
Set wb1 = Workbooks.Open("S:\Infrastructure Section\Commercial Management\" _
& "PMI and Claims\INFRA-EOT Summary.xls")
Set sh1 = wb1.Worksheets("WP2047")
Dim i, LastRow As Long
Dim strx As String
With sh
LastRow = .Range("A" & .Rows.Count).End(xlUp).Row
j = 7
For i = 10 To LastRow
If .Cells(i, 1).Value = "WP2407" Then
strx = sh.Range("A" & i).Value
sh1.Range("A" & j).Value=Mid(strx, 3, 4)
.Range("B" & i & ":F" & i).Copy Destination:= sh1.Range("B" & j & ":F" & j)
.Range("S" & i & ":T" & i).Copy Destination:= sh1.Range("S" & j & ":T" & j)
j = j + 1
End If
Next i
End With
End Sub