Maybe:

Sub torti111()
Dim i As Long, y
With Sheets("test1")
    ReDim y(2 To 1000)
    For i = LBound(y) To UBound(y)
        If .Cells(i, "G") = "share sale" Then
            .Range(.Cells(i, "A"), .Cells(i, "G")).Copy Sheets("Sale").Range("A" & Rows.Count).End(3)(2)
        End If
    Next i
End With
End Sub