убрать пробелы

Программирование на Visual Basic for Applications
kminas
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 31.10.2005 (Пн) 20:17
Откуда: Ростов-на-Дону

убрать пробелы

Сообщение kminas » 21.02.2008 (Чт) 15:53

Можно ли убрать лишние пробелы в строке между словами? (Trim не подходит)
Константин

Димитрий
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 194
Зарегистрирован: 26.01.2005 (Ср) 22:47
Откуда: Волгоград

Сообщение Димитрий » 21.02.2008 (Чт) 17:53

Воспользуйся WorksheetFunction.Trim

kminas
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 31.10.2005 (Пн) 20:17
Откуда: Ростов-на-Дону

Сообщение kminas » 21.02.2008 (Чт) 19:38

Спасибо, правда, насколько я понял это Excel? Я не уточнил. Вопрос касается InputBox. Надо, чтобы в введенном юзером тексте между словами было не более одного пробела (я конечно имею ввиду в переменной), либо, возможно, есть возможность вообще игнорировать пробелы. Пока, к сожалению, я такого не нашел!
Константин

HandKot
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 283
Зарегистрирован: 28.06.2006 (Ср) 13:34
Откуда: Sergiev Posad

Сообщение HandKot » 22.02.2008 (Пт) 8:38

в InputBox наверное не получится, а вот после ввода можно сделать преобразование

оставляет по одному пробелу между словами
Код: Выделить всё
MyString = replace(replace(replace(MyString, " ", "@ "), " @", ""), "@", "")


разумеется символ @ можно заменить другим, который точно не будет присутствовать в тексте

я думаю, принцип должен быть понятен и код можно модифицировать, чтобы оставалось два, три и т.д пробелов или нужных символов
I Have Nine Lives You Have One Only
THINK!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 22.02.2008 (Пт) 8:54

Код: Выделить всё
Dim L As Long, S As String
S = ...
Do Until L = Len(S)
  L = Len(S)
  S = Replace$(S, "**", "*")
Loop
Lasciate ogni speranza, voi ch'entrate.

Димитрий
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 194
Зарегистрирован: 26.01.2005 (Ср) 22:47
Откуда: Волгоград

Сообщение Димитрий » 22.02.2008 (Пт) 16:32

Если работаешь в неExcel, то ответ на http://forum.vingrad.ru/forum/s/beb2fe4eaa6cc60d9baaec4ee33c88cc/topic-197348.html

kminas
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 31.10.2005 (Пн) 20:17
Откуда: Ростов-на-Дону

Сообщение kminas » 22.02.2008 (Пт) 20:37

Спасибо всем!
Константин

Calvin
Постоялец
Постоялец
 
Сообщения: 409
Зарегистрирован: 21.01.2003 (Вт) 12:13
Откуда: Sebastopol

Сообщение Calvin » 27.02.2008 (Ср) 19:17

Ну почему не для Excel?
как раз то для:
Код: Выделить всё
Do while InStr(SourceString, "  ") > 0
     SourceString = Replace$(SourceString, "  ", " ")
loop

по-моему короче всего
-Whose the motocycle, is this? -It`s a chopper, baby! -Whose chopper is this? -Zed`s! -Who is Zed? -Zed`s dead, baby, Zed`s dead! :-D

kminas
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 31.10.2005 (Пн) 20:17
Откуда: Ростов-на-Дону

Сообщение kminas » 03.04.2008 (Чт) 19:21

Calvin
по-моему короче всего

По-моему тоже. Красиво
Константин

kminas
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 31.10.2005 (Пн) 20:17
Откуда: Ростов-на-Дону

Сообщение kminas » 03.04.2008 (Чт) 20:13

Calvin
Спасибо, все удачно сработало.
Константин


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 72

    TopList