Vba で値を丸める方法 (例あり)
VBA のRoundUpメソッドを使用して値を四捨五入できます。
この関数は次の基本構文を使用します。
Sub RoundUpValue()
Range(" B1 ") = WorksheetFunction.RoundUp(Range(" A1 "), 0)
End Sub
この特定の例では、セルA1の値を最も近い整数に四捨五入し、結果をセルB1に表示します。
RoundUpメソッドの 2 番目の引数は、切り上げる桁数を指定することに注意してください。
- -次の 1,000 まで3ラウンド
- -100の位まで2ラウンド
- -1 は10 の位まで切り上げます
- 0 は最も近い整数に丸めます
- 1 は小数点第 1 位を四捨五入します。
- 2百の位以下を四捨五入(小数点第 2 位)
- 3 1000 分の 1 未満を四捨五入 (小数点第 3 位)
等々。
次の例は、実際にRoundUpメソッドを使用する方法を示しています。
例 1: VBA で最も近い整数に丸める
次のマクロを作成して、セルA1の値を最も近い整数に丸め、結果をセルB1に表示できます。
Sub RoundUpValue()
Range(" B1 ") = WorksheetFunction.RoundUp(Range(" A1 "), 0)
End Sub
このマクロを実行すると、次の出力が表示されます。
セルA1の値 1432.78 は、セルB1の最も近い整数 1433 に四捨五入されていることに注意してください。
例 2: VBA で百の位に四捨五入する
次のマクロを作成して、セルA1の値を百の位に四捨五入し、結果をセルB1に表示できます。
Sub RoundUpValue()
Range(" B1 ") = WorksheetFunction.RoundUp(Range(" A1 "), -2)
End Sub
このマクロを実行すると、次の出力が表示されます。
セルA1の値 1432.78 は、セルB1では 1500 の百の位に四捨五入されていることに注意してください。
例 3: VBA で小数点以下を四捨五入する
次のマクロを作成して、セルA1の値を最も近い 10 位 (つまり、小数点以下 1 桁) に四捨五入し、結果をセルB1に表示できます。
Sub RoundUpValue()
Range(" B1 ") = WorksheetFunction.RoundUp(Range(" A1 "), 1)
End Sub
このマクロを実行すると、次の出力が表示されます。
セルA1の値 1432.78 は、セルB1の 1432.8 の最も近い 10 分の 1 に切り上げられていることに注意してください。
注: VBA RoundUpメソッドの完全なドキュメントはここにあります。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。
VBA: SUMIF 関数と SUMIFS 関数の書き方
VBA: COUNTIF 関数と COUNTIFS 関数の書き方
VBA: AVERAGEIF 関数と AVERAGEIFS 関数の書き方