You can select the row you want to copy the formatting from using Range(*row number*).Rows.EntireRow.Select and then Selection.Insert xlShiftDown, CopyOrigin:=xlFormatFromRightOrBelow and then write the data to the newly created row.
Here is an example from code I created to help someone do something similar
For rw = 1 To countPackingSlips - 1
BlankTemplateSheet.Range("3:3").Rows.EntireRow.Select
Selection.Insert xlShiftDown, CopyOrigin:=xlFormatFromRightOrBelow
BlankTemplateSheet.Cells(rw + 2, 1).Value = uniquePS(rw - 1) ' write the packing slip to the cell
Next rw
It creates a new row in the template by first copying the last row in the template and writes some data to the new row.