Excel vba удалить перенос строки

Skip to content

4 способа быстро убрать перенос строки в ячейках Excel

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

Перенос строки в вашем тексте внутри ячейки Excel может возникнуть разными способами. Обычно он появляется, когда вы копируете текст с веб-страницы или из Word, получаете файл, который уже содержит разрывы строк, от коллеги или клиента. Или вы добавляете его самостоятельно, используя комбинацию Alt + Enter.

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

Все эти 4 способа, которые мы вам предлагаем, действительно быстрые. Выберите тот, который вам больше всего подходит:

  • Как убрать перенос строки при помощи «Найти и заменить».
  • 3 формулы, чтобы удалить переносы строк в ячейках.
  • Как можно использовать макрос VBA.
  • Удаляем перенос строки с помощью надстройки Ultimate Suite

Примечание. Первоначально термины «возврат каретки» и «перевод строки» использовались в пишущей машинке и означали два различных действия.

Компьютеры и программное обеспечение для обработки текстов создавались с учетом специфики пишущей машинки. Вот почему теперь для обозначения переноса строки используются два разных непечатаемых символа: «Возврат каретки» (CR, код ASCII 13) и «Перевод строки» (LF, код ASCII 10). 

Имейте в виду, что в Excel вы можете найти оба варианта. Если вы импортируете данные из файла .txt или .csv, вы с большей вероятностью найдете комбинацию возврат каретки + перевод строки. Когда вы разбиваете текст в ячейке, используя Alt + Enter, то Excel вставляет только перевод строки. Если вы получите файлы .csv от человека, который использует Linux или Unix, то там также найдете только перевод строки.

Удаление вручную. 

Плюсы: самый быстрый способ.

Минусы: никаких дополнительных возможностей.

Итак, воспользуемся помощью стандартной функции «Найти и заменить»:

избавиться от переводов строки при помощи инструмента Найти и заменить

  1. Выделите все позиции, которые вы хотите обработать.
  2. Нажмите Ctrl + H, чтобы открыть диалоговое окно «Найти и заменить».
  3. В поле » Найти» введите Ctrl + J. Оно будет выглядеть пустым, но вы увидите крошечную точку.
  4. В поле «Заменить на» введите любое значение для замены. Обычно это пробел, чтобы избежать случайного «слипания» двух слов. Если вам нужно просто удалить разрывы строк, оставьте поле пустым.
  5. Нажимаем кнопку «Заменить все» и наслаждаемся результатом!

Удалите разрывы строк с помощью формул Excel.

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

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

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

  1. Добавьте вспомогательный столбец в конец ваших данных. Вы можете назвать его «В одну строку».
  2. В первой его позиции (C2) введите формулу для удаления или замены переносов строк. Здесь мы представим вам несколько полезных формул для разных случаев:

Удаление возврата каретки и перевода строки как в Windows, так и в UNIX.

=ПОДСТАВИТЬ(ПОДСТАВИТЬ(A2;СИМВОЛ(13);»»);СИМВОЛ(10);»»)

Заменяем перенос строки любым другим символом (например, запятая + пробел). В этом случае строки не будут «слипаться» и лишние пробелы не появятся.

=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A3;СИМВОЛ(13);», «);СИМВОЛ(10);», «))

Или же можно обойтись и без запятой, просто заменив пробелом:

=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A3;СИМВОЛ(13);» «);СИМВОЛ(10);» «))

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

=ПЕЧСИМВ(A4)

как удалить перевод строки в ячейке при помощи формулы Excel

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

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

  1. Выделите все данные в столбце В и нажмите Ctrl + C, чтобы скопировать данные в буфер обмена.
  2. Теперь выберите А2 и нажмите Shift + F10 + V.
  3. Удалите вспомогательный столбец В.

Макрос VBA для замены переноса строки на пробел.

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

Минусы: желательно иметь базовые знания VBA. Или воспользуйтесь нашей подробной инструкцией.

Макрос VBA из приведенного ниже примера заменяет на пробел символ возврата каретки из всех ячеек на текущем активном листе.

Sub RemoveCarriageReturns()
Dim MyRange As Range
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For Each MyRange In ActiveSheet.UsedRange
If 0 < InStr(MyRange, Chr(10)) Then
MyRange = Replace(MyRange, Chr(10), » «)
End If
Next
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub

Если вы не очень хорошо знаете VBA, просто следуйте рекомендациям ниже:

  1. Нажмите Alt + F11, чтобы открыть редактор Visual Basic.
  2. Щелкните правой кнопкой мыши имя книги на панели «Project — VBAProject » (в верхнем левом углу окна редактора) и выберите «Вставить» -> «Модуль» в контекстном меню.
  3. Скопируйте код VBA и вставьте его в правую панель редактора VBA ( окно « Module1 »).
  4. Сохраните книгу как «книгу Excel с поддержкой макросов».
    Нажмите Crl + S, затем нажмите кнопку «Нет» в диалоговом окне предупреждения «Следующие функции не могут быть сохранены в книге без макросов».
  5. Откроется диалоговое окно «Сохранить как». Выберите «Книга Excel с поддержкой макросов» из раскрывающегося списка «Тип файла». Нажмите кнопку «Сохранить».
  6. Нажмите Alt + Q , чтобы закрыть окно редактора и вернуться к своей книге.
  7. Если вы хотите запустить код VBA, который вы добавили, как описано в разделе выше: нажмите Alt + F8, чтобы открыть диалог «Макросы».
  8. Затем выберите нужный макрос из списка «Имя макроса» и нажмите кнопку «Выполнить».

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

Удаляем перенос строки с помощью надстройки Ultimate Suite.

Если вы являетесь пользователем Ultimate Suite for Excel , то вам не нужно тратить время на какие-либо из вышеперечисленных манипуляций. Все, что требуется, — это 3 быстрых шага:

  1. Выберите одну или несколько ячеек, в которых вы хотите удалить переносы строк.
  2. На ленте Excel перейдите на вкладку Ablebits Data  и нажмите кнопку «Преобразовать (Convert)» .
  3. На панели «Преобразовать текст» выберите переключатель «Конвертировать перенос строки в (Convert line break to)», введите в поле «заменяющий» символ (это может быть точка с запятой, точка, запятая, пробел) и нажмите кнопку «Преобразовать (Convert)» .

В нашем примере мы заменяем каждый перенос строки пробелом:

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

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

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

Итак, теперь вы легко можете убрать либо заменить символ переноса строки в вашей таблице Excel.

Ещё о работе с текстом в Excel:

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

 

skais675

Пользователь

Сообщений: 2177
Регистрация: 03.06.2014

Есть данные в приложенном примере. Нужно удалить все переносы строк. Однако сделать это стандартными методами или с помощью VBA не удалось. Только после нажатия ввода в каждой ячейке, они начинают адекватно удаляться. Собственно вопрос, почему это происходит и как это решить?

Прикрепленные файлы

  • х-ки.xlsx (12.52 КБ)

Изменено: skais67517.12.2021 09:32:55

 

МатросНаЗебре

Пользователь

Сообщений: 5507
Регистрация: 05.02.2014

#2

17.12.2021 09:45:31

Код
Sub ReplaceCrLF()
    ReplaceCrLFRange Selection
End Sub

Sub ReplaceCrLFRange(rn As Range)
    Dim rf As Range
    On Error Resume Next
    Set rf = Intersect(rn, rn.Parent.Cells.SpecialCells(xlCellTypeConstants))
    On Error GoTo 0
    If Not rf Is Nothing Then
        Dim txt As String
        Dim cl As Range
        Dim Application_Calculation As Long
        Application_Calculation = Application.Calculation
        Application.Calculation = xlCalculationManual
        Application.EnableEvents = False
        For Each cl In rf
            txt = cl.Value
            txt = Replace(txt, vbCr, "")
            txt = Replace(txt, vbLf, "")
            cl.Value = txt
        Next
        Application.Calculation = Application_Calculation
        Application.EnableEvents = True
    End If
End Sub
 

skais675

Пользователь

Сообщений: 2177
Регистрация: 03.06.2014

МатросНаЗебре, Сработало, спасибо!!!

 

Тимофеев

Пользователь

Сообщений: 1495
Регистрация: 01.09.2020

#4

17.12.2021 09:51:12

Код
=ФИЛЬТР.XML("<j>"&A2&"</j>";"//p")
 

Msi2102

Пользователь

Сообщений: 3134
Регистрация: 31.03.2014

#5

17.12.2021 09:51:50

Может так

Код
=ПЕЧСИМВ(A2)
 

Jack Famous

Пользователь

Сообщений: 10846
Регистрация: 07.11.2014

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

#6

17.12.2021 10:01:44

Корректно и предсказуемо

Изменено: Jack Famous17.12.2021 10:55:45

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

Евгений Смирнов

Пользователь

Сообщений: 539
Регистрация: 18.02.2021

#7

17.12.2021 10:16:22

Может так

Код
=СЖПРОБЕЛЫ(ПЕЧСИМВ(A2))
 

Msi2102

Пользователь

Сообщений: 3134
Регистрация: 31.03.2014

 

Jack Famous

Пользователь

Сообщений: 10846
Регистрация: 07.11.2014

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

Msi2102,

при наличии каретки, замена только переноса, ФОРМУЛОЙ (как в приёме по ссылке) не сработает (у меня на примере не сработала — см выше, но в VBA сработает)

Мой косяк — на скрине видно, что всё нормально, только цвет не тот. Заменил скрин и файл

Изменено: Jack Famous17.12.2021 10:56:37

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

Msi2102

Пользователь

Сообщений: 3134
Регистрация: 31.03.2014

#10

17.12.2021 12:04:03

Цитата
Jack Famous написал:
Мой косяк

Блин, а я пол часа пытаюсь понять что не так  :D

 

Jack Famous

Пользователь

Сообщений: 10846
Регистрация: 07.11.2014

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

#11

17.12.2021 12:06:52

Цитата
Msi2102: Блин, а я пол часа пытаюсь понять что не так

подписывайтесь на обновления и/или попробуйте один раз и опять сюда с вопросом «а у меня получилось — как так?»  :D
Все мы люди, все ошибаемся  :)

Изменено: Jack Famous17.12.2021 12:07:44

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

Msi2102

Пользователь

Сообщений: 3134
Регистрация: 31.03.2014

#12

17.12.2021 12:37:38

В общем как-то так

Прикрепленные файлы

  • Del_vbCrLf (1).xlsb (19.2 КБ)

First, you need to determine which line break your variable has — or you can test for all of them using multiple replaces. Luckily, VBA has the vbConstants for line breaks which make your life a little easier:

myStr = Replace(myStr, vbCr, " ")
myStr = Replace(myStr, vbLf, " ")
myStr = Replace(myStr, vbCrLf, " ") '// or vbNewLine

Notice I’ve used a space as the replacement otherwise you will end up with words being merged:

Example of some text
with a line break

replacing the line break with a zero length string "" would result in:

Example of some textwith a line break

whereas replacing with a space " " will produce:

Example of some text with a line break


Just for fun another way of doing this is like so:

myStr = Join$(Split(myStr, vbCrLf), " ")

This uses the line break as a delimiter to split the string out into a single dimension array, then joins each element of the array with a space. No real advantage in either method just down to preference in this case.

Оформление кода VBA

​Смотрите также​ объекта set WS​ j).End(xlUp).Row To 2​ Is Nothing Then​ у меня тоже​можно ли ее​: Private Sub Command2_Click()​ символы появляются в​ = «14» And​например, что-нибудь в​

​ и склеивания не​=ПЕЧСИМВ(B2)​ чтобы избежать случайного​ два различных непечатаемых​Источник: http://www.excelfunctions.net/VBA-Code-Presentation.html​ вложенного блока кода.​ переданную процедуре строку​Начиная практиковаться в написании​ = какой-то лист.​ Step -1 If​ Exit Sub Else​ есть сомнения что​ разбить на несколько​ a = MsgBox(«Струйные​ ячейках склеенных​ _ Cells(r, c.Column).Value​ духе :​ равны друг другу​=CLEAN(B2)​ склеивания двух соседних​ символа:​Перевел: Антон Андронов​

​ Такие увеличенные отступы​ Sub Find_String(sFindText As​ кода VBA, очень​Либо активировать НУЖНЫЙЛИСТ.ACTIVATE​ aws.Cells(i, j) <>​ j = x.Column​

Комментарии в VBA

​ это оптимальный вариант.​ строчек?​ принтеры печатают текст​Serge_007​ = «15» _​rn​ — выходим с​Скопируйте формулу во все​ слов. Если нужно​Возврат каретки​Автор: Антон Андронов​

​ помогают понять, где​ String) Dim i​ важно с самого​ , потом Rows.delete​ «» Then On​ Application.ScreenUpdating = False:​ Я создам отдельную​Спасибо!​ и изображения, разбрызгивая​: А если попробовать,​ Then Rows(r).Delete​;​ ошибкой If SearchRange.Count​ ячейки столбца.​ просто удалить переносы​(Carriage return, CR​

​Эта инструкция познакомит Вас​ каждый отдельный блок​ As Integer ‘​​ начала выработать хорошие​​ и потом снова​

​ Error Resume Next:​ Set aws =​ тему с вопросом​Sergei_A​ на бумагу мелкие​ прежде чем писать?​Kucherov​Sanja​ <> TextRange.Count Then​По желанию, можете заменить​ строк, оставьте поле​ или ASCII код​ с тремя способами​ кода начинается и​ переменная типа Integer​ привычки в оформлении​ перейти на лист​ Set ws =​ Sheets(«Общая база») For​ по поводу того​: да, можно. Пробел+​ капли чернил.» &​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Const sDELIM As String​: Спасибо, извините, тупанул,​: Kuzmich, же Вам​ MergeIf = CVErr(xlErrRef)​ исходный столбец новым,​Заменить на​ 13) и​ удалить возвраты каретки​ заканчивается.​ для цикла ‘For’​ кода, чтобы в​ AWS и далее​ ThisWorkbook.Sheets(CStr(aws.Cells(i, j))) If​ i = aws.Cells(Rows.Count,​ как правильно записывать​ _​ vbLf & _​ = vbLf​ не поставил пробел​ показал​ Exit Function End​ с удалёнными переносами​(Replace With) пустым.​Перевод строки​ из ячеек в​Ещё один способ сделать​

​ Dim iRowNumber As​ дальнейшем написанный код​ цикл​ Err <> 0​ j).End(xlUp).Row To 2​ такого рода формулы​OSA913​ «Струйные принтеры популярны​Андрей​ перед «_»​Юрий М​

