Страницы: 1
RSS
Как заменить перенос строки на пробел?
 
В одной колонке применены переносы строки.    
Вот как бы так жахнуть, чтобы они поменялись на пробелы?  
ПЛЗ!!!
 
Sub Repl()  
   Dim i&, rR As Range  
   For i = 1 To Cells(Rows.Count, 5).End(xlUp).Row  
   Set rR = Range("E" & i)  
       rR.Value = Replace(rR.Cells, Chr(10), " ")  
   Next  
End Sub
Киса, я хочу Вас спросить, как художник — художника: Вы рисовать умеете?
 
Уже была такая тема.  
Через пункт "Найти-заменить"  
В поле "найти" Ctrl+J  
В поле "заменить" пробел
 
Вы правы, я нашел и применил. Однако, перенос заменяется большим количеством пробелов, в итоге в ячейку текст не влезает. Сама ячейка не раздвигается на ширину достаточную, чтобы получилась одна строка. Таким образом перенос остается и при сохранении в текстовом формате с разделителем табуляции, формируется несколько строк. Это засада!!!  
Мне нужно добиться, чтобы 1 строка excel = 1 строке txt и не иначе.
 
{quote}{login=LightZ}{date=17.04.2012 10:24}{thema=}{post}{/post}{/quote}  
Наверняка Вы посоветовали что-то дельное, только то, что вы написали для меня китайская грамота. Я специалист в другой области и в excel на уровне рядового юзера.  
Не сочтите за наглость, покажите в виде готового файла пожалуйста.
 
можел лучше применить =ПЕЧСИМВ(C1) написать формулу для всех значений в ячейках  
она удаляет непечатнве символы
 
Сейчас попробую.
 
При всех попытках, получается такая штука из 7-ми строк.  
Неуж-то гастарбайтеров нанимать, чтобы ручками все это одной строкой печатали...  
 
Авт. выкл.ВА47-29 1Р 40А 4,5кА х-ка С ИЭК 0 0 MVA20-1-040-C "Артикул -MVA20-1-040-C                                  
Номинальный ток - 40А                                          
Количество полюсов - 1                                    
Предельная Коммутационная способность - 4,5кА    
Тип Электромагнитной защиты - C                                
Количество штук в упаковке - 12              
Автоматический выключатель служит для защиты электрических цепей от перегрузки, сверхтоков (короткого замыкания)  и для оперативной коммутации отдельных участков цепи. " Артикул -MVA20-1-040-C                               Номинальный ток - 40А                                        Количество полюсов - 1                                  Предельная Коммутационная способность - 4,5кА Тип Электромагнитной защиты - C                             Количество штук в упаковке - 12            Автоматический выключатель служит для защиты электрических цепей от перегрузки, сверхтоков (короткого замыкания)  и для оперативной коммутации отдельных участков цепи.
 
{quote}{login=hop}{date=18.04.2012 10:07}{thema=Re: }{post}Наверняка Вы посоветовали что-то дельное, только то, что вы написали для меня китайская грамота. Я специалист в другой области и в excel на уровне рядового юзера.  
Не сочтите за наглость, покажите в виде готового файла пожалуйста.{/post}{/quote}  
Создайте или сохраните файл в формате xls или xlsm, включите макросы (Параметры Excel > безопасность... http://office.microsoft.com/ru-ru/excel-help/HA001118990.aspx)  
нажите Alt+F11 > откроется окошко с проектом, добавьте модуль, в к-й вставьте код, к-й Вам написали.  
 
или... во вкладке Разработчик (если еxcel 2007 или новее) макрорекордером запишите макрос (любой), а потом полностью замените его код на тот, что Вам прислали.  
 
После этого достаточно будет выделить диапазон и вызвать запустить макрос. и во всем диапазоне пропадут переносы строки.  
 
зы учиться никогда не поздно
 
АГА!!! решение хоть и кривенькое но найдено.  
Сначала, заменил переносы пробелами, потом взял предложенное здесь -  http://www.planetaexcel.ru/docs/forum_upload/post_230407.zip    
и удалил лишние пробелы. Все случилось как и мечтал!!! Пора ставить более высокие цели.  
Может как-то можно эти действия объединить и применить к отдельно взятой колонке?  
Так, например, у меня может оказаться таблица из 30 колонок. И лишь в одной из них предмет моих мучений. И вот тогда, я где ни будь показываю название этой злобной колонки, и свершилось чудо! Результат на весь документ.  
 
Уважаемые гуру, снизойдите до милости облегчить мою участь.
 
Sub Repl()  
   Dim i&, rR As Range  
   For i = 1 To Cells(Rows.Count, 5).End(xlUp).Row  
       Set rR = Range("E" & i)  
       rR.Value = Application.Trim(Replace(rR.Cells, Chr(10), " "))  
   Next  
End Sub  
 
Ps. Там где стоит 5 - это номер столбца, там где стоит "Е" - это буква столбца.  
Просто замените на нужный Вам столбец.
Киса, я хочу Вас спросить, как художник — художника: Вы рисовать умеете?
 
Что-то я эту штуку в разные места потыкал-потыкал, так ни разу ничего не случилось:(
 
Можно с помощью фукции:    
=ПОДСТАВИТЬ(A1;"  
";" ")  
 
См. приложение.
 
Там кажется какой-то хитрый знак стоит, разбираться не досуг.    
Однако делаю так:  
сперва прогоняю =ПЕЧСИМВ(С1) сохраняю только значения  
потом (Ctrl+H)меняю кучу пробелов одним.  
Пробовал вторым действием делать =ПОДСТАВИТЬ(B2;" ";)но тогда полностью удаляются пробелы.  
А ваш вариант не срабатывает почему-то.
 
Это не хитрый знак, а знак переноса текста (Alt+Enter).
 
А ещё есть такая функция =СЖПРОБЕЛЫ(), которая убирает лишние пробелы.
 
См. приложение
 
Что у Вас именно не получается? Вставить код или воспроизвести его?  
Добавил Вам его во вложение.
Киса, я хочу Вас спросить, как художник — художника: Вы рисовать умеете?
 
Круть!!! И то и другое!!!  
Спасибо господа, избавили меня от садо-мазо!!!
 
А подскажите пожалуйста еще такую штуку:  
вот если мне сильно хочется знаки переносов и лишних пробелов, заменить на хтмл тег br/, можно ли его в этой формуле =СЖПРОБЕЛЫ(ПОДСТАВИТЬ(E1;"  
";" ")) куда нибудь подсунуть?
 
=ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A1);"  
";"br/")
Страницы: 1
Читают тему
Наверх