Страницы: 1
RSS
Замена в exel точки на запятую через макрос - MS Excel
 
День добрый столкнулся с проблеммой
есть стобец с данными вида :

0.000
0.000
0.000
0.000
533333.330
0.000
533333.330
0.000
0.000
0.000

необходимо поменять . на , чтоб можно было работать с числами
если делать это в ручную (на вкладке главная найти и заменить ) то все срабатывает нормально :

0
0
0
0
533333,33
0
533333,33
0
0
0
если это же действие делать через макрос ( "Записать макрос" и поторить действия по замене ) результат другой :
0,000
0,000
0,000
0,000
533 333 330
0,000
533 333 330
0,000
0,000
0,000

как можно это исправить ??


код макроса на всякий случай  
Код
Columns("C:C").Select
    Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
 
Для полноты картины добавлю .
это 2 случай данных с которыми мне надо провести замену  и с ними проблема

в первом случае все тоже самое
- после открытия из txt файла копирую значения в колонку на листе, запускаю
поиск/замену и
в колонке  получаются те данные которые мне нужны (запятая стоит на своем месте, разряды не теряются)
одно отличие в том что все ячейки отмены Восклицательным знаком и подписаны "число сохранено как текст"  - но я это пропускаю и все рабоатет как надо ,  а вот во 2 случае беда
 
 
Цитата
2.3. Приложите файл(ы) с примером (общим весом не более 100 Кб) в реальной структуре и форматах данных того, что есть сейчас и того, что хотелось бы на выходе.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
там 3-и листа
1) Тот где работает
2) что  есть  с чем работаю
3) что выводит после замены . на ,
 
Код
Selection.Value = Selection.Value

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
как это использовать?
 
Kyvaldenius, выделить яч., где числа текстом с разделителем дробной части является тчк, создать макрос, вписать в него ту строчку, выполнить макрос.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Код
  Columns("C:C").Select
       Selection.Value = Selection.Value '  Добавил заработало
        Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

спасибо заработало  а в чем причина была это глюк какой то или что то еще
 
Kyvaldenius, после "заработало" замена излишняя. Для ВБА тчк - родной разделитель дробной части числа.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
Страницы: 1
Наверх