Try this...
Sub SplitValues()
Dim rMyRng As Range, rResCell As Range, vSplit As Variant, r As Range, i As Integer
Set rMyRng = Application.InputBox("Select The Split Data Range", "Data Range is Required", , , , , , 8)
If rMyRng Is Nothing Then
MsgBox "Data Range is Required, please try again", vbCritical, "Data Range is Required"
Exit Sub
End If
Set rResCell = Application.InputBox("Select The Result Cell", "Result Cell Ref is Required", , , , , , 8)
If rResCell Is Nothing Then
MsgBox "Result Cell Ref is Required, please try again", vbCritical, "Result Cell Ref is Required"
Exit Sub
End If
Set rResCell = rResCell.Cells(1)
Application.ScreenUpdating = False
For Each r In rMyRng
vSplit = Split(r.Value, "|")
For i = LBound(vSplit) To UBound(vSplit)
rResCell.Value = vSplit(i)
Set rResCell = rResCell.Offset(1)
Next i
Next r
Application.ScreenUpdating = True
End Sub
Bookmarks