![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 29.10.2008
Сообщений: 294
|
![]()
Добрый день!
В Excele имеются скопированные из другой программы числа, но они отображены с пробелами и имеют формат "Общий". Пример: ячейка А1 содержит 19 025,26 ячейка А2 содержит 198 955 645,45 и т.д. Цикл сделать не проблема, но как удалить пробел(ы) внутри строки? Функция Replace(значение ячеки, " ", "") не помогает ![]() Итог: требуется получить числовые значения! |
![]() |
![]() |
![]() |
#2 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
отметить диапазон, назначить формат "число" или "общий", выполнить "найти и заменить", найти пробелы, заменить на "ничего"
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
![]() |
#3 | |
Форумчанин
Регистрация: 29.10.2008
Сообщений: 294
|
![]()
IgorGO, конечно же я это умею и знаю. Дело в том, что таких столбцов около 10 и данные обновляются часто.
Поэтому Цитата:
Надо с помощью макроса, который уже помимо этой функции, форматирует еще кучу всего. ![]() Вот файлик: Последний раз редактировалось Maxx; 13.07.2009 в 17:39. |
|
![]() |
![]() |
![]() |
#4 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]()
Работает медленно (обрабатывает лист за 2 секунды), но работает:
Код:
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
Не раз сталкивался с проблемой символа [пробел].
Кроме кода символа = 160 (что редко встречается), в таблице ANSI есть еще и код символа = 32. Нужно бы контролировать оба. А макрос можно немного упростить: Код:
Чем шире угол зрения, тем он тупее.
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 29.10.2008
Сообщений: 294
|
![]()
SAS888, Ваш код не работает, вернее работает, но ячейки, содержащие цифры, не обрабатывает.
EducatedFool, Ваш код работает, НО он к сожалению, делает тоже, что и код, записанный макрорекодером, т.е. Примет: в ячейке I2 есть цифра 4 408,2041 после обработки она превращается в 44 082 041 а надо 4 408,2041 только в числовом формате ![]() Что делать? ![]() Вот файлик уже с Вашими кодами: |
![]() |
![]() |
![]() |
#7 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]()
Пробуем:
Код:
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 29.10.2008
Сообщений: 294
|
![]()
У-а-у! Все прекрасно работает!
Огромнейшее СПАСИБО! ![]() |
![]() |
![]() |
![]() |
#9 | |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]() Цитата:
Чем шире угол зрения, тем он тупее.
|
|
![]() |
![]() |
![]() |
#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 |