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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.04.2016, 18:04   #1
Maxim_37
Новичок
Джуниор
 
Регистрация: 28.04.2016
Сообщений: 2
По умолчанию Поиск и замена символа (заменить в числах разделитель целой и дробной части запятую на точку)

Доброго времени суток.
Помогите решить.
В столбце есть такие значения
0123B, 2,5*3,5, STAN, BORDO/BORDO
0123B, 2,5*3,5, STAN, KREM/KREM
0123B, 2*3, STAN, BORDO/BORDO
0123B, 3*4, STAN, BORDO / BORDO
1002A, 2,5*3,5, STAN, BORDO / BORDO
1002A, 2,5*3,5, STAN, KREM/KREM
1002A, 2*3, STAN, BORDO/BORDO
1002A, 2*3, STAN, KREM/KREM
1002A, 3*4, STAN, BORDO / BORDO
1002A, 3*4, STAN, KREM / KREM
1005A, 2,5*3,5, STAN, BORDO/BORDO
1005A, 2,5*3,5, STAN, KREM/KREM
1005A, 3*4, STAN, BORDO / BORDO
1005A, 3*4, STAN, KREM / KREM
1080A, 2,5*3,5, STAN, BORDO / BORDO
1080B, 2,5*3,5, STAN, KREM / KREM
1080B, 2*3, STAN, BORDO/BORDO
1080B, 3*4, STAN, BORDO/BORDO
1080B, 3*4, STAN, K.KAHVE / K.KAHVE
1080B, 3*4, STAN, KREM / KREM
1081A, 2,5*3,5, STAN, BORDO/BORDO
1081A, 2,5*3,5, STAN, KREM/KREM
1081A, 2*3, STAN, BORDO/BORDO
1081A, 3*4, STAN, BORDO/BORDO
1081A, 3*4, STAN, K.KAHVE / K.KAHVE
................................... ..................

Необходим макрос, с помощь которого можно значение вида 2,5*3,5 заменить на значение вида 2.5*3.5
Проблема в том, что эти значения каждый раз на разном месте.
Maxim_37 вне форума Ответить с цитированием
Старый 28.04.2016, 18:23   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Стандартный найтиЗаменить не канает?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 28.04.2016, 18:40   #3
Maxim_37
Новичок
Джуниор
 
Регистрация: 28.04.2016
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
Стандартный найтиЗаменить не канает?
К сожалению нет.
Слишком много строк и нудно менять только не которые...
Maxim_37 вне форума Ответить с цитированием
Старый 28.04.2016, 19:17   #4
svsh2016
Форумчанин
 
Регистрация: 16.06.2015
Сообщений: 100
По умолчанию

добрый день,вариант функции vvv на листе Лист2 в столбце E

Код:
Function vvv$(t$)
 With CreateObject("VBScript.RegExp"): .Pattern = "\d+,\d+\*\d+,\d+": .Global = True
 If .test(t) Then
    vvv = Replace(t, .Execute(t)(0), Replace(.Execute(t)(0), ",", "."))
    Else
    vvv = t
 End If
 End With
End Function
Вложения
Тип файла: xls example_28_04_2016_pr_word2.xls (42.5 Кб, 11 просмотров)
svsh2016 вне форума Ответить с цитированием
Старый 29.04.2016, 13:56   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

используйте этот
Код:
Function ReplaceComma2DotInNumbersOnly(txt As String) As String
  With CreateObject("VBScript.RegExp")
    .Pattern = "(\d+),(\d+)": .Global = True
    ReplaceComma2DotInNumbersOnly = .Replace(txt, "$1.$2")
  End With
End Function
чтобы заменить в числах разделитель целой и дробной части запятую на точку.
в качестве параметра можете передать весь текст из стартового сообщения или каждую его строку отдельно

при умелом использовании RegExp гибкий и очень мощный инструмент
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 29.04.2016 в 14:31.
IgorGO вне форума Ответить с цитированием
Старый 30.04.2016, 23:39   #6
svsh2016
Форумчанин
 
Регистрация: 16.06.2015
Сообщений: 100
По умолчанию

добрый вечер,вариант функции zzz в столбце G,покороче за счет
позитивной опережающей проверки.

Код:
 Function zzz$(t$)
 With CreateObject("VBScript.RegExp"): .Global = True: .Pattern = ",(?=\d)"
    zzz = .Replace(t, ".")
 End With
End Function
Вложения
Тип файла: xls example_30_04_2016_pr_23_30.xls (48.5 Кб, 13 просмотров)
svsh2016 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменить системный (Win7) разделитель целой и дробной части чисел из приложения под Delphi СтарыйХрыч Помощь студентам 9 29.09.2014 16:24
Изменить разделитель целой и дробной части в системе ольгаг Общие вопросы .NET 1 18.03.2014 13:38
Разделитель целой и дробной части IgorGO Microsoft Office Excel 3 25.11.2012 11:08
Разделитель целой и дробной части. gusluk Общие вопросы Delphi 2 12.11.2008 08:45
Разделитель целой и дробной части neugadal Microsoft Office Excel 3 09.10.2008 07:20