See how close this gets you
Run from cell containing the text
Amended text is dumped in adjacent cell to right
Make sure receiving cell is a sensible width to prevent ridiculous row heights 
Sub Test()
With ActiveCell
.Offset(, 1).Value = CleanTrim(.Value)
End With
End Sub
Function CleanTrim(ByVal s As String) As String
Dim X As Long, CodesToClean As Variant
s = Replace(s, Chr(13), Chr(10))
s = Replace(s, Chr(160), Chr(32))
s = Replace(s, Chr(10) & Chr(10), "|||")
s = Replace(s, Chr(10), Chr(32))
s = Replace(s, "|||", Chr(10))
CleanTrim = WorksheetFunction.Trim(s)
End Function
(May need to insert an additional line break after a period and a colon etc)
OR
If you place above code in a general module, the function can be used in a normal Excel formula
So with text in cell A1, and this formula in B1
Formula:
=cleantrim(A1)
Bookmarks