Excel сдвиг текста в ячейке

Skip to content

Как перенести текст в ячейке Excel на следующую строку?

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

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

Гораздо лучшее решение – записать в несколько строчек фразу, превышающую ширину столбца, и Эксель предоставляет несколько способов сделать это. Это руководство научит вас, как перенести текст в ячейке Excel, и поделится несколькими советами.

  1. Что такое перенос текста в ячейке?
  2. Как автоматически переносить текст в Excel.
  3. Как вставить разрыв строки вручную
  4. Вставка разрывов при помощи формул.
  5. Использование Найти_и_Заменить (трюк CTRL + J)
  6. Почему перенос строки в Excel не работает?

Что такое перенос текста в ячейке?

Когда вводимые данные слишком объемны, происходит одно из двух событий:

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

На рисунке ниже показаны эти два случая:

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

На скриншоте показано, как это выглядит:

А теперь разберем несколько способов – как сделать перенос и добиться такого эффекта.

Как автоматически переносить текст в Excel.

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

Способ 1 . Перейдите на вкладку «Главная»>  — «Переносить текст» :

Способ 2. Нажмите Ctrl + 1 чтобы открыть диалоговое окно «Формат ячеек» (или щелкните правой кнопкой мыши нужные и выберите этот пункт), перейдите на вкладку «Выравнивание», установите флажок как на рисунке, затем — ОК.

По сравнению с первым методом, этот требует нескольких дополнительных щелчков мышью. Но он может сэкономить вам время, если захотите внести сразу несколько изменений в форматирование ячеек одним махом (например, выравнивание + шрифт + перенос).

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

Результат. Какой бы метод вы не применили, данные распределяются по ширине столбца. Если вы измените ширину, данные перестроятся автоматически на следующую строку. 

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

Как вставить разрыв строки вручную

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

1. Войдите в режим редактирования, нажав F2 ,дважды щелкнув либо ячейку, либо строку формул.

2. Поместите курсор в то место, где вы хотите разорвать фразу, и примените сочетание клавиш Alt + Enter .

Результат. При вставке разрыва строки вручную автоматически включается параметр Перенос текста. Однако разрывы, введенные вручную, останутся на месте, когда столбец станет шире. 

Обратите внимание, что ячейка должна находиться в режиме переноса, чтобы содержимое переносилось вниз. Если он не включен, вы увидите все данные в одной строке (даже если вы вставили перенос). А вот в строке формул они будут видны.

Эту особенность иногда используют, чтобы сделать более читаемыми длинные формулы. Перед отдельными частями внутри формулы вставьте разрыв (Alt + Enter), и разбираться с ее работой станет намного проще. Вот как может выглядеть формула для подсчета количества слов в фразе:

На следующем рисунке показаны оба сценария (перенос по словам введен дважды, как видите):

Вставка разрывов при помощи формул.

Вы можете добавить новый абзац при помощи формулы.

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

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

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

=A2&» «&B2&СИМВОЛ(10)&C2&СИМВОЛ(10)&D2&», «&E2&» «&F2

Применяем СИМВОЛ(10), чтобы добавить новый абзац при объединении ячеек. СИМВОЛ(10) использует код ASCII, который возвращает нужный нам результат. Размещая его там, где требуется, мы заставляем формулу разбивать итоговый результат.

Вы также можете использовать функцию ОБЪЕДИНИТЬ() вместо символа амперсанда (&):

=ОБЪЕДИНИТЬ(;;A2;» «;B2;СИМВОЛ(10);C2;СИМВОЛ(10);D2;», «;E2;» «;F2)

или вот старая формула СЦЕПИТЬ(), если вы используете ранние версии Excel:

=СЦЕПИТЬ(A2;» «;B2;СИМВОЛ(10);C2;СИМВОЛ(10);D2;», «;E2;» «;F2)

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

Примечание. Если вы используете Mac, используйте СИМВОЛ(13) вместо СИМВОЛ(10).

Использование определения имени вместо СИМВОЛ(10)

