Hey Anne, this is what I use, may not be the best, but it works...
Sub CopyToNewRow()
' Verify user wants to add new row with a copy/paste
If MsgBox("Are you sure you want to Insert a copied row?", _
vbYesNo, "Insert copied row") = vbNo Then Exit Sub
' Set range as variable user-input with default as last selection
Dim NewRow As Range
Set NewRow = Application.InputBox( _
"Select or input row (can be an individual cell) to duplicate.", _
Default:=Selection.Address(False, False), Type:=8)
If NewRow Is Nothing Then Exit Sub
[NewRow].EntireRow.Select
With Selection
.Copy
.Insert Shift:=xlDown
End With
[NewRow].Select
Application.CutCopyMode = False
End Sub