try
Sub test()
Dim i As Long, ii As Long, temp, RegX As Object, m As Object
Set RegX = CreateObject("VBScript.RegExp")
With RegX
.Global = True
.Pattern = "[^;]+;"
End With
With Cells(1).CurrentRegion
For i = .Rows.Count To 1 Step -1
temp = .Cells(i, 2).Value & ";"
Set m = RegX.Execute(temp)
If m.Count > 1 Then
For ii = m.Count - 1 To 0 Step -1
If ii > 0 Then
.Rows(i + 1).Insert xlShiftDown
.Rows(i + 1).Value = Array(.Cells(i, 1).Value, m(ii))
Else
.Rows(i).Value = Array(.Cells(i, 1).Value, m(ii))
End If
Next
End If
Next
End With
End Sub
Bookmarks