Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Вывод десятичного числа в формате 0.00 - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Вывод десятичного числа в формате 0.00 (Макросы/Sub)
Вывод десятичного числа в формате 0.00
Planetary Дата: Пятница, 05.01.2018, 14:59 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Добрый день.

Если колонка с цифрами, нужно получать число в формате 123.45. Если десятичная часть присутствует с 2-мя знаками, то проблем нет. Если после точки один или ноль знаков, то выводится только целая часть, как ни бьюсь. Искусственно решать проблему не хочется (например переводить в строку, потом добавлять точку и нули, если десятичная часть не полная).

Подскажите, как решить проблему? MsgBox (Format(Number, "0.00") не работает.
 
Ответить
СообщениеДобрый день.

Если колонка с цифрами, нужно получать число в формате 123.45. Если десятичная часть присутствует с 2-мя знаками, то проблем нет. Если после точки один или ноль знаков, то выводится только целая часть, как ни бьюсь. Искусственно решать проблему не хочется (например переводить в строку, потом добавлять точку и нули, если десятичная часть не полная).

Подскажите, как решить проблему? MsgBox (Format(Number, "0.00") не работает.

Автор - Planetary
Дата добавления - 05.01.2018 в 14:59
Planetary Дата: Пятница, 05.01.2018, 15:05 | Сообщение № 2
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Сформулирую задачу полностью.

Есть число вида -1234,56 (занимает ячейку excel). Мне нужно получить из него число вида 1 234.56 в виде текста. Можно ли как-то это сделать через форматирование, а не искусственно добавляя точки, нули и пробелы?
 
Ответить
СообщениеСформулирую задачу полностью.

Есть число вида -1234,56 (занимает ячейку excel). Мне нужно получить из него число вида 1 234.56 в виде текста. Можно ли как-то это сделать через форматирование, а не искусственно добавляя точки, нули и пробелы?

Автор - Planetary
Дата добавления - 05.01.2018 в 15:05
Hugo Дата: Пятница, 05.01.2018, 15:11 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3250
Репутация: 707 ±
Замечаний: 0% ±

2019
Куда нужно это получить? Думаю если в виде месиджбокса - то любой разумный человек уразумеет и так что там за число :)
Хотя можно и вывести, см. ниже.


excel@nxt.ru
webmoney: E265281470651 Z422237915069


Сообщение отредактировал Hugo - Пятница, 05.01.2018, 15:15
 
Ответить
СообщениеКуда нужно это получить? Думаю если в виде месиджбокса - то любой разумный человек уразумеет и так что там за число :)
Хотя можно и вывести, см. ниже.

Автор - Hugo
Дата добавления - 05.01.2018 в 15:11
Hugo Дата: Пятница, 05.01.2018, 15:13 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3250
Репутация: 707 ±
Замечаний: 0% ±

2019
MsgBox (Format(Number, "0.00") не работает
- с чего это? Потому что скобку забыли?
[vba]
Код
Sub tt()
Dim Number As Double

Number = 123
MsgBox (Format(Number, "0.00"))

End Sub
[/vba]


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
Сообщение
MsgBox (Format(Number, "0.00") не работает
- с чего это? Потому что скобку забыли?
[vba]
Код
Sub tt()
Dim Number As Double

Number = 123
MsgBox (Format(Number, "0.00"))

End Sub
[/vba]

Автор - Hugo
Дата добавления - 05.01.2018 в 15:13
Planetary Дата: Пятница, 05.01.2018, 15:51 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Да, так действительно работает.

У меня по-другому было. Мне теперь надо превратить число с 2-мя знаками после запятой в строку, причём десятичный разделитель должен быть точкой. Если я вывожу Str(моё число), то он автоматически отбрасывает нулевую часть после запятой.

Как это можно решить?
 
Ответить
СообщениеДа, так действительно работает.

У меня по-другому было. Мне теперь надо превратить число с 2-мя знаками после запятой в строку, причём десятичный разделитель должен быть точкой. Если я вывожу Str(моё число), то он автоматически отбрасывает нулевую часть после запятой.

Как это можно решить?

Автор - Planetary
Дата добавления - 05.01.2018 в 15:51
Planetary Дата: Пятница, 05.01.2018, 15:56 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Кажется, получилось.

Сделал так: Replace(CStr(Format(-OperationCreditValue, "0.00")), ",", ".").
 
Ответить
СообщениеКажется, получилось.

Сделал так: Replace(CStr(Format(-OperationCreditValue, "0.00")), ",", ".").

Автор - Planetary
Дата добавления - 05.01.2018 в 15:56
Karataev Дата: Пятница, 05.01.2018, 16:51 | Сообщение № 7
Группа: Проверенные
Ранг: Старожил
Сообщений: 1334
Репутация: 533 ±
Замечаний: 0% ±

Excel
CStr не нужно, т.к. Format возвращает данные в виде "String".

PS. Оформляете макросы и формулы тегами (они на панели инструментов, когда пишите пост).
 
Ответить
СообщениеCStr не нужно, т.к. Format возвращает данные в виде "String".

PS. Оформляете макросы и формулы тегами (они на панели инструментов, когда пишите пост).

Автор - Karataev
Дата добавления - 05.01.2018 в 16:51
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Вывод десятичного числа в формате 0.00 (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!