Select any cell in the row under which you want to insert 2 rows and run the macro below. Example: if you want to insert 5 x 2 rows below row 3 with the text you posted above: select first any cell in row 3 and run the macro. Then, select any cell in row 5 and run the macro again; then: select any cell in row 7 and run the macro again; and so on...
Sub Insert_rows()
Dim r as integer
r = ActiveCell.Row
ActiveCell.Offset(1).EntireRow.Resize(2).Insert
Cells(r + 1, 1) = "Vendor id & Name:"
Cells(r + 2, 1) = "Contract End Date"
With Range(Cells(r + 1, 1), Cells(r + 2, 2))
.HorizontalAlignment = xlGeneral
.Borders.LineStyle = xlContinuous
End With
Range(Cells(r + 1, 1), Cells(r + 2, 2)).Copy Cells(r + 1, 3)
Columns("A:D").AutoFit
End Sub
The macro below allows you to insert the desired number of rows (x2) with your text with 1 click. Same method as in my first macro: select any cell in the row under which you want to insert rows, and then run the macro.
Sub insert_rows2()
Dim r As Integer, x As Integer, y As Integer
r = ActiveCell.Row
x = InputBox("How many times do you want to insert 2 rows ?")
If x < 1 Then Exit Sub
ActiveCell.Offset(1).EntireRow.Resize(2).Insert
Cells(r + 1, 1) = "Vendor id & Name:"
Cells(r + 2, 1) = "Contract End Date"
With Range(Cells(r + 1, 1), Cells(r + 2, 2))
.HorizontalAlignment = xlGeneral
.Borders.LineStyle = xlContinuous
End With
Range(Cells(r + 1, 1), Cells(r + 2, 2)).Copy Cells(r + 1, 3)
If x > 1 then
For y = 1 To x - 1
Range(Cells(r + 1, 1), Cells(r + 2, 4)).Copy Cells(r + 3, 1)
r = r + 2
Next y
End If
End Sub