Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 11.11.2008, 11:19   #1
Maxx
Форумчанин
 
Аватар для Maxx
 
Регистрация: 29.10.2008
Сообщений: 294
Вопрос ПРОБЛЕМА с заменой символов в ячейке с помощью кода VBA

Пример:
По ходу выполнения кода у меня получаются рассченые значения и записываются в ячейки А1 и А2 в числовом формате.

Допустим: А1=25,3645569 А2=43,28925648
Как полученные в ячейках значения преобразовать в текстовый формат и заменить "," на "."

Проблема в том, что записанный макрорекодером код:
Range("A1:A2").Select
Selection.NumberFormat = "@"
Selection.Replace What:=",", Replacement:=".", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
НЕ РАБОТАЕТ.
Что делать???


И еще один вопрос: как в полученных ячейках оставить после точки только 4 знака?

Заранее благодарен!!!

Последний раз редактировалось Maxx; 11.11.2008 в 13:49. Причина: Исправление вопроса
Maxx вне форума
Старый 11.11.2008, 14:30   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Пусть в ячейке "A1" Ваше число и формат ячейки "общий".
Следующий код сделает то, что Вам нужно.
Код:
[A1].NumberFormat = "@"
    [A1] = Application.Substitute([A1], ",", ".", 1)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 11.11.2008, 15:07   #3
Maxx
Форумчанин
 
Аватар для Maxx
 
Регистрация: 29.10.2008
Сообщений: 294
По умолчанию

Просто гениально! Спасибо огромнейшее!

А на второй вопрос можете дать ответ: как после замены запятой на точку, оставить после точки всего 4 знака????
Maxx вне форума
Старый 11.11.2008, 15:45   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

round(123.456789, 4) = 123.4568 - округлено до 4-го знака.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 11.11.2008, 16:02   #5
Maxx
Форумчанин
 
Аватар для Maxx
 
Регистрация: 29.10.2008
Сообщений: 294
По умолчанию

Если round - это код VBA, то как его приписать в коде к конкретной ячейке???
Maxx вне форума
Старый 11.11.2008, 16:42   #6
Maxx
Форумчанин
 
Аватар для Maxx
 
Регистрация: 29.10.2008
Сообщений: 294
По умолчанию

Я молодец, сам нашел ответ:

Range("A1").Value = Round(Range("A1").Value, 4)
Maxx вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск и замена групп символов данными из edit в memo treefantom Общие вопросы Delphi 5 26.10.2008 17:26
Замена HTML-кода c javascript'om avalon8 Работа с сетью в Delphi 0 31.07.2008 16:12
Замена символов из таблицы sadpoet Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 02.03.2008 15:33
Замена символов PAVEL315 Общие вопросы Delphi 1 03.02.2007 21:56