Если вам нужно часто применять СИМВОЛ(10), отличным лайфхаком было бы присвоить ему имя. Таким образом, вы можете вводить короткий код вместо всей функции в формуле.

Вот как это можно быстро сделать.

  • Кликните вкладку Формулы
  • Вам нужна опция «Определить имя».
  • В диалоговом окне «Новое имя» введите следующие данные:
    • Имя: ПСТР (вы можете назвать его как угодно — без пробелов)
    • Область применения: Книга
    • Диапазон:  =СИМВОЛ(10)
  • ОК.

Теперь вы можете писать ПСТР вместо функции.

Так что формула для объединения адресов теперь может быть:

=СЦЕПИТЬ(A2;» «;B2;ПСТР;C2;ПСТР;D2;», «;E2;» «;F2)

или

=A2&» «&B2&ПСТР&C2&ПСТР&D2&», «&E2&» «&F2

Использование Найти_и_Заменить (трюк CTRL + J)

Это супер крутой трюк!

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

Если вы хотите вставить разрыв строки там, где в адресе есть запятая, вы можете сделать это с помощью диалогового окна НАЙТИ и ЗАМЕНИТЬ.

Ниже приведены шаги по замене запятой на разрыв строки:

  1. Выберите позиции, в которых вы хотите заменить запятую на перенос.
  2. Кликните вкладку «Главная».
  3. Затем — «Найти и выделить», далее — «Заменить» (вы также можете употребить сочетание клавиш CTRL + H ). 
  4. В диалоговом окне «Найти и заменить» введите запятую (,) в поле «Найти».
  5. Поместите курсор в поле «Заменить», а затем используйте сочетание клавиш — CTRL + J (удерживайте клавишу CTRL, а затем нажмите J). Это вставит новый абзац в поле. Вы можете увидеть мигающую точку в поле после этой операции.

  1. Выберите «Заменить ВСЕ».
  2. Убедитесь, что перенос включен.

Эти действия удаляют запятую и заменяют ее переводом строки.

Обратите внимание, что если вы дважды используете сочетание клавиш CTRL + J, это вставит возврат каретки два раза, и между предложениями будет двойной интервал.

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

Почему перенос строки в Excel не работает?

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

И все же, если это не работает должным образом, ознакомьтесь со следующими советами по устранению неполадок.

1. Фиксированная высота строки

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

2. Объединенные ячейки

Перенос текста в ячейке не работает, если несколько из них объединены в одну. Поэтому вам нужно будет решить, какая функция более важна в вашем случае. Если вы сохраните объединенные ячейки, вы можете отобразить полное их содержимое, сделав столбцы шире. Если вы выберете «Перенос текста», то разъедините их, нажав кнопку «Объединить и поместить в центре» на вкладке «Главная».

3. Достаточно места, чтобы обойтись без переноса.

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

Вот как в Excel можно разбивать на части содержимое ячейки, чтобы отображать более длинную фразу в несколько абзацев. Благодарю вас за чтение и надеюсь еще увидеть вас в нашем блоге!

Рекомендуем также:

Формат времени в Excel Вы узнаете об особенностях формата времени Excel, как записать его в часах, минутах или секундах, как перевести в число или текст, а также о том, как добавить время с помощью…
Как сделать диаграмму Ганта Думаю, каждый пользователь Excel знает, что такое диаграмма и как ее создать. Однако один вид графиков остается достаточно сложным для многих — это диаграмма Ганта.  В этом кратком руководстве я постараюсь показать…
Как сделать автозаполнение в Excel В этой статье рассматривается функция автозаполнения Excel. Вы узнаете, как заполнять ряды чисел, дат и других данных, создавать и использовать настраиваемые списки в Excel. Эта статья также позволяет вам убедиться, что вы…
Быстрое удаление пустых столбцов в Excel В этом руководстве вы узнаете, как можно легко удалить пустые столбцы в Excel с помощью макроса, формулы и даже простым нажатием кнопки. Как бы банально это ни звучало, удаление пустых…
6 способов быстро транспонировать таблицу В этой статье показано, как столбец можно превратить в строку в Excel с помощью функции ТРАНСП, специальной вставки, кода VBA или же специального инструмента. Иначе говоря, мы научимся транспонировать таблицу.…
как форматировать Google таблицу Как сделать пользовательский числовой формат в Excel В этом руководстве объясняются основы форматирования чисел в Excel и предоставляется подробное руководство по созданию настраиваемого пользователем формата. Вы узнаете, как отображать нужное количество десятичных знаков, изменять выравнивание или цвет шрифта,…

