Another way using a macro.....
Sub SplitCellContent()
Dim rng As Range, cell As Range
Dim lr As Long
lr = Cells(Rows.Count, 1).End(xlUp).Row
Set rng = Range("A1:A" & lr)
For Each cell In rng
n = Len(cell.Value) - Len(WorksheetFunction.Substitute(cell.Value, " ", ""))
For i = n To 1 Step -1
If Len(cell.Value) > 40 Then
m = WorksheetFunction.Find("*", WorksheetFunction.Substitute(cell.Value, " ", "*", i))
If m <= 40 Then
cell.Offset(0, 1).Value = Mid(cell.Value, m + 1, Len(cell.Value) - m)
cell.Value = Left(cell.Value, m)
End If
End If
Next i
Next cell
End Sub
Bookmarks