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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2013, 17:22   #1
Робин
Форумчанин
 
Регистрация: 03.04.2010
Сообщений: 118
По умолчанию Разделитель целой и лробной части числа, запятая

Добрый день!
Пытаюсь подпилить работающий макрос и не выходит,
Суть проблемы заключается в разлелительной запятой, между целой и дробной частью, вводимого в столбец Е числа (суммы денег), посредством формы,
Так вот, если дробное число в тексбокс «Сумма», заношу через точку, тогда дробная часть числа (копейки) , переносятся в ячейки столбца Е правильно, Например, 1,54. А если это же число, вножу, в этот же текстбокс через запятую – то в соответствующей ячейке, на листе «База_счетов», в дробной части числа, тупо получаю 1,00. Хотя на самом деле, дробная часть вводимых сумм, не всегда есть 00 копеек.
Как это исправить?
Плиз, подмогните,
Вложения
Тип файла: rar Textbox.rar (24.8 Кб, 15 просмотров)
Робин вне форума Ответить с цитированием
Старый 04.02.2013, 18:38   #2
nilem
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 616
По умолчанию

Привет, Робин
попробуйте так
Код:
.Cells(lLastRow + 1, 5).Value = Val(Replace(Сумма.Text, ",", "."))
можно и без Val
Код:
.Cells(lLastRow + 1, 5).Value = Сумма.Value
но тогда значение будет вставляться как текст
nilem вне форума Ответить с цитированием
Старый 04.02.2013, 19:17   #3
Робин
Форумчанин
 
Регистрация: 03.04.2010
Сообщений: 118
По умолчанию

Цитата:
Сообщение от nilem Посмотреть сообщение
Привет, Робин
можно и без Val
Код:
.Cells(lLastRow + 1, 5).Value = Сумма.Value
но тогда значение будет вставляться как текст
Этот вариант я знаю.

А первый ваш вариант, рабротает хорошо. Именно числовой формат мне и надо.СПАСИБО!
Но если бы еще разделение числа на разряды добавить, было бы совсем великолепно.
Сам пробовал применить вот этот формат #,##0.00, но она выдает после запятой те же нули.
Робин вне форума Ответить с цитированием
Старый 04.02.2013, 20:07   #4
nilem
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 616
По умолчанию

просто установите на листе для нужных ячеек числовой формат с разделителем
и все

если хотите в коде, то сначала формат, а потом значение
Код:
.Cells(lLastRow + 1, 5).NumberFormat = "#,##0.00"
.Cells(lLastRow + 1, 5).Value = Val(Replace(Сумма.Text, ",", "."))
но лучше на листе это сделать

Последний раз редактировалось nilem; 04.02.2013 в 20:12.
nilem вне форума Ответить с цитированием
Старый 04.02.2013, 20:12   #5
Робин
Форумчанин
 
Регистрация: 03.04.2010
Сообщений: 118
По умолчанию

Цитата:
Сообщение от nilem Посмотреть сообщение
просто установите на листе для нужных ячеек числовой формат с разделителем
и все
А что? Програмного способа разделения числа на разряды нету.
Прошу прощения! Сразу не разглядел.
Вставил, работает нормально, буду тестить дальше.
Еще раз СПАААСИБО за екстренную пощь!!!

Последний раз редактировалось Робин; 04.02.2013 в 20:20.
Робин вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разделитель целой и дробной части IgorGO Microsoft Office Excel 3 25.11.2012 11:08
задача - найти произведение первой цифры целой части и третей цифры дробной части вещественного числа. LAZARUS maks22 Lazarus, Free Pascal, CodeTyphon 2 30.01.2012 19:53
Разделитель дробной и целой частей числа voron29 Win Api 2 17.12.2008 10:56
Разделитель целой и дробной части. gusluk Общие вопросы Delphi 2 12.11.2008 08:45
Разделитель целой и дробной части neugadal Microsoft Office Excel 3 09.10.2008 07:20