Как в ячейке точку заменить запятой?

Программирование на Visual Basic for Applications
Bananovyy
Новичок
Новичок
Аватара пользователя
 
Сообщения: 25
Зарегистрирован: 03.08.2008 (Вс) 16:04

Как в ячейке точку заменить запятой?

Сообщение Bananovyy » 25.10.2008 (Сб) 12:28

Как в ячейке точку заменить запятой, преобразовав тем самым слово в число?
Код записанный рекордером не работает:

Sub Макрос1()

Range("A1:A10").Select
Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

End Sub

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

Re: Как в ячейке точку заменить запятой?

Сообщение Wasup! » 27.10.2008 (Пн) 12:48

Как вариант
Код: Выделить всё
For Each c In Range("A1:A10")
    c.Value = Replace(c.Value, ".", ",")
Next

А вообще не точка или запятая определяют число это или текст, а региональные настройки конкретного компьютера (см. панель управления Regional and Language settings).
Быстро определить текущий разделитель:
Код: Выделить всё
? format$(0,".")

Bananovyy
Новичок
Новичок
Аватара пользователя
 
Сообщения: 25
Зарегистрирован: 03.08.2008 (Вс) 16:04

Re: Как в ячейке точку заменить запятой?

Сообщение Bananovyy » 01.11.2008 (Сб) 12:45

Wasup! писал(а):Как вариант
Код: Выделить всё
For Each c In Range("A1:A10")
    c.Value = Replace(c.Value, ".", ",")
Next

А вообще не точка или запятая определяют число это или текст, а региональные настройки конкретного компьютера (см. панель управления Regional and Language settings).
Быстро определить текущий разделитель:
Код: Выделить всё
? format$(0,".")


Получается та же ересь,
Пример:

1.11111 > 111 111
11.1111 > 111 111
111.111 > 111 111
1111.11 > 1111,11
11111.1 > 11111,1


Первые три строчки бредово преобразуются в число = 111 111 ?!?
Две последние точно меняют зпт на тчк, но при этом формат остается текстовый
с примечанием о преобразовании в число...

Суть сей операции в следующем:
Из Oracle вытаскивается массив данных, вставляется в Excel, все данные там забиты в текстовом формате, включая циферки… и каждый раз приходится делать лишние телодвижения через меню: Правка / Заменить ТЧК на ЗПТ… Необходимо текст преобразовать в циферки для возможности дальнейших расчётов-пересчётов этих циферок!!!… Что делать Х.З.
Последний раз редактировалось Bananovyy 01.11.2008 (Сб) 13:06, всего редактировалось 2 раз(а).

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Как в ячейке точку заменить запятой?

Сообщение Денис » 01.11.2008 (Сб) 12:49

Bananovyy
Панель управления -> Язык и региональные стандарты -> Настройка -> Числа -> Разделитель целой и дробной части
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Bananovyy
Новичок
Новичок
Аватара пользователя
 
Сообщения: 25
Зарегистрирован: 03.08.2008 (Вс) 16:04

Re: Как в ячейке точку заменить запятой?

Сообщение Bananovyy » 01.11.2008 (Сб) 13:00

Денис писал(а):Bananovyy
Панель управления -> Язык и региональные стандарты -> Настройка -> Числа -> Разделитель целой и дробной части


Там стоит запятая?!?

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Как в ячейке точку заменить запятой?

Сообщение Денис » 01.11.2008 (Сб) 13:16

Bananovyy писал(а):
Денис писал(а):Bananovyy
Панель управления -> Язык и региональные стандарты -> Настройка -> Числа -> Разделитель целой и дробной части


Там стоит запятая?!?


Так. Начнем с самого начала: Откуда в твоих ячейках взялись числа с точками вместо запятых?
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Bananovyy
Новичок
Новичок
Аватара пользователя
 
Сообщения: 25
Зарегистрирован: 03.08.2008 (Вс) 16:04

Re: Как в ячейке точку заменить запятой?

Сообщение Bananovyy » 01.11.2008 (Сб) 13:27

Денис писал(а):
Bananovyy писал(а):
Денис писал(а):Bananovyy
Панель управления -> Язык и региональные стандарты -> Настройка -> Числа -> Разделитель целой и дробной части


