Hi, seems to be a lot of code flying with this. As long as you have the Word library referenced you can use:

Dim oRange As Word.Range
Dim SourceDoc As Word.Document
Dim ThatDoc As Word.Document
Set SourceDoc = ActiveDocument
Documents.Add
Set ThatDoc = ActiveDocument
ThisDoc.Activate
Selection.HomeKey unit:=wdStory
With Selection.Find
    Do While (.Execute(findtext:="whatever", _
Forward:=True) = True) = True
        Set oRange = Selection.Paragraphs(1).Range
        oRange.MoveEnd unit:=wdParagraph, Count:=3
            ThatDoc.Activate
            Selection.TypeText Text:=oRange.Text & vbCrLf
            SourceDoc.Activate
        Set oRange = Nothing
    Loop
End With

which finds every instance of "whatever" (which of course could be a variable), and copies the paragraph it is in, PLUS the following three paragraphs into a new document.