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