Комбинация Shift+Enter в Microsoft Excel не срабатывает по умолчанию — вместо переноса строки она просто подтверждает ввод данных в ячейке. Это стандартное поведение программы, но его легко изменить. Чтобы активировать ручной перенос текста внутри одной ячейки, сначала нужно включить режим переноса по словам или использовать горячие клавиши в правильной последовательности. Если при нажатии Shift+Enter курсор перескакивает на следующую строку таблицы, значит в настройках отключена функция Ввод данных с переносом — это исправляется за 30 секунд.
Проблема чаще возникает в версиях Excel 2016–2023 и Office 365, где интерфейс настройки переноса строк скрыт глубже, чем в старых редакциях. Пользователи Excel 2007–2013 сталкиваются с другой трудностью: после нажатия Alt+Enter (альтернативной комбинации) текст переносится, но при экспорте в .csv или .txt символы переноса теряются. В этой статье — проверенные способы настроить Shift+Enter для переноса строк в любой версии Excel, включая макросы для автоматизации.
Почему Shift+Enter не работает в Excel по умолчанию
В Microsoft Excel комбинация Shift+Enter изначально запрограммирована на подтверждение ввода с переходом на ячейку выше — это часть стандартных горячих клавиш навигации. Такое поведение закреплено в ядре программы и не меняется даже после обновлений. Чтобы заставить Shift+Enter переносить текст внутри ячейки, требуется:
- 🔧 Вручную включить режим
Переносить по словамв параметрах ячейки. - 🔄 Использовать альтернативную комбинацию Alt+Enter (работает без дополнительных настроек).
- 📝 Создать пользовательский макрос, который переопределит действие Shift+Enter.
Основная техническая причина — конфликт сочетаний клавиш. В Excel приоритет имеют команды навигации (Enter, Shift+Enter, Tab), а не форматирование текста. Например, в Word или Google Sheets Shift+Enter по умолчанию создаёт мягкий перенос строки, но в Excel эта логика не реализована. Решение — либо адаптироваться к Alt+Enter, либо перепрограммировать поведение через VBA.
⚠️ Внимание: Если после нажатия Alt+Enter текст переносится, но при копировании в другие программы (например, Word) отображается как один абзац — проблема в кодировке символа переноса. В таком случае поможет замена на CHAR(10) через формулу.
Способ 1: Включение переноса текста в параметрах ячейки
Самый простой метод — активировать опцию Переносить по словам в настройках формата ячейки. Это не заставит Shift+Enter работать как в текстовом редакторе, но позволит тексту автоматически переноситься по границам ячейки. Инструкция:
- Выделите ячейку или диапазон, где нужен перенос.
- Нажмите правой кнопкой мыши и выберите
Формат ячеек...(или используйте Ctrl+1). - В открывшемся окне перейдите на вкладку
Выравнивание. - Поставьте галочку рядом с
Переносить по словами нажмитеОК.
После этого длинный текст будет автоматически разбиваться на строки, но управлять переносами вручную через Shift+Enter всё равно не получится. Для ручного контроля используйте Alt+Enter (см. следующий раздел).
Выделите целевую ячейку или диапазон|Откройте "Формат ячеек" (Ctrl+1)|Активируйте опцию "Переносить по словам"|Проверьте результат ввода длинного текста-->
| Версия Excel | Поддерживает ли Shift+Enter | Альтернативная комбинация | Требуется ли VBA |
|---|---|---|---|
| Excel 2007–2013 | ❌ Нет | Alt+Enter | ❌ Нет (но можно добавить) |
| Excel 2016–2019 | ❌ Нет | Alt+Enter | ✅ Да (для Shift+Enter) |
| Office 365 (2020–2023) | ❌ Нет | Alt+Enter | ✅ Да (через Power Query) |
| Excel для Mac | ❌ Нет | Option+Command+Enter | ✅ Да |
Способ 2: Использование Alt+Enter для ручного переноса
Комбинация Alt+Enter — стандартный способ вставить перенос строки в ячейке Excel. Она работает во всех версиях программы без дополнительных настроек. Алгоритм действий:
- Дважды кликните по ячейке (или нажмите F2), чтобы перейти в режим редактирования.
- Поместите курсор в то место текста, где нужен перенос.
- Нажмите Alt+Enter (на Mac — Option+Command+Enter).
- Повторите для всех необходимых переносов и сохраните изменения (Enter).
Если Alt+Enter не срабатывает, проверьте:
- 🔹 Не включён ли режим
Правка(индикатор в строке состояния). - 🔹 Не конфликтует ли комбинация с программой для управления клавиатурой (например, AutoHotkey).
- 🔹 Не используется ли Excel Online — в веб-версии перенос строк работает иначе.
Способ 3: Переопределение Shift+Enter через VBA-макрос
Чтобы заставить Shift+Enter работать как Alt+Enter, нужно создать макрос, который будет перехватывать нажатие и вставлять символ переноса (Chr(10)). Инструкция для Excel 2016–2023:
- Нажмите Alt+F11, чтобы открыть редактор
VBA. - В окне
Projectнайдите вашу книгу и откройте модульThisWorkbook. - Вставьте следующий код:
Private Sub Workbook_Open()Application.OnKey "+{ENTER}", "InsertLineBreak"
End Sub
Sub InsertLineBreak()
If TypeName(Selection) = "Range" Then
If Selection.Cells.Count = 1 Then
ActiveCell.Value = Replace(ActiveCell.Value, vbLf, "")
SendKeys "%{ENTER}"
End If
End If
End Sub
- Сохраните файл как
.xlsm(с поддержкой макросов) и перезапустите Excel.
Теперь при нажатии Shift+Enter в ячейке будет вставляться перенос строки. Обратите внимание:
- 🔴 Макрос работает только для одной выделенной ячейки.
- 🔴 В некоторых версиях Excel может потребоваться отключить защиту макросов в
Центре управления безопасностью. - 🔴 Если макрос конфликтует с другими скриптами, попробуйте использовать
Application.OnKey "{ENTER}", "InsertLineBreak"вместо Shift+Enter.
⚠️ Внимание: Макросы не работают в Excel Online и мобильных версиях программы. Для совместной работы с файлом в облаке используйте Alt+Enter или настройте Power Automate.
Excel 2010–2013|Excel 2016–2019|Office 365 (2020–2023)|Excel для Mac-->
Способ 4: Перенос строк через формулы (CHAR(10))
Если нужно вставить перенос строки через формулу (например, при объединении данных из нескольких ячеек), используйте функцию CHAR(10). Она добавляет непечатаемый символ переноса, который Excel интерпретирует как разрыв строки. Пример:
=A1 & CHAR(10) & B1
Чтобы формула работала корректно:
- Убедитесь, что в ячейке с формулой включён режим
Переносить по словам(см. Способ 1). - Если текст отображается в одну строку, увеличьте высоту ячейки вручную.
- Для замены всех пробелов на переносы используйте:
=SUBSTITUTE(A1, " ", CHAR(10))
Ограничения метода:
- 📌
CHAR(10)не работает в Excel Online без дополнительных настроек. - 📌 При экспорте в
.csvсимволы переноса могут отображаться как квадратики. - 📌 В Google Sheets вместо
CHAR(10)используйтеCHAR(13).
Как перенести текст из Excel в Word с сохранением переносов
1. Скопируйте ячейку в Excel (Ctrl+C).
2. В Word выберите "Специальная вставка" → "Текст с форматированием RTF".
3. Переносы строк (вставленные через Alt+Enter или CHAR(10)) сохранятся.
Распространённые ошибки и их решения
Даже после настройки переноса строк пользователи сталкиваются с типичными проблемами. Вот самые частые из них и способы исправления:
| Проблема | Причина | Решение |
|---|---|---|
| Перенос не отображается | Высота строки фиксирована | Дважды кликните по нижней границе строки для автоподбора высоты |
| Shift+Enter перемещает курсор вверх | Стандартное поведение Excel | Используйте Alt+Enter или настройте макрос (Способ 3) |
| Переносы пропадают при экспорте в CSV | Формат CSV не поддерживает символы переноса | Экспортируйте в XLSX или используйте разделитель "|" вместо CHAR(10) |
| Макрос не работает | Отключены макросы или ошибка в коде | Проверьте настройки безопасности и синтаксис VBA |
Если после применения Alt+Enter текст в ячейке отображается как #ЗНАЧ!, значит:
- 🔸 В ячейке уже есть ошибка формулы.
- 🔸 Ширина столбца равна 0 (увеличьте её вручную).
- 🔸 Включён режим
Показывать формулы(отключите на вкладкеФормулы).
Перенос строк в мобильном Excel (Android/iOS)
В мобильных версиях Excel для Android и iOS комбинации Alt+Enter или Shift+Enter не работают. Вместо этого:
- Коснитесь ячейки дважды, чтобы открыть клавиатуру.
- Напечатайте первую часть текста.
- Нажмите на символ ↩️ (Enter) на клавиатуре — он вставит перенос строки.
- Продолжите ввод текста. Повторяйте шаг 3 для новых переносов.
Ограничения мобильной версии:
- 📱 Нет поддержки VBA-макросов (нельзя переопределить Shift+Enter).
- 📱 Переносы, сделанные на ПК, могут отображаться некорректно.
- 📱 При копировании текста в другие приложения символы переноса часто теряются.
FAQ: Частые вопросы о переносе строк в Excel
Можно ли сделать так, чтобы Enter тоже переносил строку, а не перемещал курсор вниз?
Да, но для этого потребуется отключить стандартное поведение Enter через VBA. Вставьте в модуль следующий код:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.MoveAfterReturn = False
End Sub
После этого Enter будет подтверждать ввод без перехода на следующую ячейку, но перенос строки всё равно нужно вставлять через Alt+Enter.
Почему после копирования из Excel в Word переносы строк пропадают?
Проблема в формате буфера обмена. Чтобы сохранить переносы:
- В Excel скопируйте ячейку (Ctrl+C).
- В Word выберите
Специальная вставка→Текст с форматированием RTF. - Если переносы всё равно не отображаются, замените их в Excel на символ
|и потом найдите/замените в Word.
Как сделать перенос строки в формуле, если CHAR(10) не работает?
Попробуйте альтернативные подходы:
- Используйте
CHAR(13) & CHAR(10)(перенос строки + возврат каретки). - В Google Sheets замените
CHAR(10)наCHAR(13). - Убедитесь, что в ячейке включён режим
Переносить по словам.
Можно ли настроить Shift+Enter для переноса строк в Excel Online?
Нет, в веб-версии Excel Online нет поддержки VBA и кастомизации горячих клавиш. Используйте:
- Alt+Enter (работает в настольной версии, но не в браузере).
- Ручной ввод символа переноса через
Формулы→CHAR(10). - Экспорт файла в настольный Excel для редактирования.
Как убрать все переносы строк в ячейке?
Используйте функцию CLEAN или SUBSTITUTE:
=SUBSTITUTE(A1, CHAR(10), " ")
Для удаления всех непечатаемых символов (включая переносы):
=CLEAN(SUBSTITUTE(A1, CHAR(10), ""))