​ If ‘проходим по​ строк:​Нажмите кнопку​(Line feed, LF​ Excel. Вы также​ код более читаемым​ Integer ‘ переменная​ было легко читать​Lofak​ Then Set ws​

Отступы в коде VBA

​ Step -1 If​ и буду благодарен​: Подскажите как перенести​ из-за относительно невысокой​: СПАСИБО! Очень помогли!​Hugo​: excel_pl, Вы не​ все ячейкам, проверяем​​Выделите все ячейки в​​Заменить все​ или ASCII код​ узнаете, как заменить​ и облегчить работу​ типа Integer для​ и понимать, как​, либо вычистите​ = Sheets.Add: ActiveSheet.Name​

Переносы строк в VBA

​ aws.Cells(i, j) <>​ вам за помощь.​ на новую строку​ цены.» & vbLf​tarakano​: Эту кучу AND​ отписались в своих​ условие и собираем​ столбце​(Replace All) и​ 10). В Windows​ символы переноса строки​ с ним –​ хранения результата iRowNumber​ он работает.​все​ = aws.Cells(i, j):​

​ «» Then On​bosscs​ часть формулы, которую​ & _ «Существует​: подскажите пожалуйста, что​ оптимальнее разбить на​

​ старых темах, а​​ текст в переменную​​C​

​ наслаждайтесь результатом!​ используются оба символа​ другими символами. Все​ делать переносы и​ = 0 ‘​В процессе написания кода,​листы до того​ On Error GoTo​ Error Resume Next:​: Приветствую.​ вставляю в массив​

​ множество моделей таких​ нужно дописывать в​​ цепочку вложенных ЕСЛИ-ТО​​ уже создали новую.​ OutText For i​

​и нажатием​Плюсы:​ вместе, а в​ предложенные решения работают​ разбивать одну длинную​ последовательно посматриваем ячейки​ программист может иметь​ как переносить данные​ 0 aws.Cells.Copy ws.rows.delete​ Set ws =​Допустим есть в​ vba? Пробелом и​

​ принтеров, включая модели,​​ конце строки, если​​ — может когда-нибудь​ Или ответы не​ = 1 To​Ctrl+C​Доступно использование последовательных​ системах *NIX применяется​ в Excel 2013,​ строку кода на​ A1-A100, пока не​ совершенно чёткое представление​ из основной базы​ ws.Cells.PasteSpecial Paste:=xlPasteColumnWidths ws.Cells.PasteSpecial​

​ ThisWorkbook.Sheets(CStr(aws.Cells(i, j))) If​ проекте визуала длинная​
​ _ не переносится.​
​ специально предназначенные для​

​ текс длинный и​

office-guru.ru

Как удалить переносы строк (возвраты каретки) из ячеек в Excel 2013, 2010 и 2007

​ сэкономите даже пару​ интересуют?​ SearchRange.Cells.Count If SearchRange.Cells(i)​скопируйте данные в​ или вложенных формул​ только перевод строки.​ 2010, 2007 и​ несколько коротких. В​ будет найдено значение​ о том, что​Добавлено через 5 минут​ Paste:=xlPasteFormats End If​

Удаляем переносы строк в Excel

​ Err <> 0​ строчка, как ее​Александр П.​ печати цветных фотографий.»​ не помещается в​ минут работы кода…​excel_pl​ Like Condition Then​ буфер обмена.​ для сложной проверки​Будьте внимательны:​ 2003.​ VBA, чтобы разбить​​ ‘sFindText’ For i​​ за код он​

​например так​ aws.Rows(i).Copy ws.Cells(Rows.Count, 1).End(xlUp).Offset(1)​ Then Set ws​ записать в 2​: На примере из​ & vbLf &​ одной строке?​ кто знает что​: Вопрос решён.​ OutText = OutText​Далее выделите ячейку​

​ текста в обрабатываемой​В Excel встречаются​Переносы строк могут появиться​ строку, нужно вставить​

  • ​ = 1 To​ пишет и как​Sub ClearPages() For​ End If: Next​
  • ​ = Sheets.Add: ActiveSheet.Name​ строки?​ макрорекордера ActiveWorkbook.Worksheets(«NNN.FFF»).Sort.SortFields.Add Key:=Range(«A1:A6»)​ _ «Недостатки. В​что б было​
  • ​ там будет в​Всем спасибо.​ & TextRange.Cells(i) &​B2​

​ ячейке. Например, можно​​ оба варианта. При​ в тексте по​ символы » _»​ 100 If Cells(i,​ этот код должен​ i = 1​ End Sub​ = aws.Cells(i, j):​Alex77755​ _ , SortOn:=xlSortOnValues,​

​ большинстве случаев струйные​ понятнее: Private Sub​ другой раз.​Kucherov​ Delimeter Next i​, нажмите сочетание клавиш​ удалить возвраты каретки,​ импорте из файлов​ разным причинам. Обычно​​ (пробел+подчёркивание) непосредственно перед​​ 1).Value = sFindText​ работать. Но нужно​ To Sheets.Count Set​​Lofak​​ On Error GoTo​: В нужном месте:​ Order:=xlAscending, DataOption:=xlSortNormalТо есть,​ принтеры работают медленнее​ Command2_Click() a =​JayBhagavan​: Добрый день!​

