2017年7月26日

【Excel】数値を書式設定するマクロ


FormatNumber関数で数値を書式設定することができます。

Sub GetFormatNumber()

    MsgBox FormatNumber(1200)
    
End Sub
第2引数以下の引数を省略すると、省略した引数の設定にはシステムの地域の設定が使用されます。

実行結果



表示する小数点以下の桁数を指定

第2引数に少数の桁数を指定できます。数値は四捨五入されるようです。
Sub GetFormatNumber()

    MsgBox FormatNumber(200 / 3, 2)
    
End Sub

実行結果



小数値に先行ゼロを表示するかどうかの指定

第3引数で小数値に先行ゼロ(1以下の数値の場合の先頭の0という意味?)を表示させるかどうかを指定できます。
Sub GetFormatNumber()

    MsgBox FormatNumber(0.056, 3, vbTrue)
    
End Sub
Trueを指定した場合。

実行結果



Sub GetFormatNumber()

    MsgBox FormatNumber(0.056, 3, vbFalse)
    
End Sub
Falseを指定した場合。

実行結果



負の値をカッコで囲むかどうかの指定

第4引数で負の値をカッコで囲むかの指定ができます。
Sub GetFormatNumber()

    MsgBox FormatNumber(-100, 0, vbTrue, vbTrue)
    
End Sub
Trueを指定。

実行結果

カッコで囲まれた形で表示されます。


区切り記号の表示

第5引数で桁の区切り記号を表示させるかどうかの指定が出来ます。
Sub GetFormatNumber()

    MsgBox FormatNumber(1234567, 0, vbTrue, vbTrue, vbFalse)
    
End Sub
Falseを指定。

実行結果

カンマが無い状態で表示されます。



<参考サイト>
FormatNumber 関数 | Office VBA 言語リファレンス



スポンサーリンク