Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

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
Репутация: 10
По умолчанию

А почему вот это
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,162
Репутация: 1127
По умолчанию

У меня в 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,202
Репутация: 1877

icq: 7934250
skype: i2x0,5
По умолчанию

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

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

icq: 479991875
По умолчанию как убрать

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

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

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

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

icq: 479991875
По умолчанию

Цитата:
Сообщение от 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, 15:03   #9
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Адрес: Россия, Урал
Сообщений: 6,840
Репутация: 1286

skype: ExcelVBA.ru
По умолчанию

Попробуйте такой вариант:
Код:
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, 11:03   #10
Old_Man_nsk
Пользователь
 
Аватар для Old_Man_nsk
 
Регистрация: 09.03.2009
Адрес: Новосибирск
Сообщений: 13
Репутация: 10

icq: 479991875
По умолчанию

Цитата:
Сообщение от 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 вне форума  
Закрытая тема

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


10:11.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.