Excel для Microsoft 365 Excel для Интернета Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше

Microsoft Excel обеспечивает перенос текста в ячейке для его отображения на нескольких строках. Ячейку можно настроить для автоматического переноса текста или ввести разрыв строки вручную.

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

  1. Выделите на листе ячейки, которые требуется отформатировать.

  2. На вкладке Главная в группе Выравнивание выберите пункт Переносить текст. (В Excel для рабочего стола можно также выбрать ячейку и нажать ALT+H+W.)

    Кнопка "Обтекание текстом" в группе "Выравнивание"

    Примечания: 

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

    • Если текст с переносами отображается не полностью, возможно, задана точная высота строки или текст находится в объединенных ячейках.

Настройка высоты строки для отображения всего текста

  1. Выделите ячейки, для которых требуется выровнять высоту строк.

  2. На вкладке Главная в группе Ячейки нажмите кнопку Формат.

  3. В группе Размер ячейки выполните одно из следующих действий:

    • Чтобы автоматически выравнивать высоту строк, выберите команду Автоподбор высоты строки.

    • Чтобы задать высоту строк, выберите команду Высота строки и введите нужное значение в поле Высота строки.

      Совет: Кроме того, можно перетащить нижнюю границу строки в соответствии с высотой текста в строке.

Ввод разрыва строки

Новую строку текста можно начать в любом месте ячейки.

  1. Дважды щелкните ячейку, в которую требуется ввести разрыв строки.

    Совет: Можно также выбрать ячейку и нажать F2.

  2. В ячейке щелкните место, где нужно ввести разрыв строки, и нажмите ALT+ВВОД.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

Нужна дополнительная помощь?

Содержание

  • Способы переноса текста
    • Способ 1: использование клавиатуры
    • Способ 2: форматирование
    • Способ 3: использование формулы
  • Вопросы и ответы

Перенос строки в Microsoft Excel

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

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

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

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

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

Ячейка где нужно перенести слова в Microsoft Excel

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

Перенос слов очуществлен в Microsoft Excel

Урок: Горячие клавиши в Экселе

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

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

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

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

Формат ячеек в Microsoft Excel

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

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

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

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

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

    =СЦЕПИТЬ("ТЕКСТ1";СИМВОЛ(10);"ТЕКСТ2")

    Lumpics.ru

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

  3. Применение функции СЦЕПИТЬ в Microsoft Excel

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

Слова перенесены при помощи фнкции в Microsoft Excel

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

Урок: Полезные функции Excel

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

Еще статьи по данной теме:

Помогла ли Вам статья?

Смещение текста в ячейках строки

Xelit

Дата: Понедельник, 22.02.2016, 16:13 |
Сообщение № 1

Группа: Пользователи

Ранг: Новичок

Сообщений: 15


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Добрый день.
Прошу вашей помощи, ничего самостоятельно найти не смог.
Суть. Можно ли в таблице (см. файл) сделать «кнопку» (Добавить) при нажатии на которую вся информация справа от нее сдвигалась на две ячейки. Если еще и проверка будет от двойного нажатия (проверить есть ли записи в ячейке) будет вообще супер. Нужно что бы последняя запись была всегда слева, записывать часто приходится.
В файле:
1 — как выглядит до нажатия до нажатия на «кнопку»
2 — после нажатия.

Сообщение отредактировал XelitПонедельник, 22.02.2016, 16:19

 

Ответить

Pelena

Дата: Понедельник, 22.02.2016, 16:54 |
Сообщение № 2

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