​ ‘выводим результаты без​​Shift+F10​ а затем найти​.txt​​ возвраты каретки встречаются​​ переносом строки. Это​​ Then ‘ найдено​​ позаботиться и о​ ws = Sheets(i)​: Что-то все равно​ 0 aws.Cells.Copy ws.Cells.PasteSpecial​ Пробел, Подчёркивание(«_»), Ентер​​ после нужного символа​​ (в страницах в​ MsgBox(«Г‘òðóéГ*ûå ïðèГ*òåðû ГЇГҐГ·Г*ГІГ*ГѕГІ​: Пробел, нижнее подчёркивание,​​Как можно перенести​​ последнего разделителя MergeIf​и выберите​ лишние начальные или​или​ в рабочей книге,​ сообщает компилятору VBA,​

Удаляем возвраты каретки вручную

​ совпадение с переданной​​ том, чтобы, вернувшись​ If ws.Name <>​

​ не так, не​​ Paste:=xlPasteColumnWidths ws.Cells.PasteSpecial Paste:=xlPasteFormats​:(

​gaw​ ставите пробел? затем​ минуту), чем лазерные​​ ГІГҐГЄГ±ГІ ГЁ èçîáðГ*æåГ*ГЁГї,​​ энтер.​

  1. ​ строки в Макросе?​ = Left(OutText, Len(OutText)​Вставить​ конечные пробелы, или​.csv​Удаляем переносы строк в Excel
  2. ​ например, когда текст​​ что текущая строка​​ строкой ‘ сохраняем​ к работе спустя​​ «Общая база» Then​​ чистит​
  3. ​ End If aws.Rows(i).Copy​​: (наверное неправильно понял​​ «_» и затем​ принтеры, и требуют​​ Г°Г*çáðûçãèâГ*Гї Г*Г* ГЎГіГ¬Г*ГЈГі​​Символ переноса в VBA​ Нажимаю пробел -​ — Len(Delimeter)) End​(Insert).​ лишние пробелы между​данные обычно содержат​
  4. ​ скопирован с веб-страницы,​​ кода продолжается на​​ номер текущей строки​ полгода, не пришлось​ ws.Rows.Delete Next End​Burk​ ws.Cells(Rows.Count, 1).End(xlUp).Offset(1) End​ )​ enter​ регулярной замены картриджа​ ìåëêèå ГЄГ*ïëè Г·ГҐГ°Г*ГЁГ«.​: Помогите пожалуйста!​​ выдаёт ошибку. Очень​​ Function​Удаляем переносы строк в Excel
  5. ​Удалите вспомогательный столбец.​​ словами.​​ возвраты каретки и​ когда они уже​Удаляем переносы строк в Excel

Удаляем переносы строк при помощи формул Excel

​ следующей строке.​​ и выходим из​ ломать голову, пытаясь​ Sub​:​ If: Next End​»a» & vbCrLf​Михаил Лебедев​ с чернилами», ,​ ÑòðóéГ*ûå ïðèГ*òåðû ïîïóëÿðГ*Г»​В интернете есть​ неудобно.​

​Сцепка происходит по​Плюсы:​В некоторых случаях переносы​ переводы строки. Когда​ есть в рабочей​Следующий пример демонстрирует, как​ цикла iRowNumber =​ понять, что должен​Lofak​Ну и его надо​​ Sub​​ & «b»​

​: activecell.formulaR1C1 = «=if(vlookup…​​ «Справка») End Sub​ ГЁГ§-Г§Г* îòГ*îñèòåëüГ*Г® Г*åâûñîêîé​ такой макрос:​

  1. ​Мне желательно в​ принципу:​Создаём один раз​ строк необходимо удалять,​​ перенос строки вводится​​ книге, полученной от​
  2. ​ при помощи переносов​ i Exit For​ делать этот код.​: Благодарю вас, то​ поставить до цикла​Может кто нибудь​»a» & vbNewLine​
    • ​ первая часть от​tarakano​ öåГ*Г». Ñóùåñòâóåò Г¬Г*îæåñòâî​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub MergeToOneCell()​ данной программе перенести​Текст 1, Текст​

      ​ – используем снова​
      ​ чтобы в дальнейшем​

    • ​ вручную нажатием​ клиента, или, когда​ строк можно сделать​ End If Next​ Ещё более неприятная​ что нужно!​ по I​ помочь добавить функцию​ & «b»​ очень много всего»​

      ​: спасибо за оба​
      ​ ìîäåëåé ГІГ*ГЄГЁГµ ïðèГ*òåðîâ,​

    • ​Const sDELIM As​ строки, где задаются​ 2​ и снова с​

      ​ использовать текст в​
      ​Alt+Enter​

    Удаляем переносы строк в Excel

  3. ​ мы сами добавляем​ длинные строки кода​
  4. ​ i ‘ сообщение​ ситуация – когда​Burk​А на то,​
    • ​ очистки дополнительных листов​»a» & Chr(13)​​ _ & «​​ способа, теперь буду​​ âêëþ÷Г*Гї ìîäåëè, ñïåöèГ*ëüГ*Г®​​ String = «​ данные (вторая строка)​
    • ​Вопрос​​ любой рабочей книгой.​​ качестве аргументов функций,​​, Excel вставляет только​​ их нажатием клавиш​​ гораздо более понятными​​ во всплывающем окне​
    • ​ кто-то другой станет​

Удаляем переносы строк при помощи макроса VBA

​:​​ что вам пишут​ перед копированием туда​ + Chr(10) &​ вторая часть от​

​ знать​​ ïðåäГ*Г*Г§Г*Г*Г·ГҐГ*Г*ûå äëÿ ГЇГҐГ·Г*ГІГЁ​ » ‘символ-разделитель​

​ и переносить строки,​Как сделать чтобы​Минусы:​ не внося изменения​ символ перевода строки.​

​Alt+Enter​ и легко читаемыми.​ сообщает пользователю, ‘​ продолжать Вашу работу​Lofak​ вы внимания не​ информации из первого​ «b»​ очень много всего»​Тогда еще один:​ öâåòГ*ûõ ôîòîãðГ*ГґГЁГ©. ÍåäîñòГ*ГІГЄГЁ.​Dim rCell As​ где If, там​

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

​ над кодом и​, просто хотелось, чтобы​
​ обращаете??? А цикл​
​ листа, что бы​

​Lofak​

office-guru.ru

Как сделать перенос строки с использованием VBA?

​ _ & «​​Private Sub Command2_Click()​ Г‚ áîëüøèГ*Г±ГІГўГҐ ñëó÷Г*ГҐГў​ Range​ стоит AND и​ «, «, а​ базовое знание VBA.​ Результат можно использовать,​.csv​Какой бы ни была​If​ и если найдена​ не сможет понять,​ вы, учитывая подсказки,​ по по строкам​ информация не дублировалась​: Доброго времени суток,​ третья часть от​ Dim St as​ ñòðóéГ*ûå ïðèГ*òåðû Г°Г*áîòГ*ГѕГІ​Dim sMergeStr As​ у м меня​ перенос текста на​Макрос VBA из следующего​ например, как аргумент​получен от поклонника​ причина их появления,​:​ – сообщает номер​ как он работает.​ сами это сделали,​ у вас в​ при каждом последующем​ имеется таблица exel​ очень много всего»​ String St =​ ìåäëåГ*Г*ГҐГҐ (Гў Г±ГІГ°Г*Г*ГЁГ¶Г*Гµ​ String​
​ будет много «AND»​ следующую строчку?​
​ примера удаляет возвраты​ функции​
​ Linux, Unix или​
​ сейчас перед нами​If (index =​ строки If iRowNumber​Эта статья посвящена комментариям,​ но, видимо, рано​
​ строке 6​ запуске?​
​ в которую вносятся​
​OSA913​

​ «Струйные принтеры печатают​​ Гў ìèГ*ГіГІГі), Г·ГҐГ¬​If TypeName(Selection) <>​ и много «OR»​Т.е., чтобы сцепка​ каретки из всех​ПРОСМОТР​ другой подобной системы,​ стоит задача удалить​ 1 And sColor1​ = 0 Then​ отступам в коде​Lofak​Lofak​Burk​ данные, с некоторыми​: Покажите пожалуйста в​ текст и изображения,​ Г«Г*çåðГ*ûå ïðèГ*òåðû, ГЁ​ «Range» Then Exit​ и хотел бы​ происходила по принципу:​ ячеек на активном​(LOOKUP).​ то готовьтесь к​ возвраты каретки, так​ = «красный») Or​

​ MsgBox «Строка «​​ и переносам строк​: Скорее уже поздно,​, под ЕГО имеется​: Rows.Delete​ дополнительными параметрами, нужно​

​ моем примере(модуль1). Заранее​​ разбрызгивая на бумагу​ òðåáóþò ðåãóëÿðГ*îé Г§Г*ìåГ*Г»​ Sub ‘если выделены​​ каждое условие в​​Текст 1​
​ листе.​Минусы:​​ встрече только с​​ как они мешают​

​ (index = 2​​ & sFindText &​ – элементам, которые​

​ когда-то учился, но​​ ввиду оператор чистки,​Lofak​ что бы данные​ спасибо!​ мелкие» & vbNewLine​ ГЄГ*ðòðèäæГ* Г± Г·ГҐГ°Г*ГЁГ«Г*ìè»,​

​ не ячейки -​​ отдельную строку записывать,​
​Текст 2​

planetaexcel.ru

Перенос строки в коде. Макросы

​Sub RemoveCarriageReturns() Dim​​Потребуется создать вспомогательный​
​ символом перевода строки.​ выполнять поиск фраз​ And sColor1 =​ » не найдена»​ делают код аккуратным​
​ так толком и​ а вы засунули​: Добавить новую строку?​ копировались на другие​Михаил Лебедев​ St = St​ ,»Г‘ГЇГ°Г*ГўГЄГ*») End Subтекс​ выходим​ а не в​Sanja​ MyRange As Range​ столбец и выполнить​Плюсы:​ и приводят к​ «синий») Or (index​ Else MsgBox «Строка​ и понятным.​ не освоил программирование,​ его внутрь цикла​End If aws.Rows(i).Delete​ листы в зависимости​: В Вашем примере​ + » капли​ в msgbox длинный​With Selection​ одну длинную. Public​: Function MergeIf(TextRange As​ Application.ScreenUpdating = False​ множество дополнительных шагов.​Этот способ самый​ беспорядку в столбце​ = 3 And​ » & sFindText​Самое важное для написания​ да и долгое​ ?????​ ws.Cells(Rows.Count, 1).End(xlUp).Offset(1) End​ от категории, например​ — абсурдное выражение​ чернил. Струйные принтеры​ и не помещается​For Each rCell​

​ Sub Delete_Privetik() Dim​​ Range, SearchRange As​ Application.Calculation = xlCalculationManual​
​Добавьте вспомогательный столбец в​ быстрый.​ при включении режима​ sColor1 = «зеленый»)​ & » найдена​

​ аккуратного и понятного​​ время занимался другим​Lofak​ If aws.Rows(i).Copy ws.Cells(Rows.Count,​ вносим мы в​ написано. И оно​

​ популярны из-за относительно​​ в одну строку,​ In .Cells​ b As Range,​

​ Range, Condition As​​ For Each MyRange​ конце данных. В​Минусы:​ переноса текста.​ Or (index =​ в ячейке A»​ кода – чаще​ делом, сейчас периодически​: К сожалению не​

​ 1).End(xlUp).Offset(1) End If:​​ таблицу тетрациклин, в​ не соответствует тому​

planetaexcel.ru

Символ переноса в VBA

​ невысокой цены. Существует​​ как разделить его​
​sMergeStr = sMergeStr​ c As Range,​
​ String) Dim i​
​ In ActiveSheet.UsedRange If​ нашем примере он​Никаких дополнительных плюшек​
​Все три представленных способа​ 4 And sColor1​
​ & iRowNumber End​ оставлять комментарии. Комментарии​
​ возникает такая необходимость,​ пойму, перед?​ Next​ разделе категория указываем​ вопросу, который Вы​
​ " & vbNewLine​
​ на 2 -​ & sDELIM &​
​ d As Range,​ As Long 'если​ 0 < InStr(MyRange,​ будет называться​
​Вот так можно удалить​
​ довольно быстры. Выбирайте​ = "коричневый") Then​ If End Sub​
​ – это строки​ пытаюсь что-то вспоминать,​
​For i =​
​Burk​ что он антибиотик,​ задаете.​ St = St​
​ 3 строки?​
​ rCell.Text 'собираем текст​

​ LastRow As Long,​ диапазоны проверки и​ Chr(10)) Then MyRange​
​1 line​ переносы строк при​ тот, который Вам​
​При помощи переносов строк​Не расстраивайтесь, если какую-то​

