Страницы: 1 2 След.
RSS
Как удалить значки переноса в ячейке
 
Добрый день. Возник вопрос - есть большая таблица в кучей данных.  В некоторых ячейках текст представлен в виде нескольких строк, как если бы его вводили вручную через Alt+Enter. Подскажите, как убрать эти знаки переноса, либо заменить их на пробелы?  
Ячейки заранее неизвестны. Я бы через Заменить сделала, но не знаю, как в экселе обозначить знак переноса.  
 
Переносить в Ворд, чистить там, а потом обратно в Эксель - не вариант.  
Спасибо.
 
{quote}{login=Светлана В}{date=05.08.2010 02:13}{thema=Как удалить значки переноса в ячейке}{post}...как если бы его вводили вручную через Alt+Enter...{/post}{/quote}  
А точнее? Вариантов море: найти-заменить, подставить (знать код знака), удалить ненужное - печсимв, сжать пробелы, trim и т.п.  
Z.
 
Не уверен за правильность ответа, но можно попробовать знак переноса (абзаца) скопировать в поле "Заменить:", а в поле "Заменть на:" ставим пробел или оставлеям пусто.
 
Попробовать-то можно, но как именно выглядит этот знак? Пробовала из форда вставлять - не понимает его эксель.  
Короче, не стала мучаться, быстренько сделала коротенький макрос  
 
Sub Удалить_переносы()  
 
   Cells.Replace What:=Chr(10), Replacement:="", LookAt:=xlPart, SearchOrder _  
       :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False  
End Sub
 
Цитата: "Пробовала из форда вставлять - не понимает его эксель". А если наоборот: берем в XL, вставляем в Word, выделяем, жмем (если не ошибся) "Alt+X" - получаем код. Далее в XL, к примеру, "=СИМВОЛ(160)"...  
Z.
 
{quote}{login=The_Prist}{date=05.08.2010 02:41}{thema=Re: Re: Re: Как удалить значки переноса в ячейке}{post}Не знаю Вы ли задавали вопрос, но ответил здесь:  
http://excel-vba.ru/forum/viewtopic.php?t=377{/post}{/quote}  
Вы не поверите, но это была не я)))))  
Но спасибо, этот способ намного удобнее, чем мой кривенький макрос)
 
Как вариант формула =ПЕЧСИМВ() далее по потребностям....
 
было бы пару столбцов в иходнике - без вопросов))) но в данном случае строк и столбцов - куча))) данные идут с разных регионов, каждые в меру способностей изгаляются с форматированием)
 
абзац СИМВОЛ(182)  
мягкий перенос СИМВОЛ(172)  
неразрывный пробел СИМВОЛ(160)  
Наверное, их надо найти и заменить на пробел СИМВОЛ(32)
 
{quote}{login=Светлана В}{date=06.08.2010 10:57}{thema=Re: }{post}... но в данном случае строк и столбцов - куча))) данные идут с разных регионов, каждые в меру способностей изгаляются с форматированием){/post}{/quote}  
Не надо жалеть места на диске - всегда в таких случаях пресоздаю файл на основе таких опусов. За одно избавляюсь от кучи сопутствующих проблем...
 
Супер !!!! Макрос работает. 5 сек и все готово
 
как приятно, когда мои кривоватые куски кода кому-то помогают))
 
Может кому-нибудь пригодится и вариант без макроса: чтобы после Ctrl-F ввести в поле "Найти" знак перевода строки, нужно нажать Ctrl-J  
Остается только очистить поле "Заменить на" и нажать кнопку "Заменить все".
 
Наверное, "очепятка" - не Ctrl+J, а Ctrl+H ? Или я чего-то не знаю?
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
Алексей, Ctrl-J нажимать, когда курсор находится в поле "Найти".
 
Я уж и левый Ctrl+J и правый, а всё бестолку... Данные не найдены. Хотя я сам вводил перенос строки в ячейку...  
А это точно под 2003-им работает?
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
Леш, у меня работает(2003). И в 2007 тоже. Срабатывает даже с vbcrlf, только vbcr оставляет.
Я сам - дурнее всякого примера! ...
 
