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

Тема в разделе "Макросы Word, Excel (VBA)", создана пользователем Dragokas, 27 апр 2015.

  1. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

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

    [​IMG]

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

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

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

    [​IMG]

    Для начала нам необходимо сцепить текст в ячейках 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 пропишем формулу
    Код (Text):

    =A1&B1&СИМВОЛ(10)&A2&B2&СИМВОЛ(10)&A3&B3
     
    В итоге мы должны получить нужный нам результат.
    Обратите внимание! Чтобы перенос строки корректно отображался необходимо включить "перенос по строкам" в свойствах ячейки.
    Для этого выделите нужную нам ячейку (ячейки), нажмите на правую кнопку мыши и выберите "Формат ячеек..."
    [​IMG]

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

    [​IMG]

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

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

    [​IMG]

    Рассмотрим на примере, что на картинке выше. Итак, в ячейке B1 прописываем функцию ПОДСТАВИТЬ:
    Код (Text):
    =ПОДСТАВИТЬ(A1;СИМВОЛ(10);" ")
    A1 - это наш текст с переносом строки;
    СИМВОЛ(10) - это перенос строки (мы рассматривали это чуть выше в данной статье);
    " " - это пробел, так как мы меняем перенос строки на пробел

    Если нужно проделать обратную операцию - поменять пробел на знак (символ) переноса, то функция будет выглядеть соответственно:
    Код (Text):
    =ПОДСТАВИТЬ(A1;" ";СИМВОЛ(10))
    Напоминаю, чтобы перенос строк правильно отражался, необходимо в свойствах ячеек, в разделе "Выравнивание" указать "Переносить по строкам".

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

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

    [​IMG]

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

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

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

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


    [​IMG]

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

    [​IMG]

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

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

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

    Sub ПробелыНаПереносы()
        For Each cell In Selection
            cell.Value = Replace(cell.Value, Chr(32), Chr(10))
        Next
    End Sub
     
    2. Меняем переносы на пробелы в выделенных ячейках с помощью VBA
    Код (Text):

    Sub ПереносыНаПробелы()
        For Each cell In Selection
            cell.Value = Replace(cell.Value, Chr(10), Chr(32))
        Next
    End Sub
     
    Код очень простой Chr(10) - это перенос строки, Chr(32) - это пробел. Если требуется поменять на любой другой символ, то заменяете просто номер кода, соответствующий требуемому символу.

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

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

    [​IMG]

    Источник.
     
    Последнее редактирование: 27 апр 2015
    thyrex, Kиpилл, orderman и 2 другим нравится это.

Поделиться этой страницей