[Access VBA] 小数点切り上げ関数

 VBA は意外な機能がついていないので驚きます。まあ他の記述で代用できると考えているようですが、小数点以下を切り上げる関数が無いとき、Excel オブジェクトから RoundUp 関数を呼び出すのは現実的ではないので、エレガントな方法を考えなければなりません。

ということで考えました。

Function Ceil(Expression) As Long
    Ceil = Fix(Expression + 0.9)
End Function

想定以上に簡単でした。元の値に0.9足して切り捨てるだけです。

Fix(1.1 + 0.9) = 2

Fix(1 + 0.9) = Fix(1.9) = 1

Fix(1.5 + 0.9) = Fix(2.4) = 2

Fix(1.9 + 0.9) = Fix(2.8) = 2

小数第二位以下も扱うのであれば、0.999のように9を並べる感じで実現できます。

Fix(2.02 + 0.99) = Fix(3.01) = 3