Q:

Loop through chapters where chapter names are in an array

It needs to go through a document and find Chapter headings (Chapter One, Chapter Two, etc. - this should be an array I believe), then insert a page break before the word Chapter and end with two line breaks after the Chapter number.
Rather than copy my code out for 20+ chapters, how do I make this more efficient using an array for the find and replace terms?
Sub ChapterHeadings()
'
' ChapterHeadings Macro
'

    Dim Chapter As Variant
    Chapter = Array("Chapter One", "Chapter Two", "Chapter Three", "Chapter Four", "Chapter Five")

    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    Selection.Find.Replacement.Style = ActiveDocument.Styles( _
        "Heading 1,Chapter Heading")
    With Selection.Find
        .Text = Chapter
        .Replacement.Text = "^m"Chapter"^p^p"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll

End Sub

Sub ChapterHeadings()
'
' ChapterHeadings Macro
'
'
' Copy and paste this for every chapter heading - this works!!!!!!!

    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    Selection.Find.Replacement.Style = ActiveDocument.Styles( _
        "Heading 1,Chapter Heading")
    With Selection.Find
        .Text = "Chapter One"
        .Replacement.Text = "^mChapter One^p^p"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll

End Sub

When finding chapter headings, it must match what is set in the Chapter array.
When there's a match, it replaces that results with a page break (^m), followed by the Chapter heading it originally found, followed by two line breaks (^p^p).

A:

Untested:
Sub ChapterHeadings()
'
' ChapterHeadings Macro
'

    Dim Chapters As Variant, Chapter
    Chapter = Array("Chapter One", "Chapter Two", "Chapter Three", "Chapter Four", "Chapter Five")
    For Each Chapter in Chapters
        Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        Selection.Find.Replacement.Style = ActiveDocument.Styles( _
        "Heading 1,Chapter Heading")
        With Selection.Find
            .Text = Chapter
            .Replacement.Text = "^m" & Chapter & "^p^p"
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchCase = False
            .MatchWholeWord = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
    Next Chapter

End Sub

