function floor(byval n) dim iTmp, bErr on error resume next n = cdbl(n) if err then bErr = true on error goto 0 if bErr then err.raise 5000, "Floor Function", _ "Input must be convertible to a sub-type of double" 'Round() rounds up iTmp = round(n) 'test rounded value against the non rounded value 'if greater, subtract 1 if iTmp > n then iTmp = iTmp - 1 floor = cInt(iTmp) end function function ceil(byval n) dim iTmp, bErr, f on error resume next n = cdbl(n) if err then bErr = true on error goto 0 if bErr then err.raise 5000, "Ceiling Function", _ "Input must be convertible to a sub-type of double" f = floor(n) if f = n then ceil = n else ceil = cInt(f + 1) end if end function