構文
構文は以下の通りです。
Application.WorksheetFunction.Round(数値, 小数桁数)
解説
「Application.WorksheetFunction.Round」は、Excelの計算式である「ROUND」関数をVBA内で使用するためのメソッドです。
引数 | 指定 | 内容 |
数値 | 必須 | 四捨五入したい数値を指定します。 |
小数桁数 | 必須 | 数値を四捨五入する際の小数点以下の桁数を指定します。 |
使用例
Application.WorksheetFunction.Round(3.14159, 2)
使い方
具体的な使い方を紹介します。
1.単純な四捨五入
まずは、基本的な使い方として、数値を指定した桁数に四捨五入する例を紹介します。
Dim result As Double
result = Application.WorksheetFunction.Round(3.14159, 2)
result = Application.WorksheetFunction.Round(3.14159, 2)
上記のコードでは、数値3.14159を小数点以下2桁に四捨五入し、結果を変数「result」に格納しています。結果は「3.14」となります。
2.負の数の四捨五入
「Application.WorksheetFunction.Round」は、負の数を四捨五入する際にも使用できます。
Dim result As Double
result = Application.WorksheetFunction.Round(-2.71828, 0)
result = Application.WorksheetFunction.Round(-2.71828, 0)
上記のコードでは、数値-2.71828を小数点以下0桁に四捨五入し、結果を変数「result」に格納しています。結果は「-3」となります。
プログラミング例
テストの点数が入力されたセル範囲から平均点を計算し、小数点以下2桁に四捨五入するプログラミング例を示します。
Sub CalculateAverage()
Dim rng As Range
Dim total As Double
Dim count As Integer
Dim average As Double
Set rng = Range("A1:A10") ' テストの点数が入力されたセル範囲を指定
For Each cell In rng
total = total + cell.Value
count = count + 1
Next cell
average = total / count
average = Application.WorksheetFunction.Round(average, 2) ' 平均点を小数点以下2桁に四捨五入
MsgBox "平均点: " & average
End Sub
Dim rng As Range
Dim total As Double
Dim count As Integer
Dim average As Double
Set rng = Range("A1:A10") ' テストの点数が入力されたセル範囲を指定
For Each cell In rng
total = total + cell.Value
count = count + 1
Next cell
average = total / count
average = Application.WorksheetFunction.Round(average, 2) ' 平均点を小数点以下2桁に四捨五入
MsgBox "平均点: " & average
End Sub
上記のコードでは、A1からA10までのセル範囲に入力された点数を合計し、その平均点を計算しています。そして、平均点を小数点以下2桁に四捨五入して表示するメッセージボックスが表示されます。
まとめ
Application.WorksheetFunction.Roundメソッドを使用することで、指定した桁数に数値を四捨五入することができます。是非活用してください。