OK
Sub test()
Dim rng As Range, r As Range, n As Long, m As Object
Dim temp As String, myStr As String
Set rng = Columns("a:c").SpecialCells(2)
If rng Is Nothing Then Exit Sub
With CreateObject("VBScript.RegExp")
.Global = True
For Each r In rng
.Pattern = "(\D+\S) (\d+)(.*)"
If .test(r.Value) Then
myStr = .Replace(r.Value, "$1")
n = n + 1
Cells(n, "m").Resize(, 2).Value = _
Split(.Replace(r.Value, "$1" & Chr(2) & "$2"), Chr(2))
temp = .Replace(r.Value, "$3")
If temp <> "" Then
.Pattern = "\d+"
For Each m In .Execute(temp)
n = n + 1
Cells(n, "m").Resize(, 2).Value = _
Array(myStr, m.Value)
Next
End If
End If
Next
End With
Range("n1").CurrentRegion.Value = Range("n1").CurrentRegion.Value
End Sub
Bookmarks