Здравствуйте.
Обязательно кнопку? Выделяете C6:D7 — правой кнопкой мыши — Вставить… — Ячейки со сдвигом вправо — ОК
Не то?


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

Xelit

Дата: Понедельник, 22.02.2016, 16:58 |
Сообщение № 3

Группа: Пользователи

Ранг: Новичок

Сообщений: 15


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Pelena, не то, но так сейчас и приходится делать, по 50 — 100 записей в день. Я за автоматизацию процессов ))

 

Ответить

StoTisteg

Дата: Понедельник, 22.02.2016, 17:21 |
Сообщение № 4

Группа: Авторы

Ранг: Старожил

Сообщений: 1161


Репутация:

103

±

Замечаний:
0% ±


Excel 2010

[p.s.]Пост больше не актуален.


Интуитивно понятный код — это когда интуитивно понятно, что это код.

Сообщение отредактировал StoTistegПонедельник, 22.02.2016, 17:34

 

Ответить

StoTisteg

Дата: Понедельник, 22.02.2016, 17:33 |
Сообщение № 5

Группа: Авторы

Ранг: Старожил

Сообщений: 1161


Репутация:

103

±

Замечаний:
0% ±


Excel 2010

так сейчас и приходится делать, по 50 — 100 записей в день

В одной и той же книге или в разных?


Интуитивно понятный код — это когда интуитивно понятно, что это код.

 

Ответить

Xelit

Дата: Понедельник, 22.02.2016, 17:42 |
Сообщение № 6

Группа: Пользователи

Ранг: Новичок

Сообщений: 15


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

StoTisteg, в одной ит ой же

 

Ответить

МВТ

Дата: Понедельник, 22.02.2016, 18:14 |
Сообщение № 7

Группа: Проверенные

Ранг: Обитатель

Сообщений: 476


Репутация:

137

±

Замечаний:
0% ±


Excel 2007

Как-то так[vba]

Код

Sub tt()
    Application.ScreenUpdating = False
    Range(«C5:C11»).Insert shift:=xlToRight
    Range(«C5:C11»).Insert shift:=xlToRight
    [C5] = «Дата»: [D5] = «Описание»
    Union(Range(«C6:D7»), Range(«C10:D11»)).Borders.LineStyle = 1
    Application.ScreenUpdating = True
End Sub

[/vba]

 

Ответить

Xelit

Дата: Понедельник, 22.02.2016, 18:40 |
Сообщение № 8

Группа: Пользователи

Ранг: Новичок

Сообщений: 15


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

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

 

Ответить

StoTisteg

Дата: Понедельник, 22.02.2016, 18:44 |
Сообщение № 9

Группа: Авторы

Ранг: Старожил

Сообщений: 1161


Репутация:

103

±

Замечаний:
0% ±


Excel 2010

Просто измените диапазон «C5:C11» на нужный Вам.


Интуитивно понятный код — это когда интуитивно понятно, что это код.

 

Ответить

МВТ

Дата: Понедельник, 22.02.2016, 19:05 |
Сообщение № 10

Группа: Проверенные

Ранг: Обитатель

Сообщений: 476


Репутация:

137

±

Замечаний:
0% ±


Excel 2007

Xelit, напишите конкретно, что нужно сдвигать — С5:D7?

 

Ответить

Xelit

Дата: Понедельник, 22.02.2016, 20:02 |
Сообщение № 11

Группа: Пользователи

Ранг: Новичок

Сообщений: 15


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

StoTisteg,прошу прощения, за то что не очень понятно получилось описать суть.
В файлике два шага: 1-исходные данные, 2-как должно быть после применения макроса. Сдвигаться ячейки вправо должны только в строке (стол), в соседних (сверху и снизу) остаться на местах. В следующий раз может потребоваться в другие строки записи делать или в ней же и уже там сдвигать. Поэтому я и попросил если возможно сделать в каждой строке «кнопку» (между наименованием и датой, которую потом можно будет протянуть по всей таблице) нажимая на которую, происходил бы сдвиг на две ячейки в выбранной строке, но если и через горячую клавишу макрос будет работать, после того как выделяешь ячейку в строке, где нужен «сдвиг», всё лучше чем сейчас приходится в «ручную» сдвигать.
P.S.Надеюсь не запутал вас еще больше.

