[VBA] 通貨型変数 (Currency)

 今回は 通貨型変数 (Currency) について解説します。

変数のデータ型⑥ 通貨型変数 (Currency)

 通貨型変数 (Currency) は整数部 15 桁、小数部 4 桁の固定小数点型変数です。
 扱える範囲は

 -922,337,203,685,477.5808 ~ 922,337,203,685,477.5807

となっています。内部的には 10000 倍されて 19 桁の整数として記憶されます。通貨型変数には有効数字 19 桁の数値を入れることができて、また計算結果も 19 桁の数として処理されますが、セルやイミディエイトウィンドウに出力すると 15 桁の数値に丸められてしまいます。通貨型変数を表示形式が [標準] となっているセルに出力すると、表示形式が [通貨] になって数値の前に ¥マークがつきます。さっそく試してみましょう。

 'セルに 10000 円を入力します

 Sub CurrencyTest1()

  Dim x As Currency

  x = 10000

  Range("B2").Value = x

 End Sub

 マクロを実行すると下図のように金額が入力されますよ。

 Excel VBA Currency型でセルに金額を入力

 次は通貨型変数を使って 12 の 12 乗という大きな値を計算させてみましょう。

 '12 の 12 乗の計算

 Sub CurrencyTest()

 Dim x As Currency

 x = 12 ^ 12

 Debug.Print "x = " & x

 'x を 12 で 12 回割ります
 For i = 1 To 12

 x = x / 12

 Next i

 Debug.Print "x/(12^12) = " & x

 End Sub

 マクロを実行すると最初の行に 8916100448256 という値が表示されます。「ほんまかいな? 桁落ちとかしてるんとちゃう?」という疑り深い人のために検算として、この値を 12 で 12 回割って表示させています。きっちり「1」という値が表示されます。

 ≫ VBA 辞典メニューに戻って他の記事も読んでくださいな~♪

スポンサードリンク
末尾大型広告
末尾大型広告

コメントをどうぞ

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)