Добрый день. Пишу в ячейки 850.954 и 110.210 Выделяю эти ячейки. Главная - Найти и выделить - Заменить Заменяю точку на запятую. Нормально поменялось.
Пишу в другие ячейки 850.954 и 110.210 Выделяю эти ячейки. Выполняю в окне Immediate Selection.Replace ".", "," Вместо того, чтобы заменять, он просто убирает точку.
Подскажите, почему так?
P.S. Это происходит в любой книге, в том числе вновь созданной. В настройках разделитель копеек - запятая, разделитель разрядов - пробел Excel 2013, Windows 7
Добрый день. Пишу в ячейки 850.954 и 110.210 Выделяю эти ячейки. Главная - Найти и выделить - Заменить Заменяю точку на запятую. Нормально поменялось.
Пишу в другие ячейки 850.954 и 110.210 Выделяю эти ячейки. Выполняю в окне Immediate Selection.Replace ".", "," Вместо того, чтобы заменять, он просто убирает точку.
Подскажите, почему так?
P.S. Это происходит в любой книге, в том числе вновь созданной. В настройках разделитель копеек - запятая, разделитель разрядов - пробел Excel 2013, Windows 7Бахтиёр
Сообщение отредактировал Бахтиёр - Пятница, 19.08.2016, 11:06
он не точку убирает, а заменяет её на пробел. Потому что для VBA - запятая - это разделитель тысяч, вот и получается, что при Replace формируется 850,954 которые он воспринимает как 850 тысяч и 954, поэтому на лист выгружает с учётом региональных настроек 850 954
программно замену можно сделать так: [vba]
Код
Sub n() For Each c In Selection c.Value = c.Value Next End Sub
[/vba]
он не точку убирает, а заменяет её на пробел. Потому что для VBA - запятая - это разделитель тысяч, вот и получается, что при Replace формируется 850,954 которые он воспринимает как 850 тысяч и 954, поэтому на лист выгружает с учётом региональных настроек 850 954
программно замену можно сделать так: [vba]
Код
Sub n() For Each c In Selection c.Value = c.Value Next End Sub
buchlotnik, спасибо, понял. 850.954 Попробовал Selection.Replace ".", "." VBA находя точку заменил его на точку, получилось тоже самое, но при выгрузке на лист (так как точка в VBA - это разделитель копеек) с учётом региональных настроек выгрузил 850,954
Насчёт вашего кода, ИМХО, для скорости лучше так: [vba]
Код
Sub n() For Each x In Selection.Areas x.Value = x.Value Next End Sub
[/vba]
buchlotnik, спасибо, понял. 850.954 Попробовал Selection.Replace ".", "." VBA находя точку заменил его на точку, получилось тоже самое, но при выгрузке на лист (так как точка в VBA - это разделитель копеек) с учётом региональных настроек выгрузил 850,954
Насчёт вашего кода, ИМХО, для скорости лучше так: [vba]
Код
Sub n() For Each x In Selection.Areas x.Value = x.Value Next End Sub