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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.07.2011, 10:56   #1
AdvSent
Пользователь
 
Регистрация: 20.07.2011
Сообщений: 13
По умолчанию Округление до сотых

Суть такая.
Имеется выборка из 7000 записей в один столбец.
Примерный вид записи:
40817810010042858555/54,САВЕЛЬЕВ АЛЕКСЕЙ ВИКТОРОВИЧ,250.2
40817810010042858555/54,САВЕЛЬЕВ АЛЕКСЕЙ ВИКТОРОВИЧ,250.25

Нужно привести в виду:
40817810010042858555/54,САВЕЛЬЕВ АЛЕКСЕЙ ВИКТОРОВИЧ,250.20
40817810010042858555/54,САВЕЛЬЕВ АЛЕКСЕЙ ВИКТОРОВИЧ,250.25

С уважением, Алексей.
AdvSent вне форума Ответить с цитированием
Старый 22.07.2011, 10:59   #2
AdvSent
Пользователь
 
Регистрация: 20.07.2011
Сообщений: 13
По умолчанию

В дальнейшем будет производиться выгрузка всех столбцов в txt файл
AdvSent вне форума Ответить с цитированием
Старый 22.07.2011, 11:15   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

если я правильно понял задачу, то достаточно для третьего столбика задать формат данных, указать числовой формат, количество знаков после запятой - 2
и всё...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.07.2011, 11:19   #4
AdvSent
Пользователь
 
Регистрация: 20.07.2011
Сообщений: 13
По умолчанию

да это возможно, но потом при выгрузке в тхт файл появляются лишние ненужные пробелы
AdvSent вне форума Ответить с цитированием
Старый 22.07.2011, 11:19   #5
RAN.
Форумчанин
 
Аватар для RAN.
 
Регистрация: 05.07.2011
Сообщений: 208
По умолчанию

Можно так
Код:
Function qqq(S As String) As String
qqq = Split(S, ".")(0) & "." & Left(Split(S, ".")(1) & "00", 2)
End Function
RAN. вне форума Ответить с цитированием
Старый 22.07.2011, 11:29   #6
AdvSent
Пользователь
 
Регистрация: 20.07.2011
Сообщений: 13
По умолчанию

Цитата:
Сообщение от RAN. Посмотреть сообщение
Можно так
Код:
Function qqq(S As String) As String
qqq = Split(S, ".")(0) & "." & Left(Split(S, ".")(1) & "00", 2)
End Function
можно поподробнее где этот код запустить? в редакторе сценариев?
AdvSent вне форума Ответить с цитированием
Старый 22.07.2011, 11:29   #7
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Попробуйте макрос - работает с выделенной областью.
В принципе, экспорт в txt можно поместить в этот же макрос.
Код:
Sub AdvSent()
Dim c As Range, s$, i&
For Each c In Selection
    s = c
    i = InStrRev(s, ",")
    c.Value = Left$(s, i) & Replace$(Format$(Val(Mid$(s, i + 1)), "0.00"), ",", ".")
Next
End Sub
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 22.07.2011, 11:58   #8
AdvSent
Пользователь
 
Регистрация: 20.07.2011
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Казанский Посмотреть сообщение
Попробуйте макрос - работает с выделенной областью.
В принципе, экспорт в txt можно поместить в этот же макрос.
Код:
Sub AdvSent()
Dim c As Range, s$, i&
For Each c In Selection
    s = c
    i = InStrRev(s, ",")
    c.Value = Left$(s, i) & Replace$(Format$(Val(Mid$(s, i + 1)), "0.00"), ",", ".")
Next
End Sub
Огромное спасибо , помогло
AdvSent вне форума Ответить с цитированием
Старый 22.07.2011, 12:16   #9
AdvSent
Пользователь
 
Регистрация: 20.07.2011
Сообщений: 13
По умолчанию

Кстати порекомендуйте какую нибудь литературу по этой теме(макросам, vbs-скриптам )
Чувствую пригодится это еще в будущем
AdvSent вне форума Ответить с цитированием
Старый 22.07.2011, 12:37   #10
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

О vbs-скриптах не знаю, но недавно отвечал на похожий вопрос; вот ответ: http://programmersforum.ru/showthread.php?p=843686 (ссылка открывается секунд 8; не все источники с тех пор сохранились).

Последний раз редактировалось Sasha_Smirnov; 22.07.2011 в 12:39.
Sasha_Smirnov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обрезать число до сотых. Abuhamed JavaScript, Ajax 1 24.05.2011 19:59
округление с++ kop Общие вопросы C/C++ 3 14.05.2011 16:01
Округление Madina192 Microsoft Office Access 6 29.04.2011 12:28
Округление Farmokolog Общие вопросы Delphi 2 19.02.2011 16:08
Как округлить число до сотых в Edit xxxsas Общие вопросы C/C++ 3 25.01.2009 09:04