2015年10月30日金曜日

エクセルVBA 数字のフォーマットを変更する方法

今回はエクセルVBAで貨幣型データのフォーマットを自由に変更する方法を紹介します。

Worksheets("Sheet1").Columns("A").NumberFormatLocal = """Rs"" #,##0"

このように書くとシート1のA列のデータすべてが「Rs 1,000」のように表示されます。ちなみにRsはインド・ルピーのことです。ついでに3桁ごとにコンマが入ります。コンマを入れたくない場合は削除してください。

「円」と表示したいのであればこのように書きます。

Worksheets("Sheet1").Columns("A").NumberFormatLocal = "#,##0 ""円"""

するとこのように書くとシート1のA列のデータすべてが「1,000円」のように表示されます。

ポイントは""円""のように、表示させたい文字列は "" と "" で囲むことです。
マイナス時の表記を設定したい場合は ; で区切ります。

Worksheets("Sheet1").Columns("A").NumberFormatLocal = "#,##0;[赤]#,##0"

こうするとマイナスのときにだけ数字が赤くなります。英語環境では[赤]ではなく[Red]としてください。