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
となり、すべて十の位で四捨五入されています。