Энтер в эксель

Тонкости работы с переносами строк в Excel

Переносы строк внутри одной ячейки, добавляемые с помощью сочетания клавиш Alt + Enter — дело весьма частое и привычное. Иногда их делают сами пользователи, чтобы добавить красоты длинному тексту. Иногда такие переносы добавляются автоматически при выгрузке данных из каких-либо рабочих программ (привет 1С, SAP и т.д.) Проблема в том, что на такие таблицы приходится потом не просто любоваться, а с ними работать — и вот тогда эти невидимые символы переноса могут стать проблемой. А могут и не стать — если уметь правильно с ними обращаться.

Давайте-ка мы разберёмся в этом вопросе поподробнее.

Удаление переносов строк заменой

Если нам нужно избавиться от переносов, то первое, что обычно приходит в голову — это классическая техника «найти и заменить». Выделяем текст и затем вызываем окно замены сочетанием клавиш Ctrl + H или через Главная — Найти и выделить — Заменить (Home — Find&Select — Replace) . Одна неувязочка — не очень понятно, как ввести в верхнее поле Найти (Find what) наш невидимый символ переноса строки. Alt + Enter тут, к сожалению, уже не работает, скопировать этот символ непосредственно из ячейки и вставить его сюда тоже не получается.

Поможет сочетание Ctrl + J — именно оно является альтернативой Alt + Enter в диалоговых окнах или полях ввода Excel:

Обратите внимание, что после того, как вы поставите мигающий курсор в верхнее поле и нажмёте Ctrl + J — в самом поле ничего не появится. Не пугайтесь — это нормально, символ-то невидимый 🙂

В нижнее поле Заменить (Replace with) либо ничего не вводим, либо вводим пробел (если хотим не просто удалить переносы, а заменить их на пробел, чтобы строки не склеились в единое целое). Останется нажать на кнопку Заменить всё (Replace All) и наши переносы исчезнут:

Нюанс: после выполнения замены введённый с помощью Ctrl + J невидимый символ остаётся в поле Найти и может помешать в дальнейшем — не забудьте его удалить, установив курсор в это поле и несколько раз (для надёжности) нажав на клавиши Delete и Backspace .

Удаление переносов строк формулой

Если нужно решить задачу именно формулами, то можно использовать встроенную функцию ПЕЧСИМВ (CLEAN) , которая умеет очищать текст от всех непечатаемых символов, включая и наши злополучные переносы строк:

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

Замена переносов строк формулой

А если хочется не просто удалить, а именно заменить Alt + Enter на, например, пробел, то потребуется уже другая, чуть более сложная конструкция:

Чтобы задать невидимый символ переноса мы используем функцию СИМВОЛ (CHAR) , которая выводит символ по его коду (10). А потом функция ПОДСТАВИТЬ (SUBSTITUTE) ищет в исходных данных наши переносы и заменяет их на любой другой текст, например, на пробел.

Деление на столбцы по переносу строки

Знакомый многим и очень удобный инструмент Текст по столбцам с вкладки Данные (Data — Text to Columns) тоже может замечательно работать с переносами строк и разделить текст из одной ячейки на несколько, разбив его по Alt + Enter . Для этого на втором шаге мастера нужно выбрать вариант пользовательского символа-разделителя Другой (Custom) и использовать уже знакомое нам сочетание клавиш Ctrl + J как альтернативу Alt + Enter :

Если в ваших данных может встречаться несколько переносов строк подряд, то можно их «схлопнуть», включив флажок Считать последовательные разделители одним (Treat consecutive delimiters as one) .

После нажатия на Далее (Next) и прохождения всех трёх шагов мастера мы получим желаемый результат:

Обратите внимание, что до выполнения этой операции необходимо вставить справа от разделяемого столбца достаточное количество пустых колонок, чтобы образовавшийся текст не затёр те значения (цены), которые были справа.

Деление на строки по Alt+Enter через Power Query

Ещё одной любопытной задачей является деление многострочного текста из каждой ячейки не на столбцы, а на строки:

Вручную такое делать долго, формулами — сложно, макросом — не каждый напишет. А на практике подобная задача встречается чаще, чем хотелось бы. Самым простым и лёгким решением будет использовать для этой задачи возможности надстройки Power Query, которая встроена в Excel начиная с 2016 года, а для более ранних версий 2010-2013 её можно совершенно бесплатно скачать с сайта Microsoft.

Чтобы загрузить исходные данные в Power Query их нужно сначала преобразовать в «умную таблицу» сочетанием клавиш Ctrl + T или кнопкой Форматировать как таблицу на вкладке Главная (Home — Format as Table) . Если по каким-то причинам вы не хотите или не можете использовать «умные таблицы», то можно работать и с «глупыми». В этом случае просто выделите исходный диапазон и дайте ему имя на вкладке Формулы — Диспетчер имен — Создать (Formulas — Name Manager — New) .

После этого на вкладке Данные (если у вас Excel 2016 или новее) или на вкладке Power Query (если у вас Excel 2010-2013) можно жать на кнопку Из таблицы / диапазона (From Table/Range) , чтобы загрузить нашу таблицу в редактор Power Query:

После загрузки выделим столбец с многострочным текстом в ячейках и выберем на Главной вкладке команду Разделить столбец — По разделителю (Home — Split Column — By delimiter) :

Скорее всего, Power Query автоматически распознает принцип деления и сам подставит условное обозначение #(lf) невидимого символа переноса строки (lf = line feed = перенос строки) в поле ввода разделителя. Если нужно, то другие символы можно выбрать из выпадающего списка в нижней части окна, если включить предварительно галочку Разделить с помощью специальных символов (Split by special characters) .

Читать еще:  Калькулятор в excel

Чтобы всё разделилось на строки, а не не столбцы — не забудьте переключить селектор Строки (By rows) в группе расширенных параметров.

Останется только нажать на ОК и получить желаемое:

Готовую таблицу можно выгрузить обратно на лист с помощью команды Закрыть и загрузить — Закрыть и загрузить в. на вкладке Главная (Home — Close&Load — Close&Load to. ) .

Важно отметить, что при использовании Power Query необходимо помнить о том, что при изменении исходных данных результаты автоматически не обновляются, т.к. это не формулы. Для обновления нужно обязательно щёлкнуть правой кнопкой мыши по итоговой таблице на листе и выбрать команду Обновить (Refresh) или нажать кнопку Обновить всё на вкладке Данные (Data — Refresh All) .

Макрос для деления на строки по Alt+Enter

Для полноты картины давайте упомянем решение предыдущей задачи ещё и с помощью макроса. Откройте редактор Visual Basic с помощью одноимённой кнопки на вкладке Разрабочик (Developer) или сочетания клавиш Alt + F11 . В появившемся окне вставьте новый модуль через меню Insert — Module и скопируйте туда нижеприведённый код:

Вернитесь в Excel и выделите ячейки с многострочным текстом, который надо разделить. Затем воспользуйтесь кнопкой Макросы на вкладке Разработчик (Developer — Macros) или сочетанием клавиш Alt + F8 , чтобы запустить созданный макрос, который и проделает за вас всю работу:

Вуаля! Программисты — это, на самом деле, просто очень ленивые люди, которые лучше один раз как следует напрягутся, чтобы потом ничего не делать 🙂

Ссылки по теме

Линк на .xlxs файл с разнесением данных по строкам с использованием штатных фун-ций EXCEL (к задаче «Деление на строки по Alt+Enter через Power Query»).

Alt+0160
Зажимаете Alt, затем на цифровой клавиатуре поочередно вводите нужные цифры: 0-1-6-0

Это коды ASCII. Например, Ctrl+J можно заменить на Alt+0010

Есть способ хотя он не всегда помогает. Все упирается в новую строку. Но там вообщем несложно немного переделать именно ввод

С помощью параметров разбивки на страницы можно определить, куда будут вставляться автоматические разрыв страницы, или переопределить их.

