ExcelVBA技
全般
E13M015
E13M015 (Excel2000~2013)
数値を任意の有効桁数に四捨五入する
VBAで四捨五入を行う場合は、ワークシート関数(組込み関数)によるWorksheetFunction.Roundメソッドを用いて簡単に行えます。
ここでは、数値を任意の有効桁数に四捨五入するkRound2関数を示します。
また、数値を任意の有効桁数に切上げるkRoundup2関数、数値を任意の有効桁数に切下げるkRounddown2関数もあわせて示します。
'kRound2 関数 '数値を四捨五入して指定した有効桁数にします '書式 kRound2(数値, 有効数字の桁数) '数値 四捨五入の対象となる数値を指定します '有効数字の桁数 数値を四捨五入した結果の有効数字の桁数を指定します '例 =kRound2(0.1055,3) → 0.106 =kRound2(5455,3) → 5460 Function kRound2(ex#, num&) As Double kRound2 = Application.Round(ex, -Int(Application.Log(Abs(ex))) - 1 + num) End Function 'kRoundup2 関数 '数値を任意の有効桁数に切上げる Function kRoundup2(ex#, num&) As Double kRoundup2 = Application.RoundUp(ex, -Int(Application.Log(Abs(ex))) - 1 + num) End Function 'kRounddown2 関数 '数値を任意の有効桁数に切下げる Function kRounddown2(ex#, num&) As Double kRounddown2 = Application.RoundDown(ex, -Int(Application.Log(Abs(ex))) - 1 + num) End Function