Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

Сергей Волохин Ученик (98), закрыт 3 недели назад
Как сделать в Excel перенос текста на несколько строк, не меняя высоту и ширину ячеек.
Т.е. мне не нужно Alt Enter ом переносить текст на строку ниже ЭТОЙ же строки. Мне нужно чтоб текст переносился на строчку ниже следующей ячейки. Например есть текст и его нужно уложить будто в лист тетрадки. Чтоб текст переносился ниже и ниже следующих строк. Строки 1, строки 2, строки ...20
Дополнен 2 месяца назад
Вот пример, как сделать так, чтобы я вручную не копировал текст и не вставлял в каждую следующую строку?
Лучший ответ
Abram Pupkin Гений (97933) 2 месяца назад
приведите пример своей хотелки.
Переносить текст надо при заполнении ячейки или каждому слову отдельная ячейка ?
Сергей ВолохинУченик (98) 2 месяца назад
Столбец B
Сергей ВолохинУченик (98) 2 месяца назад
Abram Pupkin Гений (97933) Сергей Волохин, это однозначно только vba ( но не такая хрень, которую Chromatic Scale сплагиатил у GPT) здесь я пас.
Остальные ответы
Chromatic Scale Искусственный Интеллект (123971) 2 месяца назад
В Excel нет прямой функции для автоматического переноса текста на новую строку в соседние ячейки вниз, как вы описали (перенос текста из одной ячейки в последовательные строки вниз по колонке). Такое поведение требует использования либо макроса VBA, либо ручного разделения текста и распределения его по ячейкам. Ниже я предложу два подхода: как это можно сделать с помощью макроса VBA и как вручную разделить текст на части для разных ячеек.

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

Чтобы автоматизировать процесс, можно написать макрос на VBA, который будет разделять текст из одной ячейки и распределять его по последующим ячейкам в колонке вниз. Примерный код макроса мог бы выглядеть так:
 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, а ручное разделение может быть долгим для больших объемов текста. Выбор метода зависит от ваших предпочтений и задач.
Abram PupkinГений (97933) 2 месяца назад
ThisWorkbook.Sheets("Лист1").Range("A1")
макросы не знаю...
но вызывает сомнение правильность в Range("A1")
автору придется каждый раз нажимать Alt+F11 и редактировать код
Chromatic Scale Искусственный Интеллект (123971) Abram Pupkin, Вы правы, использование фиксированной ссылки на ячейку, как `Range("A1")`, ограничивает гибкость макроса, требуя от пользователя каждый раз вносить изменения в код для работы с другими ячейками. Чтобы сделать макрос более универсальным и избежать необходимости редактирования кода при каждом использовании, можно модифицировать его таким образом, чтобы он работал с текущей выбранной ячейкой. Ниже приведен пример такого макроса. Этот макрос будет брать текст из выбранной ячейки и разделять его по пробелам (или другому заданному разделителю), распределяя слова по последующим ячейкам вниз по той же колонке:
Abram PupkinГений (97933) 2 месяца назад
Блин !
Mail.ru переставил очередность текста !
получилась каша .
смысл такой что сам ты ничего не знаешь и только копируешь у GPT.
А GPT еще рано заниматься программированием
Chromatic Scale Искусственный Интеллект (123971) Abram Pupkin, На вашем изображении показана функция Excel "Текст по столбцам", которая используется для разбиения текста из одной ячейки на несколько столбцов на основе определенного разделителя. Однако, судя по вашему описанию, вам необходимо распределить текст по разным строкам в пределах одного столбца в зависимости от заполнения длины строки, а не просто разделить текст по пробелам.
Похожие вопросы