Важно: Описанные ниже процедуры должны выполняться в режиме разметки. Если используется другой режим, в меню Вид выберите пункт Разметка страницы.

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

  1. Выделите строки, которые должны находиться вместе.
  2. В меню Формат выберите пункт Абзац и откройте вкладку Положение на странице.
  3. Установите флажок Не разрывать абзац.

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

  1. Выделите абзацы, которые нужно расположить на одной странице.
  2. В меню Формат выберите пункт Абзац и откройте вкладку Положение на странице.
  3. Установите флажок Не отрывать от следующего.

Принудительное добавление разрыва страницы перед абзацем
Если нужно, чтобы абзац всегда выводился вверху страницы, добавьте перед ним разрыв страницы.

  1. Выделите абзац, перед которым нужно вставить разрыв страницы.
  2. В меню Формат выберите пункт Абзац и откройте вкладку Положение на странице.
  3. Установите флажок С новой страницы.

У нас в офисе мегаиндекс часто приходится обновлять софт, ввиду новых поисковых алгоритмов. Но без настроек не всегда получается полноценная работа. Но толковый сисадмин в офисе — это залог успеха.

И еще с этой функцией не всегда лады бывают. Но решается просто

Запрет висячих строк
По умолчанию в Word последняя строка абзаца не может выводиться вверху или внизу страницы.

  1. Выделите абзацы, в которых нужно запретить висячая строка.
  2. В меню Формат выберите пункт Абзац и откройте вкладку Положение на странице.
  3. Установите флажок Запрет висячих строк.

Запрет переноса строк таблицы на следующую страницу

  1. Щелкните таблицу.
  2. В меню Таблица выберите команду Свойства таблицы, а затем откройте вкладку Строка.
  3. Снимите флажок Разрешить перенос строк на следующую страницу.

Энтер в эксель

Произвожу вывод в ячейки таблицы Эксел снаружи. Откуда — не важно.

Мне нужно вывести в ячеку примерно такой текст (с разделением на строки):

Строка
1. Пункт-1
2. Пункт-2

При выводе в ячейке получаю:

Строка 1. Пункт-1 2. Пункт-2

Т.е., символы переноса строки, уже имеющиеся в тексте, Эксел игнорирует.
По идее, выводить надо примерно так:

Строка
1. Пункт-1
2. Пункт-2
где

Если мы правим ручками, то в самом Экселе для перевода на новую строку внутри ячейки надо нажать комбинацию ALT+ENTER.

Как мне сгенерить этот символ для вставки в текст?

По крайней мере, такая конструкция в VBA работает:
activecell=»1″&chr(10)&»2″

В моем случае почему-то не работает.

Может, потому что данные передаю c сайта?

собственно, дальше в поток вывожу текст, а эксплорер на стороне клиента сам запускает Эксел и сам запихивает в него данные.

МихаилК
попробовать vbLf аналог chr(10)

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

выводим данные в ячейку

это все подходит только для случая что данные имеют заданную структуру, если же они меняются то

Читать еще:  Excel в числовой формат

Решилось описанием стиля перед транспортировкой текста.

В этом случае при отправке в Эксел тега ‘
‘ он понимает его именно как перенос строки внутри ячейки.

Перенос строки в пределах ячейки в Microsoft Excel

Как известно, по умолчанию в одной ячейке листа Excel располагается одна строка с числами, текстом или другими данными. Но, что делать, если нужно перенести текст в пределах одной ячейки на другую строку? Данную задачу можно выполнить, воспользовавшись некоторыми возможностями программы. Давайте разберемся, как сделать перевод строки в ячейке в Excel.

Способы переноса текста

Некоторые пользователи пытаются перенести текст внутри ячейки нажатием на клавиатуре кнопки Enter. Но этим они добиваются только того, что курсор перемещается на следующую строку листа. Мы же рассмотрим варианты переноса именно внутри ячейки, как очень простые, так и более сложные.

Способ 1: использование клавиатуры

Самый простой вариант переноса на другую строку, это установить курсор перед тем отрезком, который нужно перенести, а затем набрать на клавиатуре сочетание клавиш Alt+Enter.

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

