Скрипт замены точки на запятую неверно пашет

Программирование на Visual Basic for Applications
Estilla
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 118
Зарегистрирован: 27.09.2006 (Ср) 21:07
Откуда: Москва

Скрипт замены точки на запятую неверно пашет

Сообщение Estilla » 28.10.2007 (Вс) 21:03

Почему заскриптованное действие замены через Ctrl-H не работает?
Данные в ячейках A1 и B1:
111.11 и 222.22 соответственно.
Сам скрипт:
Код: Выделить всё

Sub Макрос2()
Range("A1:B1").Select
Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub

Проблема в том, что числа остаются в текстовом виде.

Template
Обычный пользователь
Обычный пользователь
 
Сообщения: 73
Зарегистрирован: 09.09.2006 (Сб) 18:03

Сообщение Template » 28.10.2007 (Вс) 21:07

Код: Выделить всё
Range("A1:B1").Replace What:=".", Replacement:="."

Estilla
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 118
Зарегистрирован: 27.09.2006 (Ср) 21:07
Откуда: Москва

Сообщение Estilla » 28.10.2007 (Вс) 21:16

Template писал(а):
Код: Выделить всё
Range("A1:B1").Replace What:=".", Replacement:="."


забавно. спасибо

Lumen
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 841
Зарегистрирован: 03.12.2005 (Сб) 16:09
Откуда: Брянск

Сообщение Lumen » 29.10.2007 (Пн) 20:43

Template писал(а):
Код: Выделить всё
Range("A1:B1").Replace What:=".", Replacement:="."

В цитаты :D
Подпись проходит рефакторинг

Wasup!
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 120
Зарегистрирован: 21.06.2005 (Вт) 11:09

Сообщение Wasup! » 07.11.2007 (Ср) 14:30

Lumen писал(а):
Template писал(а):
Код: Выделить всё
Range("A1:B1").Replace What:=".", Replacement:="."

В цитаты :D


Оно работает! :shock:
(Excel 2000 rus)

В ячейке текст 111.11, replace ".","." , в ячейке число 111,11! :shock:

Template, что это - бага, фича :?:

Template
Обычный пользователь
Обычный пользователь
 
Сообщения: 73
Зарегистрирован: 09.09.2006 (Сб) 18:03

Сообщение Template » 07.11.2007 (Ср) 20:26

Это точно не баг, ведь число хранится в виде 1.5, а отображается с учётом настроек компьютера, у автора вопроса и большинства других, это 1,5 поэтому, когда происходит замена, то excel меняет текст "1.5" на число 1.5

Lumen
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 841
Зарегистрирован: 03.12.2005 (Сб) 16:09
Откуда: Брянск

Сообщение Lumen » 07.11.2007 (Ср) 20:35

Хм. Не знаю, не проверял, но выглядит будто автор пытается заменить точку точкой.
Подпись проходит рефакторинг

Estilla
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 118
Зарегистрирован: 27.09.2006 (Ср) 21:07
Откуда: Москва

Сообщение Estilla » 07.11.2007 (Ср) 23:00

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


на самом деле автор пытался заменить текст с точкой на число с запятой. А получал текст с запятой.

Wasup!
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 120
Зарегистрирован: 21.06.2005 (Вт) 11:09

Сообщение Wasup! » 08.11.2007 (Чт) 15:55

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


Вот в том-то и фишка. Replace точки на точку производит преобразование текста с точкой в число.


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

    TopList