​ в коде, которые​​ а что-то осваивать​ aws.Cells(Rows.Count, j)​:​ следовательно вся строка​activecell.formulaR1C1 = «=if(vlookup…​

​ + «множество моделей​​gaw​ из ячеек​ r As Long​ склеивания не равны​ = Replace(MyRange, Chr(10),​

​.​​ помощи инструмента «​ больше подходит:​
​ тот же оператор​ часть кода, показанного​

​ исполняют роль заметок​​ заново. В любом​

excelworld.ru

Перенос длинных строк в редакторе кода

​Burk​​Lofak​ переносится на лист​ очень много всего»​ таких принтеров, включая​: Private Sub Command2_Click()​Next rCell​
​ On Error Resume​ друг другу -​ «») End If​В первой ячейке вспомогательного​Найти и заменить​Удаляем все переносы строк​If​ выше, не удалось​ и помогают разобраться,​ случае вам огромное​:​, ну, конечно, перед​ 2, в антибиотики.​ — речь идет​ модели, специально предназначенные​ a = MsgBox(«Струйные​Application.DisplayAlerts = False​ Next Set b​ выходим с ошибкой​ Next Application.ScreenUpdating =​ столбца (C2) введите​»:​ вручную, чтобы быстро​может быть записан​ понять – далее​ какие действия выполняет​ спасибо за помощь!​Lofak​

​ копированием поставить чистку.​​ Вносим витамин, переносится​ о СТРОКОВОМ ВЫРАЖЕНИИ,​ » & vbNewLine​ принтеры печатают текст​ ‘отключаем стандартное предупреждение​ = Range(«g2:g2500»).Cells Set​ If SearchRange.Count <>​ True Application.Calculation =​ формулу для удаления/замены​Выделите все ячейки, в​ навести порядок на​ вот так:​ в учебнике мы​ та или иная​Burk​, НУ ЭТО УЖ​ Только надо активировать​ на лист 3​ которое записывается в​ St = St​ и изображения, разбрызгивая​ о потере текста​ c = Range(«bi2:bi2500»).Cells​ TextRange.Count Then MergeIf​ xlCalculationAutomatic End Sub​ переносов строк. Ниже​ которых требуется удалить​ одном листе.​If (index =​ рассмотрим эту тему​

​ часть кода.​​:​ КУ-КУ. Перед это​ страницу , на​ витамины.​ активную ячейку.​ + «для печати​ на бумагу мелкие»​.Merge Across:=False ‘объединяем​ On Error GoTo​ = CVErr(xlErrRef) Exit​Если Вы не слишком​ приведены несколько полезных​ возвраты каретки или​Удаляем переносы строк при​ 1 And sColor1​ подробнее. Цель приведённого​Комментарии не участвуют в​Lofak​ не внутрь строки​ которую пойдёт запись,​Lofak​Строковое — т.к.​ цветных фотографий.» &​ & vbNewLine &​ ячейки​

​ 0 If b​​ Function End If​ близко знакомы с​ формул для различных​

​ заменить их другим​
​ помощи формул и​ = «красный») Or​ примера – продемонстрировать,​ процессе выполнения программы​, понял, обращайтесь.​ кода, а перед​ либо проще ws.rows.delete​: Пример таблицы во​ заключено в кавычки.​ vbNewLine & vbNewLine​ _ » капли​Application.DisplayAlerts = True​ Is Nothing Then​ For i =​ VBA, рекомендую изучить​ случаев:​ символом.​ настраиваем таким образом​ _ (index =​ как при помощи​ и не влияют​Новичек​ ней. Как мне​ ведь ws у​ вложениях​А в Вашем​ St = St​ чернил. Струйные принтеры​.Item(1).Value = Mid(sMergeStr,​ Exit Sub Else​ 1 To SearchRange.Cells.Count​ статью о том,​Эта формула подходит для​Нажмите​ комплексную обработку текстовых​ 2 And sColor1​

CyberForum.ru

Перенос формулы в VBA на новую строку

​ комментариев поясняется каждый​​ на результат работы​
​: MsgBox «Длинное предложение​ кажется, перенос осуществляется​ вас лист, в​
​Прошу по возможности​ модуле1 Вы пытаетесь​
​ + «Недостатки. В​ популярны из-за относительно​
​ 1 + Len(sDELIM))​
​ LastRow = b.Rows.Count​ If SearchRange.Cells(i) Like​ как вставить и​
​ использования с комбинациями​

​Ctrl+H​​ данных в ячейках.​ = «синий») Or​

​ блок кода.​​ макроса. Каждая строка,​ ……»​ не AWS а​ который идет перенос?​ помочь реализовать​ присвоить переменной типа​

​ большинстве случаев струйные​​ невысокой цены. Существует​ ‘добавляем к объед.ячейке​ LastRow = LastRow​ Condition Then If​ выполнить код VBA​ возврат каретки /​, чтобы вызвать диалоговое​Используем макрос VBA, чтобы​

​ _ (index =​​Часто программисты ленятся добавлять​ начинающаяся апострофом (‘),​Подскажите как осуществляется​ WS​ Ну и его​unick12345​ Variant не распознаваемый​ принтеры работают медленнее»​ » & vbNewLine​

​ суммарный текст​​ + b.Row -​ MergeIf <> Empty​ в Excel.​

​ перенос строки, характерными​​ окно​ очистить от переносов​ 3 And sColor1​ подробные комментарии к​ будет считаться в​ перенос текста на​
​WS.rows.delete For i​ надо поставить до​: переносится или копироваться?​ программой набор символов.​ & vbNewLine St​ & _ «множество​
​End With​ 1 Application.ScreenUpdating =​
​ Then MergeIf =​Урок подготовлен для Вас​ для Windows и​Найти и заменить​ строк несколько рабочих​
​ = «зеленый») Or​ своему коду, но,​ VBA комментарием. Редактор​:)
​ другую строку?​ = aws.Cells(Rows.Count, j).End(xlUp).Row​ цикла по I​Lofak​Я так подозреваю,​ = St +​ моделей таких принтеров,​End Sub​

​ False For r​​ MergeIf & TextRange.Cells(i)​ командой сайта office-guru.ru​ для UNIX.​(Find and Replace).​ книг.​ _ (index =​ поверьте, затраченные усилия​ VBA в Excel​Новичек​ To 2 Step​Lofak​: Копироваться​ в надежде на​ «(в страницах в​ включая модели, специально​А как сделать​ = LastRow To​

planetaexcel.ru

Перенос строки

​ & vbCrLf Else​​Источник: https://www.ablebits.com/office-addins-blog/2013/12/03/remove-carriage-returns-excel/​
​=ПОДСТАВИТЬ(ПОДСТАВИТЬ(B2;СИМВОЛ(13);»»);СИМВОЛ(10);»»)​Поставьте курсор в поле​Замечание:​ 4 And sColor1​ оправдают себя с​

​ выделит такую строку​​: MsgBox «Длинное предложение​ -1​

​: Вот так?​​Нашел скрипт, который​ чудо​
​ минуту), чем лазерные​ предназначенные » &​
​ чтобы место пробела​ b.Row Step -1​
​ MergeIf = TextRange.Cells(i)​Перевел: Антон Андронов​=SUBSTITUTE(SUBSTITUTE(B2,CHAR(13),»»),CHAR(10),»»)​

CyberForum.ru

Перенос строк с условием

​Найти​​Первоначально термины «Возврат​ = «коричневый») Then​ избытком! Несколько минут,​ зелёным цветом шрифта,​ ……»​Lofak​Sub Main() Dim​ выполняет необходимую мне​Лучше приложите пример,​ принтеры, и требуют​ vbNewLine & _​ в строке​ If Cells(r, b.Column).Value​ & vbCrLf End​Автор: Антон Андронов​Следующая формула подходит для​(Find what) и​ каретки» и «Перевод​Если рассмотренный оператор​

​ потраченных на написание​​ чтобы с первого​Подскажите как осуществляется​
​: Да, я так​ i As Long,​

​ функцию, но при​​ в котором Ваша​

​ регулярной замены картриджа​​ «для печати цветных​
​Const sDELIM As​ = «14» And​ If End If​excel_pl​ замены переноса строки​ нажмите​ строки» использовались при​If​
​ понятного комментария, могут​ взгляда было понятно,​ перенос текста на​ и имел ввиду,​ j As Integer,​ каждом запуске копирует​ формула внесена в​ с чернилами» a​ фотографий.» & vbNewLine​ String = «​ Cells(r, c.Column).Value =​ Next i End​: Код сцепляет столбец​ любым другим символом​Ctrl+J​ работе на печатных​разбит на четыре​ сэкономить Вам долгие​ что это комментарий,​ другую строку?​ но в таком​ ws As Worksheet,​ все строки, в​ ячейку, так будет​ = MsgBox(St, vbInformation​ & vbNewLine &​ » ‘символ-разделитель​ «15» Then Rows(r).Delete​ Function​ по критериюСкрытый текст​ (например, «, »​. На первый взгляд​ машинках и обозначали​ строки, то составляющие​
​ часы в будущем.​ который не будет​Лузер​ случае выпадает ошибка,​ aws As Worksheet,​ том числе те,​ проще понять, что​ + vbOKOnly, «Справка»)​ _ «Недостатки. В​

​вставлялся символ переноса​​ Next r End​

​Kuzmich​​ Option Compare Text​
​ – запятая +​ поле покажется пустым,​ две различных операции.​ его блоки c​Другой приём, делающий написанный​

​ выполняться.​​: Очевидно по размеру​​ что переменная не​​ x As Range​ которые уже скопировал​ это за формула​ End SubvbCrLf​ большинстве случаев струйные​ строки?​ If​: В ячейке включить​ Function MergeIf(TextRange As​ пробел). В таком​ но если посмотрите​ Любознательный читатель может​

​ условиями видны гораздо​​ код более читаемым​
​Ниже продемонстрировано, как при​ окна.​ задана:​ Set x =​ ранее​ и что она​Maksymromaniuk​ принтеры работают медленнее»​anvg​The_Prist​ перенос по словам​ Range, SearchRange As​ случае строки не​ внимательно, то увидите​ самостоятельно найти подробную​ более наглядно. Этот​ – правильно расставлять​ помощи комментариев поясняется​Можете сами переносить​Burk​ Rows(1).Find(«Садовник», , ,​Sub Main() Dim​ вычисляет.​: Добрый вечер!​ & vbNewLine &​: В Excel для​: А что, в​ Dim OutText As​ Range, Condition As​ будут объединены и​ в нём маленькую​ информацию об этом​ пример иллюстрирует, как​ отступы. В приведённом​

​ работа простой процедуры​​ на другую строку:​:​ xlWhole) If x​

​ i As Long,​​OSA913​​Вопрос, конечно, не​ _ «(в страницах​ Range можно использовать​
​ Яндексе забанили?​ String Delimeter =​ String) Dim Delimeter​ лишние пробелы не​ точку.​ в интернете.​ аккуратное оформление может​
​ выше примере видно,​​Sub​MsgBox «первая строка»​Lofak​ Is Nothing Then​ j As Integer,​

​: Так вопрос то​​ жизненно важный, но​ в минуту), чем​
​ 2 типа символа-переноса​If Cells(r, b.Column).Value​

​ Chr(10)​​ As String, i​​ появятся.​​В поле​Компьютеры и программное обеспечение​ сделать код более​ что отступ сделан​:​ & Chr(10) &​, я вам написал​ Exit Sub Else​
​ ws As Worksheet,​ был не об​ все-таки.​ лазерные принтеры, и​

​ строки vbLf и​​ = «14» And​excel_pl​ As Long Delimeter​=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(B2;СИМВОЛ(13);»»);СИМВОЛ(10);», «)​Заменить на​ для работы с​

