|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
13.07.2009, 17:17 | #1 |
Форумчанин
Регистрация: 29.10.2008
Сообщений: 294
|
Удаление пробелов внутри строки
Добрый день!
В Excele имеются скопированные из другой программы числа, но они отображены с пробелами и имеют формат "Общий". Пример: ячейка А1 содержит 19 025,26 ячейка А2 содержит 198 955 645,45 и т.д. Цикл сделать не проблема, но как удалить пробел(ы) внутри строки? Функция Replace(значение ячеки, " ", "") не помогает Итог: требуется получить числовые значения! |
13.07.2009, 17:26 | #2 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
отметить диапазон, назначить формат "число" или "общий", выполнить "найти и заменить", найти пробелы, заменить на "ничего"
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
13.07.2009, 17:31 | #3 | |
Форумчанин
Регистрация: 29.10.2008
Сообщений: 294
|
IgorGO, конечно же я это умею и знаю. Дело в том, что таких столбцов около 10 и данные обновляются часто.
Поэтому Цитата:
Надо с помощью макроса, который уже помимо этой функции, форматирует еще кучу всего. Вот файлик: Последний раз редактировалось Maxx; 13.07.2009 в 17:39. |
|
13.07.2009, 18:28 | #4 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Работает медленно (обрабатывает лист за 2 секунды), но работает:
Код:
|
14.07.2009, 05:45 | #5 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Не раз сталкивался с проблемой символа [пробел].
Кроме кода символа = 160 (что редко встречается), в таблице ANSI есть еще и код символа = 32. Нужно бы контролировать оба. А макрос можно немного упростить: Код:
Чем шире угол зрения, тем он тупее.
|
14.07.2009, 16:31 | #6 |
Форумчанин
Регистрация: 29.10.2008
Сообщений: 294
|
SAS888, Ваш код не работает, вернее работает, но ячейки, содержащие цифры, не обрабатывает.
EducatedFool, Ваш код работает, НО он к сожалению, делает тоже, что и код, записанный макрорекодером, т.е. Примет: в ячейке I2 есть цифра 4 408,2041 после обработки она превращается в 44 082 041 а надо 4 408,2041 только в числовом формате Что делать? Вот файлик уже с Вашими кодами: |
14.07.2009, 16:46 | #7 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Пробуем:
Код:
|
14.07.2009, 16:55 | #8 |
Форумчанин
Регистрация: 29.10.2008
Сообщений: 294
|
У-а-у! Все прекрасно работает!
Огромнейшее СПАСИБО! |
15.07.2009, 05:21 | #9 | |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Цитата:
Чем шире угол зрения, тем он тупее.
|
|
02.10.2010, 20:36 | #10 |
Пользователь
Регистрация: 22.09.2010
Сообщений: 21
|
Dim s As String, s1 As String
Dim i As Integer s = [a4].Value For i = 1 To Len(s) s1 = s1 & Mid(s, i, 1) & " " Next [a4].Value = s1 Этот макрос добавляет по пробелу между символами. А как сделать обратный, чтобы в ячейке A1 между символами убирался лишь один пробел? К примеру: Из "П р и в е т__к а к__д е л а" получить "Привет как дела" (где "__" - двойной пробел) Последний раз редактировалось sam00; 02.10.2010 в 20:39. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Количество пробелов до конца строки | Qv_1 | Microsoft Office Word | 8 | 01.06.2009 19:58 |
Аналог функции Trim-удаление лишних пробелов в начале и в конце передаваемой строки | GULINA | Помощь студентам | 6 | 23.05.2009 15:07 |
Удаление пробелов | Иван 883 | Помощь студентам | 1 | 20.04.2009 22:23 |
Удаление лишних пробелов. Ввод/вывод в файл. | Иван 883 | Помощь студентам | 13 | 31.03.2009 19:39 |
Строки(удаление пробелов). C language | SuccEssoR | Помощь студентам | 4 | 15.01.2009 17:13 |