Страницы: 1
RSS
Математическое округление в VBA
 
Добрый день! Подскажите, почему формула ROUND при расчете в коде VBA округляет неверно? И как это исправить? Прилагаю файл с расчетом с помощью кода и с помощью формулы.
Код
  Function formula(arg, minvp, minoc, normvp, normoc, maxvp, maxoc As Variant) As Variant
  If (arg > normvp) And (arg <= maxvp) Then formula = Round(normoc + ((arg - normvp) / (maxvp - normvp) * (maxoc - normoc)), 2)
  End Function
 
gerbera,
Код
Application.RoundUp
 
Все верно. Нужно уточнить понятие "округление".
ROUND VBA использует банковское округление.
ROUND EXCEL использует математическое округление.
 
RAN,  Мне необходимо чтобы код VBA округлял математически. То есть так же как это делает ОКРУГЛ. Это возможно?
Изменено: gerbera - 17.10.2017 19:29:17
 
См. сообщение 2
PS пардон, вспылил

Код
Application.Round
Изменено: RAN - 17.10.2017 20:13:41
 
RAN, Спасибо, так работает!
Страницы: 1
Читают тему
Наверх