Function dmwSymArithRoundUp(ByVal Number As Variant, ByVal Places As Integer) _ As Double '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ' Note: Symmetric arithmetic rounding ' Positive and negative numbers move away from 0 ' .5s rounded up ' Author: David Wallis (DMW Consultancy Limited) ' Date: 28 Aug 1997 '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Dim dblTemp As Double dblTemp = CDec(Nz(Number)) dblTemp = CDec(dblTemp * 10 ^ Places) dmwSymArithRoundUp = Fix(dblTemp + 0.5 * Sgn(Number)) / 10 ^ Places End Function