You have been given plenty to work with yet you insist on coming back here with a mess of Selection code. For the process of selecting text between Heading 1, something like this (I still have no clue what you ultimately want to do. BTW, moving by words will always be slower than moving by paragraph unless of course the paragraphs have only one word.
Sub TextBetweenHeading1()
'A basic Word macro coded by Greg Maxey
Dim oRng As Range
Selection.Collapse wdCollapseEnd
Set oRng = Selection.Range
oRng.Collapse wdCollapseEnd
Do While oRng.Paragraphs(1).Style = "Heading 1"
oRng.Move wdParagraph, 1
Loop
Do
oRng.MoveEnd wdParagraph, 1
oRng.Select
Loop Until oRng.Paragraphs.Last.Range.Style = "Heading 1" Or oRng.Paragraphs.Last.Range.End = ActiveDocument.Range.End
If Not oRng.End = ActiveDocument.Range.End Then oRng.MoveEnd wdParagraph, -1
Do
oRng.MoveStart wdParagraph, -1
oRng.Select
Loop Until oRng.Paragraphs(1).Range.Style = "Heading 1" Or oRng.Paragraphs(1).Range.Start = ActiveDocument.Range.Start
If Not oRng.Start = ActiveDocument.Range.Start Or oRng.Paragraphs(1).Style = "Heading 1" Then oRng.MoveStart wdParagraph, 1
oRng.Select
oRng.Copy
lbl_Exit:
Exit Sub
End Sub