Sub InsertNewRowWithFormulas()
ActiveSheet.Unprotect
With Rows(Selection.Row)
.Copy 'copies the row that contains the upper left cell of the selection
.Offset(1, 0).Insert Shift:=xlDown
.Offset(1, 0).SpecialCells(xlCellTypeConstants, 23).ClearContents 'Clear constants in new row
.Offset(1, 0).Select
End With
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True 'XL 2007 default worksheet protection
End Sub