Excel - функция FormatNumber

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
anval
Сообщения: 98
Зарегистрирован: 09 ноя 2004, 10:06

Есть макрос:

Sub Test()

Dim Произв1 As Single
Dim Произв2 As Single
Dim Рез1 As Single
Dim Рез2 As Single

Произв1 = 302.5 * 3.1
Рез1 = Произв1 / 1000
Range("C1").Value = FormatNumber(Рез1, 3)

(Параметр функции «3» - это число знаков, отображаемых после десятичной точки)

Произв2 = 302.5 * 4.1
Рез2 = Произв2 / 1000
Range("C2").Value = FormatNumber(Рез2, 3)

End Sub


В результате работы макроса в ячейку «С1» записано значение «0,938» (прижатое к левой границе), в ячейку «С2» - значение «1 240» (прижатое к правой границе).
Как объяснить 2-ой результат (ожидалось значение «1,240»)? Формат ячеек «C1» и «C2» - «Общий».
Спасибо
nilem
Сообщения: 112
Зарегистрирован: 14 ноя 2008, 01:59
Откуда: Уфа

Вместо FormatNumber используйте Round

Round(Рез2, 3)
anval
Сообщения: 98
Зарегистрирован: 09 ноя 2004, 10:06

Спасибо, nilem, так и сделаю
Ответить