Это был один из самых популярных хитов в Google, когда я искал "макрос в формате hard wrap text excel" ... поэтому вот мое решение для обтекания ячейки текста по ширине:
Function hardwrap(useThis As Range, WrapAt As Integer) As String
Dim i As Integer
Dim Temp As String
Dim retVal As String
i = 0
retVal = useThis.Value
With useThis
If Len(.Value) > WrapAt Then
Temp = retVal
Do
i = i + WrapAt
Do
If Mid(Temp, i, 1) = " " Then
Temp = Left(Temp, i - 1) & Chr(10) & Right(Temp, Len(Temp) - i)
Exit Do
Else
i = i - 1
If i < 0 Then
Exit Do
End If
End If
Loop
Loop While i < Len(Temp) - WrapAt
retVal = Temp
End If
End With
hardwrap = retVal
End Function
Этот код в значительной степени основан на этой функции Эндрю Пулсома, найденного здесь: http://www.mrexcel.com/forum/excel-questions/424309-macro-wrap-text-hard-returns.html#post2097820
В основном, если строка длиннее, чем перенос в переменной, она переходит вперед к точке переноса и движется назад в поисках пробелов. Когда он находит его, он заменяет это место новой строкой. Затем это повторяется для баланса строки.
Моя версия немного более общая (ИМХО).
Пример:
A1:
"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
A2: =hardwrap(A1,40)
"Lorem ipsum dolor sit amet,
consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore et
dolore magna aliqua. Ut enim ad minim
veniam, quis nostrud exercitation
ullamco laboris nisi ut aliquip ex ea
commodo consequat. Duis aute irure
dolor in reprehenderit in voluptate
velit esse cillum dolore eu fugiat
nulla pariatur. Excepteur sint occaecat
cupidatat non proident, sunt in culpa
qui officia deserunt mollit anim id est
laborum."
Надеюсь, это поможет.