Try this:
It will replace any /, \, or | with a comma (add more delimeters if needed) so that the split function can separate the Locations into an array. Hope it does what you want!
Option Explicit
Public Sub SortData()
Dim sh1 As Worksheet, sh2 As Worksheet
Dim r1 As Long, r2 As Long, x As Long, LastRow As Long, LastCol As Long
Dim Locations As String, Location() As String
Set sh1 = ThisWorkbook.Worksheets("Initial Data")
Set sh2 = ThisWorkbook.Worksheets("Desired Outcome")
LastRow = sh1.Cells(Rows.Count, 1).End(xlUp).Row
LastCol = sh1.Cells(1, Columns.Count).End(xlToLeft).Column
sh2.Cells.Clear
sh2.Range(sh2.Cells(1, 1), sh2.Cells(1, LastCol)).Value = sh1.Range(sh1.Cells(1, 1), sh1.Cells(1, LastCol)).Value
sh2.Range(sh2.Cells(1, 1), sh2.Cells(1, LastCol)).Font.Bold = True
r2 = 2
For r1 = 2 To LastRow Step 1
Locations = Replace(sh1.Cells(r1, 4).Value, "/", ",")
Locations = Replace(Locations , "\", ",")
Locations = Replace(Locations , "|", ",")
Location = Split(Locations, ",")
sh2.Range(sh2.Cells(r2, 1), sh2.Cells(r2 + UBound(Location), LastCol)).Value = sh1.Range(sh1.Cells(r1, 1), sh1.Cells(r1, LastCol)).Value
For x = 0 To UBound(Location) Step 1
sh2.Cells(r2 + x, 4).Value = Trim(Location(x))
Next
r2 = r2 + UBound(Location) + 2
Next
End Sub
Bookmarks