VBA講座02 変数のデータ型を宣言します
(整数型と倍精度浮動小数点数型)

整数型の変数に整数以外の数字を入れると?

 前回のマクロを再掲します。

 Sub 足し算()
  Dim x As Integer
  x = 1 + 1
  MsgBox x
 End Sub

 このマクロでは 1 + 1 = 2 を計算させているのですが、x は 整数型 (Integer) であると宣言しています。そこでもし、このマクロの内容を

 Sub 足し算2()
  Dim x As Integer
  x = 1 + 1.8
  MsgBox x
 End Sub

と書き換えるとどうなるでしょう? マクロを実行すると「 3 」が返ってくるはずです。1 + 2 = 2.8 という数字を変数 x に格納しようとしても
「 x は整数型で宣言されているから、そんな数字は入れられないよ」
ということで、勝手に切り上げて 3 という数字に変えてしまっているのです。
「こんなの私のさせたかった計算じゃないよ!」
と思っても仕方ありません。変数の宣言の仕方が悪かったのです。そこで宣言文のところを変えて

 Sub 足し算3()
  Dim x As Double
  x = 1 + 1.8
  MsgBox x
 End Sub

としてみましょう。すると無事に「 2.8 」という値が表示されます。
 

倍精度浮動小数点数型

 Double というデータ型は 倍精度浮動小数点数型 というやたらと面倒な名前がついているのですが、今の段階でそれが何を意味するのかを勉強してもあまり面白いものではありませんし、時間はとられるし、プログラミングが上手くなるわけでもないので、とりあえず後回しにして、

普通の実数の計算をさせるなら Double 型

と覚えておくだけで十分です。変数のデータ型には他にも Single や Long など色々ありますが、そういう変数も使わないなら覚えても意味がありません。作りたいマクロに応じてヘルプや市販のマニュアルなどを参照すればよいのです。この講座でも「何か新しい記号が現れたら、その都度説明する」というスタンスで進めていきますので、気長にお付き合いください。

 ≫ InputBOX関数を使ってみます
 ≫ マクロ講座トップページに戻ります。

スポンサーリンク
末尾広告
末尾広告

コメントをどうぞ

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください