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.