Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 30.10.2006, 19:04   #1
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию убрать пробелы

Faceless
Подскажите пожалуйста, как убрать пробелы в строчке Excel? Например:

шла саша по шоссе

а надо чтобы было

шласашапошоссе

Все написано в одной ячейке.

Noor
все очень просто....
----------------------------------------------------------------
Sub Замена()

ActiveCell.Select
Cells.Replace What:=" ", Replacement:="", LookAt:=xlPart, SearchOrder:= _
xlByRows, MatchCase:=False
End Sub
---------------------------------------------------------------
добавляешь на панель кнопку и прописываешь в ней выполнение макрома (ЗАМЕНА). Работать будет в этом документе где создал.
Если нужно что бы работало во всех открываемых документах, то сохраняешь как (надстройку) и пихаешь в папку
C:\Program Files\Microsoft Office\Office\XLStart\
zetrix вне форума
Старый 18.04.2008, 13:14   #2
Shavminator
Пользователь Подтвердите свой е-майл
 
Регистрация: 03.12.2007
Сообщений: 49
По умолчанию

А почему вот это
Sub Замена()
ActiveCell.Select
Cells.Replace What:=" ", Replacement:="", LookAt:=xlPart, SearchOrder:= _
xlByRows, MatchCase:=False
End Sub
неработает в offiсe 2007?
в offiсe 2003 работает отлично
может я что нибудь сделал не так?
Shavminator вне форума
Старый 18.04.2008, 13:34   #3
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

У меня в Excel 2007 Portable - работает нормально.
Если угодно, попробуйте так:
Код:
a = Split(Application.Trim(ActiveCell), " ")
    For Each x In a
        MyString = MyString & x
    Next
    ActiveCell = MyString
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 18.04.2008, 14:11   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

ПОДСТАВИТЬ(текст;стар_текст;нов_тек ст;номер_вхождения)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 18.04.2008, 14:31   #5
Shavminator
Пользователь Подтвердите свой е-майл
 
Регистрация: 03.12.2007
Сообщений: 49
По умолчанию

Получилось
Огромное всем спасибо
Shavminator вне форума
Старый 09.03.2009, 09:38   #6
Old_Man_nsk
Пользователь
 
Аватар для Old_Man_nsk
 
Регистрация: 09.03.2009
Сообщений: 13
По умолчанию как убрать

как убрать лишние переводы строки в ячейке, бывают по 2 -5 штук, в зависимости от пользователя, или просто любой символ из предварительно заготовленной таблицы
Пусть Вас преследует удача!
Old_Man_nsk вне форума
Старый 09.03.2009, 09:58   #7
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Попробуйте выделить требуемый диапазон и выполнить макрос:
Код:
Sub Замена()

    For Each x In Array(Chr(10), Chr(13))
        Selection.Replace What:=x, Replacement:="", LookAt:=xlPart
    Next

End Sub
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 09.03.2009, 13:42   #8
Old_Man_nsk
Пользователь
 
Аватар для Old_Man_nsk
 
Регистрация: 09.03.2009
Сообщений: 13
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Попробуйте выделить требуемый диапазон и выполнить макрос:
Код:
Sub Замена()

    For Each x In Array(Chr(10), Chr(13))
        Selection.Replace What:=x, Replacement:="", LookAt:=xlPart
    Next

End Sub
спасибо, вроде понятно

Можно еще, оне выдают вот такое в ячейке, например: в 1 й строке 3 перевода (два лишних), далее 2 перевода (один лишний), могут и пробел вставить...

Омская гуманитарная академия


Адрес: Челюскинцев 4-я,*2а

Тел./факс: 28−47−42
и т.д.
Пусть Вас преследует удача!
Old_Man_nsk вне форума
Старый 09.03.2009, 14:03   #9
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Попробуйте такой вариант:
Код:
Sub Замена()
    Dim cell As Range
    For Each cell In Selection.Cells
        While InStr(1, cell, " " & vbLf) > 0:  cell = Replace(cell, " " & vbLf, vbLf): Wend
        While InStr(1, cell, vbLf & " ") > 0:  cell = Replace(cell, vbLf & " ", vbLf): Wend
        While InStr(1, cell, vbLf & vbLf) > 0:  cell = Replace(cell, vbLf & vbLf, vbLf): Wend
    Next cell
End Sub
EducatedFool вне форума
Старый 10.03.2009, 10:03   #10
Old_Man_nsk
Пользователь
 
Аватар для Old_Man_nsk
 
Регистрация: 09.03.2009
Сообщений: 13
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Попробуйте такой вариант:
Код:
Sub Замена()
    Dim cell As Range
    For Each cell In Selection.Cells
        While InStr(1, cell, " " & vbLf) > 0:  cell = Replace(cell, " " & vbLf, vbLf): Wend
        While InStr(1, cell, vbLf & " ") > 0:  cell = Replace(cell, vbLf & " ", vbLf): Wend
        While InStr(1, cell, vbLf & vbLf) > 0:  cell = Replace(cell, vbLf & vbLf, vbLf): Wend
    Next cell
End Sub
Спасибо, попробую
Пусть Вас преследует удача!
Old_Man_nsk вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как убрать пробелы в числах!! vavany22 Microsoft Office Excel 27 11.11.2008 11:23
TField строковое поле усекается(хвостовые пробелы) lis_abu БД в Delphi 2 06.12.2007 08:30
Помогите решить. Паскаль. Работа со строками. Удалить лишние пробелы. Комильфо Помощь студентам 3 10.11.2007 21:42
удалить лишние пробелы со строки так чтобы между символами осталось по одному пробелу c++ DimaG Общие вопросы C/C++ 1 01.11.2007 21:50
Правка-Найти пробелы ZORRO2005 Microsoft Office Excel 2 06.10.2007 01:47