Function ProcessBody(startRg As Range, mBody As String)
Dim WhereAt As Long, delim As String, mySplit As Long
Dim Chk As Long, i As Integer, tempmBody As String
delim = vbCrLf
mBody = Replace(mBody, Chr(9), "")
Do While mBody Like "*" & delim & "*"
If Left(mBody, 1) = "=" Then mBody = "'" & mBody
WhereAt = InStr(1, mBody, delim)
Range(startRg, startRg.Offset(0, 9)).Merge
Range(startRg, startRg.Offset(0, 9)).WrapText = True
Chk = WhereAt - 1
If Chk > 240 Then
i = 0
tempmBody = Left(mBody, WhereAt - 1)
Do Until i + 1 > Chk / 240
i = i + 1
mySplit = InStr(240 * i, tempmBody, " ")
Chk = Len(tempmBody)
tempmBody = Left(tempmBody, mySplit) & delim & Right(tempmBody, Chk - mySplit)
Loop
mBody = tempmBody & Mid(mBody, WhereAt)
WhereAt = InStr(1, mBody, delim)
End If
If WhereAt > 1 Then
startRg.NumberFormat = "@"
startRg = Left(mBody, WhereAt - 1)
AutoFitMC startRg
End If
mBody = Mid(mBody, WhereAt + Len(delim))
Set startRg = startRg.Offset(1, 0)
Loop
startRg.NumberFormat = "@"
If Left(mBody, 1) = "=" Then mBody = "'" & mBody
Chk = Len(mBody)
If Chk > 240 Then
i = 0
Do Until i + 1 > Chk / 240
i = i + 1
mySplit = InStr(240 * i, mBody, " ")
Chk = Len(mBody)
mBody = Left(mBody, mySplit) & delim & Right(mBody, Chk - mySplit)
Loop
End If
Do While mBody Like "*" & delim & "*"
If Left(mBody, 1) = "=" Then mBody = "'" & mBody
WhereAt = InStr(1, mBody, delim)
Range(startRg, startRg.Offset(0, 9)).Merge
Range(startRg, startRg.Offset(0, 9)).WrapText = True
If WhereAt > 1 Then
startRg.NumberFormat = "@"
startRg = Left(mBody, WhereAt - 1)
AutoFitMC startRg
End If
mBody = Mid(mBody, WhereAt + Len(delim))
Set startRg = startRg.Offset(1, 0)
Loop
startRg = mBody
Range(startRg, startRg.Offset(0, 9)).Merge
AutoFitMC startRg
End Function
Takes a bit longer to run on the long ones, but it does break it up nicely. Thanks again, thats a great addition!