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