1. Be advised that you had as 'period' after 'Sunil' in 'Smith, Canton; Fergus, Darryl; Chaudry, Sunil; Gatwick, Gerald; Pearson, George'
I changed it to a semicolon like the rest
2. I'd do something simple like this.
Option Explicit
Sub SplitData()
Dim wsData As Worksheet, wsOutput As Worksheet
Dim rData As Range
Dim iOut As Long, iIn As Long, iSplit As Long
Dim vData As Variant
Set wsData = Worksheets("Data")
Set wsOutput = Worksheets("Output")
Set rData = wsData.Cells(1, 1).CurrentRegion
wsData.Cells(1, 1).ClearContents
iOut = 1
Application.ScreenUpdating = False
With rData
For iIn = 1 To .Rows.Count
vData = Split(.Cells(iIn, 4).Value, ";")
For iSplit = LBound(vData) To UBound(vData)
.Rows(iIn).Copy wsOutput.Cells(iOut, 1).Resize(1, .Columns.Count)
wsOutput.Cells(iOut, 4).Value = vData(iSplit)
iOut = iOut + 1
Next iSplit
Next iIn
End With
wsOutput.Cells(1, 1).CurrentRegion.EntireColumn.AutoFit
Application.ScreenUpdating = True
End Sub