Excel VBA 四捨五入するサンプル

Excel VBAのWorksheetFunction.Roundメソッドで、四捨五入するサンプルです。

目次

四捨五入 四捨五入する(WorksheetFunction.Round)
注意点 Round関数での四捨五入は銀行丸め

四捨五入する(WorksheetFunction.Round)

WorksheetFunction.Round(引数1、 引数2)

コード

WorksheetFunction.Roundメソッドで、四捨五入するサンプルです。

Sub test1()

    Dim num1 As Double
    num1 = 2.5
    Debug.Print WorksheetFunction.Round(num1, 0) '3が表示される

    Dim num2 As Double
    num2 = 2.26
    Debug.Print WorksheetFunction.Round(num2, 0) '2が表示される
    Debug.Print WorksheetFunction.Round(num2, 1) '2.3が表示される
    
    Dim num3 As Double
    num3 = 2.82
    Debug.Print WorksheetFunction.Round(num3, 0) '3が表示される
    Debug.Print WorksheetFunction.Round(num3, 1) '2.8が表示される

End Sub

WorksheetFunction.Roundメソッドの2つめの引数は、四捨五入した結果の桁数になります。
四捨五入した結果を整数にしたい場合は、5行目のように2つめの引数に0をセットします。

Round関数での四捨五入は銀行丸め

Round(式、[ numdecimalplaces ])

コード

Round関数で、四捨五入するサンプルです。

Sub test1()

    Debug.Print Round(2.5, 0) '2が表示される
    Debug.Print Round(3.5, 0) '4が表示される

    Debug.Print WorksheetFunction.Round(2.5, 0) '3が表示される

End Sub

3行目は、Round関数です。端数が0.5で整数の箇所が偶数なのでゼロへの丸めになります。
4行目もRound関数で端数が0.5ですが、整数の箇所が奇数なので通常の四捨五入になります。
6行目は、WorksheetFunction.Roundメソッドです。通常の四捨五入です。

関連の記事

Excel VBA 数値を切り上げるサンプル
Excel VBA 数値を切り下げるサンプル

△上に戻る