Владимир,  
спасибо! Я смутно помнил, что как-то вводил перевод строки в поле поиска еще в Excel 5 (под Win 3.11), но забыл как.  
 
Алексей,  
в 2007 и в 2000 работает. Попробуй ввести а<Ctrl+J>б (буква перед и буква после), чтобы нагляднее было.
 
{quote}{login=Казанский}{date=14.04.2011 10:52}{thema=}{post}Владимир,  
спасибо! Я смутно помнил, что как-то вводил перевод строки в поле поиска еще в Excel 5 (под Win 3.11), но забыл как{/post}{/quote}  
Алексей (Казанский), а я тогда этого не знал, и вообще Excel стал воспринимать только с 8-й версии, до него мне больше нравился пакет Framework-IV со вcтроенным языком программирования Fred и возможностью подключения скомпилированных ассемблерных и С-кодов.  
 
Возможной причиной неработы Ctrl-J  у Алексея (Alex_ST) может быть, например, какая-нибудь утилита автоматического переключения раскладки клавиатуры.  
 
Вставка символа перевода строки по Ctrl-J полезна не только в поиске-замене, но и в пользовательском формате. Приложил пример, когда в ячейке нужно хранить дробное число, но отображать только целые с отброшенной дробной частью, т.е. без округления.
 
а как в формулу вставить знак абзаца, допустим в формулу СЦЕПИТЬ()?  
точнее не знак, а сам абзац, чтобы тескт с абзаца начинался
 
=СЦЕПИТЬ(СИМВОЛ(10);"текст")  
или  
=СИМВОЛ(10)&"текст"  
 
В формате ячейки надо включить "переносить по словам".
 
сочетание Alt+Enter создает новую строку в ячейке. Это равнозначно вставке СИМВОЛ(10)
 
Всех с наступающим!  
немножко реанимирую тему.  
 
Sub Удалить_переносы()  
 
   Cells.Replace What:=Chr(10), Replacement:="", LookAt:=xlPart, SearchOrder _  
       :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False  
End Sub{/post}{/quote}  
 
макрос отлично работает, есть одно небольшое НО! он не сохраняет пробел..  
Иванов  
Иван Иванович  
 
получается  
 
ИвановИван Иванович...    
есть рецепт? заранее спасибо!
 
Макрос не не сохраняет пробел... а его там в принципе не бывает.  
Ну вот как в ворде печатают  
Иванов(энтер)Иван Иванович, то есть по факту там пробела и нет.  
Тогда наверное нужна просто замена знака переноса строки на пробел, а потом trim чтобы удалить второй лишний пробел...
 
сам спросил сам решил;)
 
Можно узнать решение? Тоже нужно
 
Видимо, заменить Ctrl+J на пробел, или  
 
...  
Cells.Replace What:=Chr(10), Replacement:=" " ...  
...
 
{quote}{login=Д_Р}{date=23.12.2011 01:39}{thema=немного уточню}{post}нужна просто замена знака переноса строки на пробел, а потом trim чтобы удалить второй лишний пробел...{/post}{/quote}  
fly1, Вы это видели?
 
Вообще эта моя первая проба общения с макросами.  
Создал в VBA такую запись:  
 
Cells.Replace What:=Chr(10), Replacement:="", LookAt:=xlPart, SearchOrder _  
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False  
End Sub  
Cells.Replace What:=Chr(10), Replacement:=" "  
 
В результате идёт ошибка:  
Compile  error:  
Invalid outside procedure  
 
В справке пока ответа не нашёл. В любом случае, всем спасибо за подсказку.
 
У меня работает так  
 
Sub test()  
   Cells.Replace What:=Chr(10), Replacement:="", LookAt:=xlPart  
End Sub
Страницы: 1 2 След.
Читают тему
Наверх