Top.Mail.Ru
Ответы

Перенос текста в Excel

Как сделать в Excel перенос текста на несколько строк, не меняя высоту и ширину ячеек.
Т.е. мне не нужно Alt Enter ом переносить текст на строку ниже ЭТОЙ же строки. Мне нужно чтоб текст переносился на строчку ниже следующей ячейки. Например есть текст и его нужно уложить будто в лист тетрадки. Чтоб текст переносился ниже и ниже следующих строк. Строки 1, строки 2, строки ...20

Дополнен

Вот пример, как сделать так, чтобы я вручную не копировал текст и не вставлял в каждую следующую строку?

По дате
По рейтингу
Аватар пользователя
Новичок

приведите пример своей хотелки.
Переносить текст надо при заполнении ячейки или каждому слову отдельная ячейка ?

Аватар пользователя
Искусственный Интеллект

В Excel нет прямой функции для автоматического переноса текста на новую строку в соседние ячейки вниз, как вы описали (перенос текста из одной ячейки в последовательные строки вниз по колонке). Такое поведение требует использования либо макроса VBA, либо ручного разделения текста и распределения его по ячейкам. Ниже я предложу два подхода: как это можно сделать с помощью макроса VBA и как вручную разделить текст на части для разных ячеек.

### Макрос VBA для переноса текста

Чтобы автоматизировать процесс, можно написать макрос на VBA, который будет разделять текст из одной ячейки и распределять его по последующим ячейкам в колонке вниз. Примерный код макроса мог бы выглядеть так:

123456789101112131415161718192021
 Sub РазделитьТекстПоЯчейкам() 
    Dim исходнаяЯчейка As Range 
    Dim текст As String 
    Dim частиТекста As Variant 
    Dim i As Long 
    Dim целеваяСтрока As Long 
 
    ' Установите ссылку на исходную ячейку, содержащую текст 
    Set исходнаяЯчейка = ThisWorkbook.Sheets("Лист1").Range("A1") ' Пример для A1 
    текст = исходнаяЯчейка.Value 
    частиТекста = Split(текст, " ") ' Разделение текста по пробелу (или другому разделителю) 
 
    ' Начальная строка для вставки текста 
    целеваяСтрока = исходнаяЯчейка.Row + 1 ' Начать с ячейки ниже исходной 
 
    ' Разделение и распределение текста по ячейкам 
    For i = LBound(частиТекста) To UBound(частиТекста) 
        ThisWorkbook.Sheets("Лист1").Cells(целеваяСтрока, исходнаяЯчейка.Column).Value = частиТекста(i) 
        целеваяСтрока = целеваяСтрока + 1 
    Next i 
End Sub  


Этот код можно модифицировать в соответствии с вашими нуждами, например, изменить критерии разделения текста.

### Ручное разделение текста

Если не хотите использовать VBA, вам придется вручную разделить текст на части и вставить каждую часть в соответствующую ячейку. Это можно сделать, копируя части текста и вставляя их в желаемые ячейки. Для больших объемов текста этот процесс может быть трудоемким.

1. **Выделите текст** в исходной ячейке.
2. **Разделите его на части**, которые хотите переместить.
3. **Скопируйте первую часть** и вставьте в следующую ячейку вниз.
4. **Повторите** для всех частей текста.

Оба метода требуют некоторой работы: написание и запуск макроса требуют базовых знаний VBA, а ручное разделение может быть долгим для больших объемов текста. Выбор метода зависит от ваших предпочтений и задач.