A slightly different approach:
Sub Test()
Dim sNames
Dim lStartRow As Long: lStartRow = 20
Dim awf As WorksheetFunction: Set awf = Application.WorksheetFunction
Range(Cells(lStartRow - 1, 2), Cells(lStartRow - 1, 5)) = _
Split("Department|Name|Surname|Job Title", "|")
sNames = Split(Range("C3").Text, Chr$(10))
Range(Cells(lStartRow + LBound(sNames), 3), Cells(lStartRow + UBound(sNames), 3)) = _
awf.Transpose(sNames)
sNames = Split(Range("D3").Text, Chr$(10))
Range(Cells(lStartRow + LBound(sNames), 4), Cells(lStartRow + UBound(sNames), 4)) = _
awf.Transpose(sNames)
Range(Cells(lStartRow + LBound(sNames), 2), Cells(lStartRow + UBound(sNames), 2)) = _
Range("B3")
Range(Cells(lStartRow + LBound(sNames), 5), Cells(lStartRow + UBound(sNames), 5)) = _
Range("E3")
With Range(Cells(lStartRow - 1, 2), Cells(lStartRow - 1, 5))
.Font.Bold = True
End With
Regards
Bookmarks