[VBA] 整数型 (Integer) と長整数型 (Long) 変数

 今回は 整数型変数と長整数型変数 について解説します。

変数のデータ型② 整数型変数 (Integer)

 整数型変数 (Integer) には 16 bit の整数を格納します。扱える範囲は -32,768 ~ 32767 です。暦とか年齢とか、あまり大きくない整数を入れるときに使用しましょう。間違っても価格などのデータには使わないでね。このデータ型だと3万円ぐらいまでしか扱えませんよ。
 

変数のデータ型③ 長整数型変数 (Long)

 長整数型変数 (Long) には 32 bit の整数を格納します。扱える範囲は整数型よりずっと大きくて -2,147,483,648 ~ 2,147,483,647 となっています。万を超えるような整数を扱うときは長整数型変数にしておいたほうが無難です。
 

整数型と長整数型の処理速度の違いは?

 「Integer のほうが Long より小さな値を扱うから処理速度が速くなる」と言われることもありますが、一概にそうとは言えないようなのです。はっきりしたことはわからないのですが、処理速度はお使いの PC 環境や Excel のバージョンに大きく左右されます。現在はほとんどの PC が 32 bit あるいは 64 bit だと思いますけど、32 bit の PC であれば、32 bit の Long のほうがデータ変換の手間が省けるぶんだけ処理が速くなる可能性があります。ですから迷うようであれば整数を扱うときはすべて Long に統一してしまう、という手もあります。
 

五捨六入方式で丸めます

 整数型・長整数型変数について少しだけ注意しなくてはならない点をマクロを使って説明しておきます。

 '数値を丸めます

 Sub RoundNumber()

 Dim m As Integer
 Dim n As Integer

 m = 2.5
 n = 2.6

 Debug.Print "m = " & m, "n = " & n

 End Sub

 変数 m と n を整数型で宣言しておいて、それぞれ 2.5 , 2.6 という値を入れています。このマクロを実行してみると

 m = 2  n = 3

という結果が表示されます。つまり小数は丸められて 2.5 は 2 になり、2.6 は 3 になっています。このように整数型変数に小数を入れると「五捨六入方式」で数値が丸められるのです。これは長整数型変数でも同じです。整数型変数は数値丸めの手法でよく用いられますが、「五捨六入方式」であることを忘れていると思わぬミスが生じる可能性があります。

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

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

コメントをどうぞ

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

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