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.