Не удаётся заменить запятую точкой

Автор Посетитель 22.08.2024, 23 августа 2024, 10:48

Посетитель 22.08.2024

Здравствуйте !
Подскажите, пожалуйста, не работает этот макрос в этом столбце.

Спойлер
Columns("O:O").NumberFormat = "@" ' Делаем текстовый формат, т.к. точку можно добавить только в нём
    Columns("O:O").Replace What:=",", Replacement:=".", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=True, _
        ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2 ' Меняем запятую на точку
[свернуть]
В других случаях работал.
Макрос не видит запятую. При постановке других символов, цифр, например, замену производит.


Администратор

Команда Replace даёт неправильный результат.
Вместо команды Replace используйте какой-нибудь другой способ замены запятой на точку.
Вчера как раз я это и пробовал делать и не получилось, после чего предложил вам использовать апостроф. При использовании Replace число превращалось в дату, не смотря на то, что в столбце был Текстовый формат.

Посетитель 22.08.2024

Через апостроф получилось, спасибо !

Администратор

Можно не использовать апостроф, чтобы не усложнять ситуацию, т.к. в ячейке появляется лишний символ.
Достаточно использовать то, что вы раньше использовали:
1) сделайте в столбце Текстовый формат;
2) и такой код: Cells(i, 14).Value = Replace(Cells(i, 14).Value, ",", "."). Взято из предыдущей вашей темы.

Посетитель 22.08.2024