Способ 2: форматирование

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

    Выделяем ячейку, в которой текст выходит за пределы границ. Кликаем по ней правой кнопкой мыши. В открывшемся списке выбираем пункт «Формат ячеек…».

  • Открывается окно форматирования. Переходим во вкладку «Выравнивание». В блоке настроек «Отображение» выбираем параметр «Переносить по словам», отметив его галочкой. Жмем на кнопку «OK».
  • После этого, если данные будут выступать за границы ячейки, то она автоматически расширится в высоту, а слова станут переноситься. Иногда приходится расширять границы вручную.

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

    Способ 3: использование формулы

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

    1. Отформатируйте ячейку, как указано в предыдущем варианте.
    2. Выделите ячейку и введите в неё или в строку формул следующее выражение:

    Вместо элементов «ТЕКСТ1» и «ТЕКСТ2» нужно подставить слова или наборы слов, которые хотите перенести. Остальные символы формулы изменять не нужно.

  • Для того, чтобы результат отобразился на листе, нажмите кнопку Enter на клавиатуре.
  • Главным недостатком данного способа является тот факт, что он сложнее в выполнении, чем предыдущие варианты.

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

    Отблагодарите автора, поделитесь статьей в социальных сетях.

    Как в Excel сделать перенос текста в ячейке

    Часто требуется внутри одной ячейки Excel сделать перенос текста на новую строку. То есть переместить текст по строкам внутри одной ячейки как указано на картинке. Если после ввода первой части текста просто нажать на клавишу ENTER, то курсор будет перенесен на следующую строку, но другую ячейку, а нам требуется перенос в этой же ячейке.

    Это очень частая задача и решается она очень просто — для переноса текста на новую строку внутри одной ячейки Excel необходимо нажать ALT+ENTER (зажимаете клавишу ALT, затем не отпуская ее, нажимаете клавишу ENTER)

    Как перенести текст на новую строку в Excel с помощью формулы

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

    Для начала нам необходимо сцепить текст в ячейках A1 и B1 ( A1&B1 ), A2 и B2 ( A2&B2 ), A3 и B3 ( A3&B3 )

    После этого объединим все эти пары, но так же нам необходимо между этими парами поставить символ (код) переноса строки. Есть специальная таблица знаков (таблица есть в конце данной статьи), которые можно вывести в Excel с помощью специальной функции СИМВОЛ(число), где число это число от 1 до 255, определяющее определенный знак.
    Например, если прописать =СИМВОЛ(169), то мы получим знак копирайта ©

    Нам же требуется знак переноса строки, он соответствует порядковому номеру 10 — это надо запомнить.
    Код (символ) переноса строки — 10
    Следовательно перенос строки в Excel в виде функции будет выглядеть вот так СИМВОЛ(10)

    Примечание: В VBA Excel перенос строки вводится с помощью функции Chr и выглядит как Chr (10)

    Итак, в ячейке A6 пропишем формулу

    = A1&B1 &СИМВОЛ(10)& A2&B2 &СИМВОЛ(10)& A3&B3

    В итоге мы должны получить нужный нам результат.
    Обратите внимание! Чтобы перенос строки корректно отображался необходимо включить «перенос по строкам» в свойствах ячейки.
    Для этого выделите нужную нам ячейку (ячейки), нажмите на правую кнопку мыши и выберите «Формат ячеек. »

    Читать еще:  Написание макросов в эксель

    В открывшемся окне во вкладке «Выравнивание» необходимо поставить галочку напротив «Переносить по словам» как указано на картинке, иначе перенос строк в Excel не будет корректно отображаться с помощью формул.

    Как в Excel заменить знак переноса на другой символ и обратно с помощью формулы

    Можно поменять символ перенос на любой другой знак, например на пробел, с помощью текстовой функции ПОДСТАВИТЬ в Excel

    Рассмотрим на примере, что на картинке выше. Итак, в ячейке B1 прописываем функцию ПОДСТАВИТЬ:

    A1 — это наш текст с переносом строки;
    СИМВОЛ(10) — это перенос строки (мы рассматривали это чуть выше в данной статье);
    » » — это пробел, так как мы меняем перенос строки на пробел

    Если нужно проделать обратную операцию — поменять пробел на знак (символ) переноса, то функция будет выглядеть соответственно:

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

    Как поменять знак переноса на пробел и обратно в Excel с помощью ПОИСК — ЗАМЕНА

    Бывают случаи, когда формулы использовать неудобно и требуется сделать замену быстро. Для этого воспользуемся Поиском и Заменой. Выделяем наш текст и нажимаем CTRL+H, появится следующее окно.

    Если нам необходимо поменять перенос строки на пробел, то в строке «Найти» необходимо ввести перенос строки, для этого встаньте в поле «Найти», затем нажмите на клавишу ALT , не отпуская ее наберите на клавиатуре 010 — это код переноса строки, он не будет виден в данном поле.

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

    Кстати, в Word это реализовано более наглядно.

    Если вам необходимо поменять символ переноса строки на пробел, то в поле «Найти» вам необходимо указать специальный код «Разрыва строки», который обозначается как ^l
    В поле «Заменить на: » необходимо сделать просто пробел и нажать на «Заменить» или «Заменить все».

    Вы можете менять не только перенос строки, но и другие специальные символы, чтобы получить их соответствующий код, необходимо нажать на кнопку «Больше >> «, «Специальные» и выбрать необходимый вам код. Напоминаю, что данная функция есть только в Word, в Excel эти символы не будут работать.

    Как поменять перенос строки на пробел или наоборот в Excel с помощью VBA

    Рассмотрим пример для выделенных ячеек. То есть мы выделяем требуемые ячейки и запускаем макрос

    1. Меняем пробелы на переносы в выделенных ячейках с помощью VBA

    Sub ПробелыНаПереносы()
    For Each cell In Selection
    cell.Value = Replace (cell.Value, Chr (32) , Chr (10) )
    Next
    End Sub

    2. Меняем переносы на пробелы в выделенных ячейках с помощью VBA

    Sub ПереносыНаПробелы()
    For Each cell In Selection
    cell.Value = Replace (cell.Value, Chr (10) , Chr (32) )
    Next
    End Sub

    Код очень простой Chr (10) — это перенос строки, Chr (32) — это пробел. Если требуется поменять на любой другой символ, то заменяете просто номер кода, соответствующий требуемому символу.

    Коды символов для Excel

    Ниже на картинке обозначены различные символы и соответствующие им коды, несколько столбцов — это различный шрифт. Для увеличения изображения, кликните по картинке.

    Как сделать перенос в Экселе в ячейке

    Довольно часто возникает вопрос, как сделать перенос на другую строку внутри ячейки в Экселе? Этот вопрос возникает когда текст в ячейке слишком длинный, либо перенос необходим для структуризации данных. В таком случае бывает не удобно работать с таблицами. Обычно перенос текста осуществляется с помощью клавиши Enter. Например, в программе Microsoft Office Word. Но в Microsoft Office Excel при нажатии на Enter мы попадаем на соседнюю нижнюю ячейку.

    Итак нам требуется осуществить перенос текста на другую строку. Для переноса нужно нажать сочетание клавиш Alt+Enter. После чего слово, находящееся с правой стороны от курсора перенесется на следующую строку.

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

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

    Убрать перенос с помощью функции и символа переноса

    Для того, что бы убрать перенос мы можем использовать функцию ПОДСТАВИТЬ.

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

    =ПОДСТАВИТЬ (текст;стар_текст;нов_текст;[номер вхождения])

    Итоговый вид формулы:

    • А1 – ячейка содержащая текст с переносами,
    • СИМВОЛ(10) – символ переноса строки,
    • » » – пробел.

    Если же нам наоборот требуется вставить символ переноса на другую строку, вместо пробела проделаем данную операцию наоборот.

    Что бы функция работало корректно во вкладке Выравнивание (Формат ячеек) должен быть установлен флажок «Переносить по словам».

    Перенос с использование формулы СЦЕПИТЬ

    Для решения нашей проблемы можно использовать формулу СЦЕПИТЬ.

    У нас имеется текст в ячейках A1 и B1. Введем в B3 следующую формулу:

    Как в примере, который я приводил выше, для корректной работы функции в свойствах требуется установить флажок «переносить по словам».

    Похожие статьи

    Ссылка на основную публикацию
    Похожие публикации
    ×
    ×
    Adblock
    detector