Автоматический перенос текста

В Excel есть встроенный инструмент для автоматического переноса текста в зависимости от ширины ячейки. При его активации слова в ячейке будут переноситься таким образом, чтобы текст занимал минимальное количество строк, но при этом помещался в ячейку по ширине.

Чтобы включить автоматический перенос текста, выделите нужную ячейку или диапазон, перейдите на вкладку «Главная» в основном меню, и нажмите на пункт «Переносить текст» в группе «Выравнивание». После этого текст в ячейке должен занять несколько строк так, чтобы не выходить за ее пределы.

Если к части выделенных ячеек уже был применен автоматический перенос, а к части - нет, возможно, потребуется повторно нажать на «Переносить текст».

Кроме того, автоматический перенос текста может не работать в случае, если у ячейки установлена фиксированная высота. Тогда текст, выходящий за границы ячейки по высоте, просто не отображается.

Чтобы перенос сработал, нужно задать ячейке автоматическое изменение высоты по размеру содержимого. Для это во вкладке «Главная» группе «Ячейки» выберите «Формат > Автоподбор высоты строки».

Ручной перенос текста

Приведенный выше способ позволяет расставить переносы автоматически, но иногда нужно расставить их в определенных местах. В этом также нет ничего сложного - просто вместо символа пробела нужно вставить символ переноса каретки.

Для этого перейдите в режим редактирования ячейки - двойным щелчком по ячейке, горячей клавишей F2 или через строку формул - разницы нет. Затем с помощью сочетания клавиш «Alt+Enter» переносите текст на новую строку.

При этом, чтобы вручную расставленные переносы строк визуально отображались, нужно также включить для ячейки режим «Переносить текст» - без него переносы отображаться не будут.

Перенос текста в формуле

В случае, если нужно сделать шаблон документа или списка с формулами, где данные в ячейках перенесены по строкам, можно использовать функцию, вызывающую символ переноса на новую строку внутри формулы - СИМВОЛ(10). Для этого соедините необходимые ячейки между собой с помощью символа & (амперсанд) и функции СИМВОЛ(10) между ними.

В качестве альтернативы можно использовать символ переноса, вставленный вручную в двойные кавычки как текст, но это не так удобно, поскольку растягивает формулу на несколько строк, да и с ходу будет сложно определить, зачем так сделано, если документ позже откроет другой человек или даже Вы через какое-то время. Поэтому лучше все таки использовать СИМВОЛ(10). Примеры формул с переносом текста:

=A1&СИМВОЛ(10)&B1&СИМВОЛ(10)&C1
=A1&"
"&B1&"
"&C1

Перенос текста в макросе VBA

При написании макроса, заполняющего ячейки какими-либо данными, также может возникнуть необходимость вставить в ячейку перенос текста. Для этого используем уже знакомую функцию СИМВОЛ(10), с той лишь небольшой разницей, что в макросе нужно использовать ее англоязычный аналог - CHR(10). Перенос текста при этом в ячейке включится автоматически.

Таким образом, макрос, вставляющий в ячейку текст, разделенный на строки, будет выглядеть примерно так:

Sub Вставить_Текст_С_Переносом_Строки()
    Range("A1").Value = "Первая строка" & chr(10) & "Вторая строка"
End Sub