教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

ExcelVBAのWorksheetFunctionオブジェクトで使用するRound関数の使い方

構文

構文は以下の通りです。

WorksheetFunction.Round(数値, 小数点以下の桁数)

解説

WorksheetFunctionは、ExcelVBAの組み込みオブジェクトで、Excelのワークシート関数をVBAから呼び出す際に使用します。Round関数は、数値を指定した小数点以下の桁数に丸めます。小数点以下を四捨五入します。桁数に0を指定すると、整数に四捨五入されます。マイナスの桁数を指定すると、小数点より左側(十の位など)で丸めることもできます。数値は、丸めたい数値を指定します。小数点以下の桁数は、どこまで小数点を残すか、桁数を指定します。0を指定すると整数になります。

プログラミング例

具体的なプログラミング例を紹介します。

(例1)小数点以下2桁に四捨五入

Sub 小数点2桁に丸める()
    Dim 数値 As Double
    Dim 結果 As Double
    数値 = 3.14159
    結果 = WorksheetFunction.Round(数値, 2)
    MsgBox "3.14159を小数点以下2桁で四捨五入すると: " & 結果
End Sub

上記のプログラムでは、変数「数値」に3.14159を代入し、Round関数を使用して小数点以下2桁で四捨五入しています。結果は3.14となります。

(例2)整数に四捨五入

Sub 整数に丸める()
    Dim 数値 As Double
    Dim 結果 As Double
    数値 = 3.14159
    結果 = WorksheetFunction.Round(数値, 0)
    MsgBox "3.14159を整数に四捨五入すると: " & 結果
End Sub

上記のプログラムでは、数値を整数に丸めます。Round(数値, 0)とすることで、小数点以下が四捨五入され、3となります。

(例3)十の位で四捨五入

Sub 十の位に丸める()
    Dim 数値 As Double
    Dim 結果 As Double
    数値 = 345.67
    結果 = WorksheetFunction.Round(数値, -1)
    MsgBox "345.67を十の位で四捨五入すると: " & 結果
End Sub

上記のプログラムでは、小数点の左側の桁を指定して四捨五入を行います。Round(数値, -1)とすることで、十の位に四捨五入されて350となります。

まとめ

Round関数は、数値を指定した桁数に四捨五入するための関数です。小数点以下の桁数を指定して四捨五入することができ、桁数に0を指定すると整数になります。マイナスの桁数を指定すれば、小数点の左側の桁でも丸めることができます。