Сообщение отредактировал XelitПонедельник, 22.02.2016, 20:03

 

Ответить

Xelit

Дата: Вторник, 23.02.2016, 14:35 |
Сообщение № 12

Группа: Пользователи

Ранг: Новичок

Сообщений: 15


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Апну тему

 

Ответить

StoTisteg

Дата: Вторник, 23.02.2016, 15:01 |
Сообщение № 13

Группа: Авторы

Ранг: Старожил

Сообщений: 1161


Репутация:

103

±

Замечаний:
0% ±


Excel 2010

Понятно. Только кнопки сами не появляются, их ещё кто-то повесить должен :) Я бы просто обрабатывал двойной клик по содержимому ячейки со словом «сдвиг».


Интуитивно понятный код — это когда интуитивно понятно, что это код.

 

Ответить

StoTisteg

Дата: Вторник, 23.02.2016, 16:42 |
Сообщение № 14

Группа: Авторы

Ранг: Старожил

Сообщений: 1161


Репутация:

103

±

Замечаний:
0% ±


Excel 2010

Примерно так, как в примере.
В модуле Лист1 лежит код
[vba]

Код

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    Dim i As Integer

        If MsgBox(prompt:=»Сдвинуть ячейки?», Buttons:=vbQuestion + vbYesNo, Title:=»Сдвиг ячеек») = vbYes Then ‘Запрос подтверждения. Если не нужен, эту и последнюю строки можно закомментировать
        i = ActiveSheet.UsedRange.Columns.Count ‘Запоминаем число столбцов до сдвига
        With Target.Offset(, 1)
            If Target.Value = «Сдвиг» And .Value <> «» Then ‘Проверяем, есть ли «кнопка» и не было ли сдвига раньше
                .Insert shift:=xlToRight  ‘Дважды вставляем ячейку…
                .Borders.LineStyle = 1 ‘ … и восстанавливаем границу
                .Insert shift:=xlToRight
                .Borders.LineStyle = 1
                Target.Clear ‘Убираем «кнопку», чтобы киворукие не сдвинули второй раз
                Columns(i + 1).Delete ‘Убираем лишнее
                Columns(i + 1).Delete
                .Activate ‘ Перемещаемся в соседнюю ячейку
            End If
        End With
    End If ‘ Если запрос подтверждения не нужен, эту строку можно закомментировать

    End Sub

[/vba]

Работает от двойного клика по кнопке с текстом «Сдвиг». Если текст надо изменить, меняете строку
[vba]

Код

            If Target.Value = «Сдвиг» And .Value <> «» Then

[/vba]
на
[vba]

Код

            If Target.Value = «<Ваш_Текст>» And .Value <> «» Then

[/vba]
Сдвиг привязан к «кнопке», т. е. сдвигается всегда то, что справа от неё. Если нужна возможность сдвигать ячейки, где в первом поле Дата пусто, замените
[vba]

Код

            If Target.Value = «<Ваш_Текст>» And .Value <> «» Then

[/vba]
на
[vba]

Код

            If Target.Value = «<Ваш_Текст>» Then

[/vba]
Если «кнопка» не должна исчезать, закомментируйте строку
[vba][/vba]

К сообщению приложен файл:

Offdent.xlsm
(14.8 Kb)


Интуитивно понятный код — это когда интуитивно понятно, что это код.

 

Ответить

Xelit

Дата: Вторник, 23.02.2016, 16:50 |
Сообщение № 15

Группа: Пользователи

Ранг: Новичок

Сообщений: 15


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Спасибо, завтра попробую, отпишусь.

 

Ответить

StoTisteg

Дата: Вторник, 23.02.2016, 21:42 |
Сообщение № 16

Группа: Авторы

Ранг: Старожил

Сообщений: 1161


Репутация:

103

±

Замечаний:
0% ±


Excel 2010

