You certainly don't (and rarely do) need to use selection. You will have to substitute your own style names:
Code:
Sub ScratchMacro()
'A basic Word Macro coded by Gregory K. Maxey
Dim oPar As Paragraph
Dim oRng As Range
With ActiveDocument
Set oRng = .Range
.Paragraphs(1).Range.Style = "Heading 1"
.Paragraphs(2).Range.Style = "Heading 2"
.Paragraphs(3).Range.Style = "Heading 3"
oRng.Start = .Paragraphs(4).Range.Start
End With
'Format unnumbered subtitles
For Each oPar In oRng.Paragraphs
If oPar.Range.ComputeStatistics(wdStatisticLines) = 1 _
And oPar.Range.ParagraphFormat.Alignment = wdAlignParagraphLeft _
And Not oPar.Range Like "*[0-9]*" Then
oPar.Range.Style = "Body Text"
End If
Next oPar
lbl_Exit:
Set oPar = Nothing
Exit Sub
End Sub