Страницы: 1
RSS
Удаление лишних пробелов в конце ячейки
 
Добрый день уважаемые форумчане!
Нет пока понимания в голове, как удалить пробелы в конце ячейки.
Есть в столбце В много значений, у которых 1 или 2 пробела после текста, например "ИНДИЙСКИЙ ОКЕАН ИЮЛЬ " "ИНДИЙСКИЙ ОКЕАН ИЮЛЬ  "
Можно как то макросом от них избавиться?
Заранее большое спасибо всем откликнувшимся!
 
Trim?  
 
Видимо да. Попробовал =СЖПРОБЕЛЫ
Помогло, но думал чтобы формулы не плодить, попробовать использовать макрос
 
Так я как раз про макрос))
 
Код
Cells(1, 1) = Trim(" Мой Текст   ")
 
Для выделения (выделяете диапазон, запускаете макрос)
Код
Sub t()
Dim objC as Range
For each objC in Selection
objC=Trim(objC)
Next
End Sub
Кому решение нужно - тот пример и рисует.
 
Как быть если "мой текст" неизвестен заранее? Текста порядка 50000 строк и около 2900 строк уникальных в которых вконце стоят пробелы.
 
Цитата
Владислав написал:
Как быть если "мой текст" неизвестен заранее?
Ячейка ведь известна? )) Trim(Ячейка)
 
Известен только столбец В. В какой ячейке пробелы на глаз не видно.
 
Чтобы убрать только справа есть в VBA функция:
RTrim
убирает пробелы только справа.

Если надо во всем диапазоне убрать пробелы, то можно так:
Код
Range("B1:B5").Value = Application.Trim(Range("A1:A5").Value)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Не понимаю, в чём проблема: пробежались по столбцу и применили к каждой ячейке. Если строк ОЧЕНЬ много - забираем их в массив, цикл по массиву и обратная выгрузка на лист.
Код
Sub TestTrim()
Dim i As Long
    For i = 2 To 1000
        Cells(i, 2) = Trim(Cells(i, 2))
    Next
End Sub
 
Юрий, спасибо огромное! Ваш код отлично работает!
 
А мой нет? Мой вроде как побыстрее должен быть....
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
У тебя диапазон маленький - всего пять ячеек ))
 
Prist, Ваш код работает отлично! Но почему-то удаляет в тексте двойные пробелы. Может можно Ваш код оптимизировать под удаления пробелов вначале и в конце ячейки?
 
Цитата
Владислав написал: оптимизировать под удаления пробелов вначале и в конце ячйки?
Так ведь Дмитрий писал:
Цитата
The_Prist написал: RTrim убирает пробелы только справа.
 
Видимо с синтаксисом у меня совсем все плохо...
Написал
Код
Range("B1:B2500").Value = Application.RTrim(Range("B1:B2500").Value)
Не работает, выдает 438 ошибку
 
Владислав, application не знает кто такой rtrim. (проверьте, alt+F11, ctrl+g, наберите (без кавычек) "application." и в выпавшем списке Вы не найдёте rtrim.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Цитата
Владислав написал:...Может можно Ваш код оптимизировать под удаления пробелов вначале и в конце ячейки?..
Логика, однако - если нельзя убирать двойные пробелы ВНУТРИ (TRIM) то, наверное надо применить RTRIM + LTRIM... ;)
ps Вообще-то это из ряда вон - оставлять двойные и более пробелы - в чем ЦЕЛЕСООБРАЗНОСТЬ?!
Изменено: Z - 22.07.2015 14:09:36
"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)
 
Целесообразность в том, что у меня к этой строке цепляется расширение файла. Если получится ИНДИЙСКИЙ ОКЕАН ИЮЛЬ .avi то ссылка в расписании будет битая... Также нельзя внутри строки тоже нельзя убирать символы- ссылка будет битая.
Код Юрия на 2209 строк работал 1 мин 47 сек, видимо потому, что в программе есть еще много кода.
Удалось сократить это время до 1-2 секунд, отключив обновление экрана.
Итоговый код:
Код
Application.ScreenUpdating = False
Dim x As Long
For x = 2 To 3000
Cells(x, 2) = Trim(Cells(x, 2))
Next
Изменено: Владислав - 22.07.2015 14:14:22
 
Итак. application.trim - это СЖПРОБЕЛЫ. Т.е. да, убирает двойные пробелы внутри строки и так же убирает пробелы в начале и в конце строки.
Trim - обрезает пробелы в начале и в конце строки.
RTrim -  обрезает пробелы только в конце строки.

Если судить по Вашему описанию - то нужен как раз именно RTrim, т.к. не убирает пробелы в начале строки. Или же Ваше описание хромает...
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1
Читают тему
Наверх