Прошу пардону, забыл восстановить границы бывшей «кнопки». Добавилась одна строчка.
[vba]

Код

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    Dim i As Integer

        If MsgBox(prompt:=»Сдвинуть ячейки?», Buttons:=vbQuestion + vbYesNo, Title:=»Сдвиг ячеек») = vbYes Then ‘Запрос подтверждения. Если не нужен, эту и последнюю строки можно закомментировать
        i = ActiveSheet.UsedRange.Columns.Count ‘Запоминаем число столбцов до сдвига
        With Target.Offset(, 1)
            If Target.Value = «Сдвиг» And .Value <> «» Then ‘Проверяем, есть ли «кнопка» и не было ли сдвига раньше
                .Insert shift:=xlToRight  ‘Дважды вставляем ячейку…
                .Borders.LineStyle = 1 ‘ … и восстанавливаем границу
                .Insert shift:=xlToRight
                .Borders.LineStyle = 1
                Target.Clear ‘Убираем «кнопку», чтобы киворукие не сдвинули второй раз
                Columns(i + 1).Delete ‘Убираем лишнее
                Columns(i + 1).Delete
                Target.Borders.LineStyle = 1 ‘Восстанавливаем границу в «кнопке»
                .Activate ‘ Перемещаемся в соседнюю ячейку
            End If
        End With
    End If ‘ Если запрос подтверждения не нужен, эту строку можно закомментировать

    End Sub

[/vba]

К сообщению приложен файл:

6751325.xlsm
(14.8 Kb)


Интуитивно понятный код — это когда интуитивно понятно, что это код.

 

Ответить

StoTisteg

Дата: Вторник, 23.02.2016, 21:57 |
Сообщение № 17

Группа: Авторы

Ранг: Старожил

Сообщений: 1161


Репутация:

103

±

Замечаний:
0% ±


Excel 2010

Блин. Запрос на каждый даблклик — это явно лишнее.

К сообщению приложен файл:

9422244.xlsm
(14.8 Kb)


Интуитивно понятный код — это когда интуитивно понятно, что это код.

 

Ответить

МВТ

Дата: Вторник, 23.02.2016, 22:19 |
Сообщение № 18

Группа: Проверенные

Ранг: Обитатель

Сообщений: 476


Репутация:

137

±

Замечаний:
0% ±


Excel 2007

Советую еще прописать Cancel = true, чтобы не «проваливаться» в ячейку

 

Ответить

StoTisteg

Дата: Вторник, 23.02.2016, 22:44 |
Сообщение № 19

Группа: Авторы

Ранг: Старожил

Сообщений: 1161


Репутация:

103

±

Замечаний:
0% ±


Excel 2010

А я всё равно там в конце делаю
[vba]

Код

Target.Offset(, 1).Activate

[/vba]
в размышлении, что сдвигают не для красоты, а чтобы данные добавить.


Интуитивно понятный код — это когда интуитивно понятно, что это код.

Сообщение отредактировал StoTistegВторник, 23.02.2016, 22:45

 

Ответить

Xelit

Дата: Среда, 24.02.2016, 07:59 |
Сообщение № 20

Группа: Пользователи

Ранг: Новичок

Сообщений: 15


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

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

 

Ответить

Приложение Excel — один из компонентов пакета Microsoft Office. Большинство пользователей использует ее для работы в электронных таблицах, анализа и визуализации данных. По умолчанию в каждой секции отображается только одна строка с текстом, цифрами и другими сведениями.

У длинных предложений в этом случае отобразится только начало, а остальную часть можно увидеть, лишь дважды щелкнув мышкой по конкретному окошку. Изменение ширины столбца не всегда помогает решить задачу, так как это нецелесообразно при большом объеме данных на 1 листе. Если же поставить Enter в ячейке Excel, то курсор попадет на соседнюю секцию снизу. Рассмотрим, как можно перенести строку в ячейке Excel.

Содержание

  1. 4 варианта как перейти на новую строку в ячейке в Excel
  2. Вариант 1: Сочетание клавиш
  3. Вариант 2: Формат ячеек
  4. Вариант 3: Через формулу
  5. Вариант 4: Найти и заменить
  6. Возможные проблемы

