VBA で切り上げる

Iqra Hasnain 2022年7月12日
VBA で切り上げる

例を使用して、VBA の Round() および RoundUp() 関数を紹介します。

VBA で Round() または RoundUp() 関数を使用する

数値と計算を含む Excel シートで作業していると、分数で結果が得られます。これらの 10 進数を整数に変換しなければならない場合があります。

VBA は、10 進数を整数に変換するために使用できる 3つの異なる関数を提供します。この記事では、2つの機能について説明します。

Round() は、10 進数を最も近い整数に丸めます。たとえば、10 進数を格納してから、Round() 関数を使用します。

サンプルコード:

# VBA
Sub roundFunc()
Dim num As Double
num = 5.79
MsgBox Round(num)
End Sub

出力:

VBA の round 関数

10 進数を四捨五入するまで、小数点以下の桁数を指定することもできます。同じ数値を小数点以下第 1 位まで四捨五入してみましょう。

サンプルコード:

# VBA
Sub roundFunc()
Dim num As Double
num = 5.79
MsgBox Round(num, 1)
End Sub

出力:

関数を VBA の小数点以下 1 桁に丸めます

上記の結果から、小数点以下 1 桁まで簡単に四捨五入できます。この関数を使用して、Excel シートのセルの値を四捨五入することもできます。

範囲法を使用して、Excel シートの数値を丸めてみましょう。

サンプルコード:

# VBA
Sub roundFunc()
Range("A1").Value = Round(Range("A1").Value, 1)
End Sub

出力:

VBA の Excel シートから数値を四捨五入

小さい整数に近い場合でも 10 進数を切り上げることができる別の関数について説明しましょう。10 進数を常に 10 進数よりも大きい整数に四捨五入しなければならない状況が多くあります。

構文:

# VBA
Application.WorksheetFunction.RoundUp(num, 1)

例を挙げて、RoundUp() 関数を使用してみましょう。

サンプルコード:

# VBA
Sub roundFunc()
Dim num As Double
num = 5.468
MsgBox Application.WorksheetFunction.RoundUp(num, 1)
End Sub

出力:

VBA の切り上げ関数

このように、RoundUp() 関数を使用して、数値を可能な限り最大の整数に丸めることができます。