Там стоит запятая?!?


Так. Начнем с самого начала: Откуда в твоих ячейках взялись числа с точками вместо запятых?


Суть сей операции в следующем:
Из Oracle вытаскивается массив данных, вставляется в Excel, все данные там забиты в текстовом формате, включая циферки… и каждый раз приходится делать лишние телодвижения через меню: Правка / Заменить ТЧК на ЗПТ… Необходимо текст преобразовать в циферки для возможности дальнейших расчётов-пересчётов этих циферок!!!…



[alibek] :: Не стоит редактировать модераторские замечания.
Последний раз редактировалось Bananovyy 01.11.2008 (Сб) 14:22, всего редактировалось 1 раз.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Как в ячейке точку заменить запятой?

Сообщение iGrok » 01.11.2008 (Сб) 13:47

1) Мат, пусть даже скрытый, в конференции запрещён. Не стоит нарушать это правило.
2) По сабжу: Ну так вытаскивай из Оракла цифры! Каким-таким хитрым образом ты вытаскиваешь данные так, что у тебя там получается текст вместо цифр?
label:
cli
jmp label

Bananovyy
Новичок
Новичок
Аватара пользователя
 
Сообщения: 25
Зарегистрирован: 03.08.2008 (Вс) 16:04

Re: Как в ячейке точку заменить запятой?

Сообщение Bananovyy » 01.11.2008 (Сб) 13:49

iGrok писал(а):1) Мат, пусть даже скрытый, в конференции запрещён. Не стоит нарушать это правило.
2) По сабжу: Ну так вытаскивай из Оракла цифры! Каким-таким хитрым образом ты вытаскиваешь данные так, что у тебя там получается текст вместо цифр?


Ну так нельзя))))))))))

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Как в ячейке точку заменить запятой?

Сообщение iGrok » 01.11.2008 (Сб) 14:09

Как нельзя, чего нельзя? Из Оракла цифры вытащить вместо текста? Можно.
А чего ещё нельзя?

Приведение текста к числу выглядит, к примеру, так:
Код: Выделить всё
text="100.10"
dec_delim=format$(0,".")
value=cdbl(replace(text,".",dec_delim))

Это если разделитель изначально точка.

А то, что там бредово преобразуется.. Ну покажи наконец код которым делаешь.
label:
cli
jmp label

Bananovyy
Новичок
Новичок
Аватара пользователя
 
Сообщения: 25
Зарегистрирован: 03.08.2008 (Вс) 16:04

Re: Как в ячейке точку заменить запятой?

Сообщение Bananovyy » 01.11.2008 (Сб) 14:21

iGrok писал(а):Приведение текста к числу выглядит, к примеру, так:
Код: Выделить всё
text="100.10"
dec_delim=format$(0,".")
value=cdbl(replace(text,".",dec_delim))


СУПЕР!!! ТО, ЧТО НАДО, ПАСИБОС!!!
:D

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: Как в ячейке точку заменить запятой?

Сообщение Viper » 02.11.2008 (Вс) 7:25

Bananovyy писал(а):
iGrok писал(а):Приведение текста к числу выглядит, к примеру, так:
Код: Выделить всё
text="100.10"
dec_delim=format$(0,".")
value=cdbl(replace(text,".",dec_delim))


СУПЕР!!! ТО, ЧТО НАДО, ПАСИБОС!!!
:D
Конечно супер, особенно если учесть, что ответ был дан в первом же сообщении.
Весь мир матрица, а мы в нем потоки байтов!

Bananovyy
Новичок
Новичок
Аватара пользователя
 
Сообщения: 25
Зарегистрирован: 03.08.2008 (Вс) 16:04

Re: Как в ячейке точку заменить запятой?

Сообщение Bananovyy » 02.11.2008 (Вс) 10:06

Млин, так я же только учусь)))
:wink:

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: Как в ячейке точку заменить запятой?

Сообщение Viper » 02.11.2008 (Вс) 12:17

Bananovyy писал(а):Млин, так я же только учусь)))
:wink:
Неужели читать?
Весь мир матрица, а мы в нем потоки байтов!


Вернуться в VBA

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

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

    TopList