4 варианта как перейти на новую строку в ячейке в Excel

Слишком длинная строчка в Экселе выходит за границы окна, если соседняя секция пустая. В обратном случае фраза отсекается на границе между клетками. Сделать перенос текста в ячейке Excel, чтобы данные отображались компактно, можно четырьмя способами. Ниже для каждого из них представлены пошаговые инструкции.

Вариант 1: Сочетание клавиш

Перейти в Excel на новую строку проще всего, используя горячие клавиши.

Для этого следует:

  1. Перейти в режим правок, дважды кликнув левой кнопкой мышки по ячейке, нажав кнопку F2 либо щелкнув по строке ввода функций. Таким образом указывается начало абзаца в ячейке Excel.
  2. Поставить курсор в то место, где планируется переход на следующую строку.
  3. Нажать одновременно клавиши Enter и Alt (слева) на клавиатуре.

Часть предложения, находящаяся после курсора, будет перенесена в строке на один уровень вниз.

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

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

Вариант 2: Формат ячеек

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

Инструкция состоит из следующих действий:

  1. Выделяем окно, которое нужно отредактировать. Затем нажимаем на нем правой клавишей мышки. В списке меню переходим к пункту «Формат ячеек».
  2. Откроется окно настроек. Там нужно перейти на вкладку «Выравнивание», затем в разделе «Отображение» ставим галочку напротив пункта «Переносить» и подтверждаем выбор, нажав клавишу «ОК».

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

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

Вариант 3: Через формулу

Формула СИМВОЛ переноса строки применяется в Excel также, чтобы переносить текст. Этот способ особенно полезен для объединения разных позиций с разрывом строки. При этом каждая из частей занимает отдельную строку.

Для переноса с помощью функции следует:

  1. Включить в настройках формата перенос строки в ячейке.
  2. Выделить клетку и напечатать в ней либо строке функций выражение: =СЦЕПИТЬ(“ПОЗИЦИЯ1″;СИМВОЛ(10);”ПОЗИЦИЯ2”). Вместо «ПОЗИЦИИ» 1 и 2 нужно прописать слово или фразу, с которых необходимо начать новую строку. Функция печатается без пробелов.
  3. Больше в формуле изменять ничего не нужно. Чтобы увидеть результат, следует нажать клавишу Enter.

Этот вариант позволяет перенести текст, как и предыдущие, но выполняется сложнее.

Вариант 4: Найти и заменить

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

Инструкция состоит из следующих шагов:

  1. Выделяем секции, в которых нужно вставить разрыв на месте запятых. Далее на вкладке «Главная» находим пункт «Найти и заменить», нажимаем на него и открываем «Заменить».
  2. Создаем условия в диалоговом окне, чтобы перемещать слова на новый абзац. Для этого прописываем в поле «Найти» знак запятой (,), затем устанавливаем курсор в строчку «Заменить» и нажимаем одновременно на клавиатуре кнопки Crtl и J. Если все сделано верно, появится мигающая точка в месте ввода комбинации. Снизу выбираем «Заменить все».

Чтобы программа могла автоматически перенести текст, перенос должен быть включен в настройках.

Если нужен двойной интервал между словосочетаниями, можно ввести в строку замены комбинацию CTRL + J дважды. Вместо запятой в условиях поиска допускается указать любой символ.

Возможные проблемы

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

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

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

Объединение ячеек. Если несколько клеток объединены в одну, перемещать текст не получится. При условии, что разделение секций невозможно, единственный вариант полного отображения данных — увеличение ширины столбца. Иначе нужно разъединить окошки в разделе «Выравнивание», который находится на вкладке «Главная».

Понравилась статья? Поделить с друзьями:
  • Excel сдвиг столбца формула
  • Excel сдвиг непустых ячеек за пределы листа
  • Excel сдвиг даты на месяц
  • Excel сдвиг всех ячеек
  • Excel сдвиг адреса ячейки