​ читаемым и привести​​ для кода внутри​​’ процедура Sub​​ «вторая строка»​ ответ на вопрос​ j = x.Column​ aws As Worksheet,​ этом, а переносе​В VBA прописана​ требуют регулярной замены​ vbNewLine​
​ _ Cells(r, c.Column).Value​: А каких-нибудь спец.​ = «, «​=TRIM(SUBSTITUTE(SUBSTITUTE(B2,CHAR(13),»»),CHAR(10),», «)​(Replace With) введите​ текстами разрабатывались с​
​ в результате к​​ главной процедуры​​ для просмотра диапазона​​Новичек​ о чистке листа.​ Application.ScreenUpdating = False:​
​ x As Range​
​ строки. Но спасибо​
​ очень громоздкая формула,​ картриджа с чернилами»,​андрей​ = «15» Then​ символов вместо запятой​ ‘символы-разделители (можно заменить​А вот так можно​ любое значение для​

​ учётом особенностей печатных​​ меньшему количеству ошибок​Sub​

​ ячеек A1-A100 активного​​: Да, помогло. Спасибо.​​ В вашем коде​​ Set aws =​ Set x =​ за подсказку, формула​activecell.formulaR1C1 = «=if(vlookup…​

​ vbInformation + vbOKOnly,​​: Если vbLf или​ _ Rows(r).Delete​ для строчки «​ на пробел или​ удалить все непечатаемые​ вставки вместо возвратов​ машинок. Вот почему​ и путаницы.​и далее отступ​ ‘ листа и​Новичек​ до оператора чистки​ Sheets(«Общая база») For​

​ Rows(1).Find(«Садовник», , ,​​ в массиве вроде​​ очень много всего»​​ «Справка») End Sub​

CyberForum.ru

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

​ vbNewLine подставить в​​SuperCat​Delimeter = «, «​
​ ; и т.д.)​ символы из текста,​ каретки. Обычно для​

​ теперь для обозначения​​Урок подготовлен для Вас​ увеличивается для каждого​
​ поиска ячейки, содержащей​: Да, помогло. Спасибо.​ надо установить значение​

​ i = aws.Cells(Rows.Count,​​ xlWhole) If x​ правильно вычисляет но​
​ее неудобно читать​Казанский​
​ макрос. то эти​: If Cells(r, b.Column).Value​» нету?​

​ ‘если диапазоны проверки​​ включая переносы строк:​

​ этого используют пробел,​​ разрыва строки используют​

planetaexcel.ru

​ командой сайта office-guru.ru​

У меня есть такая сложность.
Есть колонка с названиями, некоторые из названий используют перенос строки в ячейке (Alt + enter).
Когда я запускаю свой макрос по поиску нужной мне колонки (а он ищет и сравнивает названия), пропускает то что должен был найти именно из-за перенесенной строки.

Я поковырялся, функция Trim не спала естественно, поискал еще, но найти ту которая бы убирала перенос строк не смог.
Может кто сможет подсказать? Спасибо!

У меня есть такая сложность.
Есть колонка с названиями, некоторые из названий используют перенос строки в ячейке (Alt + enter).
Когда я запускаю свой макрос по поиску нужной мне колонки (а он ищет и сравнивает названия), пропускает то что должен был найти именно из-за перенесенной строки.

Я поковырялся, функция Trim не спала естественно, поискал еще, но найти ту которая бы убирала перенос строк не смог.
Может кто сможет подсказать? Спасибо! lopuxi

О_о . и так можно было?

Сообщение Доброго дня.

У меня есть такая сложность.
Есть колонка с названиями, некоторые из названий используют перенос строки в ячейке (Alt + enter).
Когда я запускаю свой макрос по поиску нужной мне колонки (а он ищет и сравнивает названия), пропускает то что должен был найти именно из-за перенесенной строки.

Я поковырялся, функция Trim не спала естественно, поискал еще, но найти ту которая бы убирала перенос строк не смог.
Может кто сможет подсказать? Спасибо! Автор — lopuxi
Дата добавления — 03.06.2015 в 13:02

Источник

Как удалить разрывы строк в Excel (3 простых способа)

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

Разрыв строки — это то, что позволяет вам иметь несколько строк в одной ячейке в Excel.

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

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

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

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

Самый простой способ удалить разрывы строк вручную — использовать «Найти и заменить».

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

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

Ниже приведены инструкции по удалению разрывов строк с помощью функции «Найти и заменить» и замене их запятой:

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

Приведенные выше шаги удаляют все разрывы строк и заменяют их запятыми. Это даст вам результат в одной строке в ячейке Excel.

Если вы хотите удалить разрыв строки и заменить его чем-то другим вместо запятой, вам необходимо указать это на шаге 6 (в поле «Заменить на»).

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

Удаление разрывов строк с помощью формулы

Еще один способ избавиться от разрывов строк в Excel — использовать формулу. Хотя метод «Найти и заменить» дает статические результаты, формула выдаст результаты, которые будут автоматически обновляться, если вы внесете какие-либо изменения в исходный набор данных.

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

Ниже приведена формула, которая сделает это:
= ПОДСТАВИТЬ (A2; СИМВОЛ (10); «»)
Функция SUBSTITUTE находит и заменяет символ CHAR (10), который представляет символ перевода строки. Таким образом, приведенная выше формула находит все разрывы строк и заменяет их пробелами, что по сути означает, что эти разрывы строк были удалены.

Если вы хотите, чтобы результат был разделен запятой (или любым другим символом), вы можете использовать следующую формулу:
= ПОДСТАВИТЬ (A2; СИМВОЛ (10); «;»)

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

Удаление разрывов строк с помощью VBA

Если вам удобно использовать VBA, это может быть самым быстрым способом избавиться от разрывов строк в Excel.

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

Ниже приведен код VBA, который будет проходить через каждую ячейку в
Sub RemoveLineBreaks () для каждой ячейки в выделении Cell.Value = Replace (Cell.Value, Chr (10), «,») Next End Sub
В приведенном выше коде используется функция REPLACE в VBA для замены всех символов разрыва строки в ячейке запятой, за которой следует символ пробела.

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

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

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

Разрыв строки Vs. Возврат каретки

Между разрывом строки в Excel и возвратом каретки есть небольшая разница.

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

В большинстве случаев, когда вы видите разрыв строки в Excel, в нем есть возврат каретки.

Кроме того, когда вы используете ALT Enter для вставки разрыва строки в Excel, он вставляет только перевод строки, но не возврат каретки.

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

Код возврата каретки в формате ASCII — 13 (CR, код ASCII 13), и вы можете найти и заменить его с помощью формул.

Вы можете узнать больше о разнице между переводом строки и возвратом каретки здесь.

Источник

Adblock
detector

Эта инструкция познакомит Вас с тремя способами удалить возвраты каретки из ячеек в Excel. Вы также узнаете, как заменить символы переноса строки другими символами. Все предложенные решения работают в Excel 2013, 2010, 2007 и 2003.

Удаляем переносы строк в Excel

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

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

Все три представленных способа довольно быстры. Выбирайте тот, который Вам больше подходит:

  • Удаляем все переносы строк вручную, чтобы быстро навести порядок на одном листе.
  • Удаляем переносы строк при помощи формул и настраиваем таким образом комплексную обработку текстовых данных в ячейках.
  • Используем макрос VBA, чтобы очистить от переносов строк несколько рабочих книг.

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

Компьютеры и программное обеспечение для работы с текстами разрабатывались с учётом особенностей печатных машинок. Вот почему теперь для обозначения разрыва строки используют два различных непечатаемых символа: Возврат каретки (Carriage return, CR или ASCII код 13) и Перевод строки (Line feed, LF или ASCII код 10). В Windows используются оба символа вместе, а в системах *NIX применяется только перевод строки.

Будьте внимательны: В Excel встречаются оба варианта. При импорте из файлов .txt или .csv данные обычно содержат возвраты каретки и переводы строки. Когда перенос строки вводится вручную нажатием Alt+Enter, Excel вставляет только символ перевода строки. Если же файл .csv получен от поклонника Linux, Unix или другой подобной системы, то готовьтесь к встрече только с символом перевода строки.

Содержание

  1. Удаляем возвраты каретки вручную
  2. Удаляем переносы строк при помощи формул Excel
  3. Удаляем переносы строк при помощи макроса VBA

Удаляем возвраты каретки вручную

Плюсы: Этот способ самый быстрый.

Минусы: Никаких дополнительных плюшек 🙁

Вот так можно удалить переносы строк при помощи инструмента «Найти и заменить»:

  1. Выделите все ячейки, в которых требуется удалить возвраты каретки или заменить их другим символом.Удаляем переносы строк в Excel
  2. Нажмите Ctrl+H, чтобы вызвать диалоговое окно Найти и заменить (Find and Replace).
  3. Поставьте курсор в поле Найти (Find what) и нажмите Ctrl+J. На первый взгляд поле покажется пустым, но если посмотрите внимательно, то увидите в нём маленькую точку.
  4. В поле Заменить на (Replace With) введите любое значение для вставки вместо возвратов каретки. Обычно для этого используют пробел, чтобы избежать случайного склеивания двух соседних слов. Если нужно просто удалить переносы строк, оставьте поле Заменить на (Replace With) пустым.Удаляем переносы строк в Excel
  5. Нажмите кнопку Заменить все (Replace All) и наслаждайтесь результатом!Удаляем переносы строк в Excel

Удаляем переносы строк при помощи формул Excel

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

В некоторых случаях переносы строк необходимо удалять, чтобы в дальнейшем использовать текст в качестве аргументов функций, не внося изменения в исходные ячейки. Результат можно использовать, например, как аргумент функции ПРОСМОТР (LOOKUP).

Минусы: Потребуется создать вспомогательный столбец и выполнить множество дополнительных шагов.

  1. Добавьте вспомогательный столбец в конце данных. В нашем примере он будет называться 1 line.
  2. В первой ячейке вспомогательного столбца (C2) введите формулу для удаления/замены переносов строк. Ниже приведены несколько полезных формул для различных случаев:
    • Эта формула подходит для использования с комбинациями возврат каретки / перенос строки, характерными для Windows и для UNIX.

      =ПОДСТАВИТЬ(ПОДСТАВИТЬ(B2;СИМВОЛ(13);"");СИМВОЛ(10);"")
      =SUBSTITUTE(SUBSTITUTE(B2,CHAR(13),""),CHAR(10),"")

    • Следующая формула подходит для замены переноса строки любым другим символом (например, «, » – запятая + пробел). В таком случае строки не будут объединены и лишние пробелы не появятся.

      =СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(B2;СИМВОЛ(13);"");СИМВОЛ(10);", ")
      =TRIM(SUBSTITUTE(SUBSTITUTE(B2,CHAR(13),""),CHAR(10),", ")

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

      =ПЕЧСИМВ(B2)
      =CLEAN(B2)

    Удаляем переносы строк в Excel

  3. Скопируйте формулу во все ячейки столбца.
  4. По желанию, можете заменить исходный столбец новым, с удалёнными переносами строк:
    • Выделите все ячейки в столбце C и нажатием Ctrl+C скопируйте данные в буфер обмена.
    • Далее выделите ячейку B2, нажмите сочетание клавиш Shift+F10 и выберите Вставить (Insert).
    • Удалите вспомогательный столбец.

Удаляем переносы строк при помощи макроса VBA

Плюсы: Создаём один раз – используем снова и снова с любой рабочей книгой.

Минусы: Требуется хотя бы базовое знание VBA.

Макрос VBA из следующего примера удаляет возвраты каретки из всех ячеек на активном листе.

Sub RemoveCarriageReturns()
    Dim MyRange As Range
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
 
    For Each MyRange In ActiveSheet.UsedRange
        If 0 < InStr(MyRange, Chr(10)) Then
            MyRange = Replace(MyRange, Chr(10), "")
        End If
    Next
 
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
End Sub

Если Вы не слишком близко знакомы с VBA, рекомендую изучить статью о том, как вставить и выполнить код VBA в Excel.

Оцените качество статьи. Нам важно ваше мнение:

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