少数 → 整数へのキャストに伴う丸め
Dim i As Integer
i = 9 / 10
MsgBox (i)
結果
1
_人人_
> 1 <
 ̄Y ̄
少数部分が0.0 <= x <=0.5 の範囲なら 0
小数部分が0.5 < x の範囲なら 1。
ギリギリ四捨五入じゃない。なんだこの仕様。
関数まとめ
Excelの関数を直接呼びにいく
Application.Round(0.5, 0) ' 正しく四捨五入
Application.RoundUp(0.1, 0) ' 切り上げ
Application.RoundDown(0.5, 0) ' 切捨て