I had been playing with this, I came up with the below (although longer than I thought it would be)
Update:
I created a button to show latest only and one to put it back as it was.
Code for latest only:
Sub test()
Dim var As Variant, x As Long, z As Long, n As Long
Dim oVar() As Variant, rCell As Range
Dim tRng As Range
Set tRng = Range("A2:A5") ' change your range here
For Each rCell In tRng
var = Split(rCell, Chr(10))
' manipulate array
For x = 0 To UBound(var)
If Not Mid(var(x), 3, 1) = "/" Then
var(z) = var(z) & vbNewLine & var(x)
var(x) = ""
Else
z = x
End If
Next x
'reverse the array
For x = UBound(var) To 0 Step -1
If var(x) <> "" And var(x) <> Chr(10) Then
ReDim Preserve oVar(n)
oVar(n) = var(x)
n = n + 1
End If
Next x
'output the result
rCell = Join(oVar, vbNewLine)
rCell.RowHeight = (UBound(Split(oVar(0), vbNewLine)) + 1) * 15
Erase oVar
n = 0
Next rCell
End Sub
Code to put it back as it was:
Sub UndoTest()
Dim tRng As Range, var As Variant, rCell As Range
Dim oVar() As Variant, z As Long, x As Long
Dim n As Long
Set tRng = Range("A2:A5") ' change your range here
For Each rCell In tRng
var = Split(rCell, vbNewLine)
' manipulate array
For x = 0 To UBound(var)
If Not Mid(var(x), 3, 1) = "/" Then
var(z) = var(z) & vbNewLine & var(x)
var(x) = ""
Else
z = x
End If
Next x
'reverse the array
For x = UBound(var) To 0 Step -1
If var(x) <> "" And var(x) <> Chr(10) Then
ReDim Preserve oVar(n)
oVar(n) = var(x)
n = n + 1
End If
Next x
rCell = Join(oVar, vbNewLine)
Erase oVar
n = 0
Next rCell
tRng.EntireRow.AutoFit
End Sub