マクロ(VBA)の四捨五入(ApplicationRound)。

2018年9月5日

EXCELの関数で四捨五入があります。
ROUND関数で使用されていると思いますが、
VBAのの場合、ROUNDを使用すると、四捨五入の結果が関数と違ってきます
一般では、「銀行型丸め」「銀行丸め」と呼ばれる四捨五入をします。
それで良い業種なら問題ないのですが、普通は5以上は切り上げ、未満は切り捨てですよね。
※銀行型丸めの詳細は端折ります

Excel.WorksheetFunctionのクラスのメソッドApplication.Round等を使用します。

VBA

・四捨五入
a = Application.Round(1.5, 0)

・切り上げ
b = Application.RoundUp(1.5, 0)

・切り捨て
c = Application.RoundDown(1.5, 0)

自分は昔これで引っかかり、大変な目にあったことがあります。

VBA(マクロ)

Posted by master