ExcelVBAの入門レベルのセミナーで変数と変数の宣言方法をご説明しています。
単価や合計金額など、金額はCurrency型として定義するのが一般的です。
ところがこれをそのままセルに代入してしまうと、セルの書式が変わってしまうことがあります。
例えば以下のようなプログラムを、書式設定をしていないワークシートに対して実行すると、
セルA1には \100.00 のように\マークだけではなく、小数点以下2桁までが表示されるようになります。
Sub 練習()
Dim 価格 As Currency
価格 = 100
Range("A1").Value = 価格
End Sub
このような動きを回避するには、予めワークシートのセルに書式を設定しておくか、
あるいは
Format関数を使って 価格の値をどのように表示するか定義してからセルに代入すると
期待通りの表示結果になります。
例えば3桁ごとにカンマを表示するだけならば以下のようなFormat関数を作成します。
Sub 練習()
Dim 価格 As Currency
価格 = 100
Range("A1").Value = Format(価格, "#,##0")
End Sub
2008年12月02日
Format関数とCurrency型
posted by Three bit com at 10:00| Excel(エクセル)