VBAで四捨五入を行うにはInt関数を用いて行う方法もあります。
Int関数は対象値の整数値未満を切り捨てる関数ですが、
対象値に0.5をたすことによって四捨五入をすることができます。
Sub 四捨五入Sample_int1() Dim Num(3) As Variant Num(0) = 15.1 Num(1) = 15.4 Num(2) = 15.5 Num(3) = 16.5 For i = 0 To 3 '小数第一位で四捨五入 Debug.Print Int(Num(i) + 0.5) Next End Sub
結果は
15
15
16
17
となり、すべて小数第一位で四捨五入されます。
整数値だけでなく、以下のように
小数点の位置をずらして整数化し、
四捨五入後に元に戻してあげることで、
様々な桁位で四捨五入することができます。
Sub 四捨五入Sample_int2() Dim Num(3) As Variant Num(0) = 1510 Num(1) = 1540 Num(2) = 1550 Num(3) = 1650 For i = 0 To 3 '十の位で四捨五入 Debug.Print Int(Num(i) / 100 + 0.5) * 100 Next End Sub
上の例では百の位までを表示するため、
まず100で割った値をし、四捨五入後に100をかけています。
それにより結果は
1500
1500
1600
1700
となり、すべて十の位で四捨五入されています。