A family of Microsoft spreadsheet software with tools for analyzing, charting, and communicating data.
Try this macro:
Sub SplitValues()
Const c = 5 ' column with multiple values
Dim r As Long
Dim m As Long
Dim arrParts
Dim i As Long
Application.ScreenUpdating = False
m = Cells(Rows.Count, c).End(xlUp).Row
For r = m To 2 Step -1
arrParts = Split(Cells(r, c), ";")
If UBound(arrParts) > 0 Then
For i = UBound(arrParts) To 1 Step -1
If arrParts(i) <> "" Then
With Cells(r, c).EntireRow
.Copy
.Insert
End With
Cells(r + 1, c) = arrParts(i)
End If
Next i
Cells(r, c) = arrParts(0)
End If
Next r
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub