Страницы: 1
RSS
замена текста с помощью VBA
 
Доброго времени суток!

Подскажите, макрорекодером записал макрос:
Код
Sub qqq()

    Range("G5:G11").Select
    Selection.Replace What:=",", Replacement:=".", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
End Sub

Мне необходимо , чтобы в столбце где есть ячейки с значениями
1,14
33.44
26
и т.д.
надо чтобы все ячейки где есть "," заменяли "," на ".".
проблема в том, что после замены у значения 1,14 в ячейке получается "янв.14".
Вопрос:
как сделать замену без изменения формата ячейки?

Бессмысленно осмысливать смысл неосмысленными мыслями.
 
Цитата
Иван Смирнов написал:
как сделать замену без изменения формата ячейки?
Переведите все ячейки в текст и запускайте свой макрос.
Изменено: ivanok_v2 - 23.09.2018 14:52:33
 
ivanok_v2, там уже стоит формат ячеек "Текст". все равно меняет на дату...
и теперь почему-то не срабатывает макрос при запуске его в редакторе.

Бессмысленно осмысливать смысл неосмысленными мыслями.
 
Иван Смирнов,
все работает без изменения формата
у вас же замена идет в
Код
Range("G5:G11").Select
Изменено: ivanok_v2 - 23.09.2018 15:17:47
 
ivanok_v2,
Цитата
ivanok_v2 написал:
все работает без изменения формата
чуть-чуть не понял комментария...

У Вас все работает?

У меня при замене идет изменение на дату... (1 января 2014 года)
В смотрели файл пример? там ведь это наглядно видно.
Был формат текстовый, а стал: "Все форматы" МММ.ГГ..

Бессмысленно осмысливать смысл неосмысленными мыслями.
 
Цитата
Иван Смирнов написал:
У меня при замене идет изменение на дату... (1 января 2014 года)
замена формата идет в диапазоне "G5:G11"?
 
ivanok_v2, да, Диапазон этот "G5:G11", формат ячейки "Текстовый"  

Бессмысленно осмысливать смысл неосмысленными мыслями.
 
Иван Смирнов,
побробуйте еще так
Код
sub iFind()
   dim r as range
   
   for each r in range("G5:G11")
     r.value=replace(r.value,",",".")
   next
end sub
 
ivanok_v2, Спасибо! вроде работает!

позже проверю на исходном файле в с количеством строк 12000
Еще раз, спасибо.

Бессмысленно осмысливать смысл неосмысленными мыслями.
 
Иван Смирнов, без цикла, на тысячах строк будет быстрее
Код
Sub qqq()
  With Range("G5:G11")
    .Value = Application.Substitute(.Value, ".", ".")
  End With
End Sub
 
Цитата
Казанский написал:будет быстрее
спасибо! Значительно быстрее!
Всем спасибо!

Бессмысленно осмысливать смысл неосмысленными мыслями.
Страницы: 1
Наверх