変数のデータ型
変数宣言【Dim】にもデータ型の表は記載してますが、そのデータ型の説明という事なので、この記事にもデータ型の表を記載しておきますね。データ型 | 名前 | 消費メモリ | 格納できるもの |
Integer | 整数型 | 2byte | -32,768~32,767まで |
Long | 長整数型 | 4byte | -2,147,483,648~2,147,483,647まで |
Single | 単精度浮動小数点数型 | 4byte | -3.402823E38~ -1.401298E-45(負の値) |
1.401298E-45~ 3.402823E38(正の値) | |||
Double | 倍精度浮動小数点数型 | 8byte | -1.79769313486232E308~ -4.94065645841247E-324(負の値) |
4.94065645841247E-324~ 1.79769313486232E308(正の値) | |||
Currency | 通貨型 | 8byte | -922,337,203,685,477.5808~ 922,337,203,685,477.5807 |
String | 文字列型 | 2byte | 指定した文字列 |
Date | 日付型 | 8byte | 日付と時間 |
Object | オブジェクト型 | 4byte | オブジェクト |
Variant | バリアント型 | 16byte | ほぼ何でも |
Boolean | ブール型 | 2byte | TrueまたはFalse |
では上記の表のデータ型についての説明に入ります。
Integer、Long
まずはIntegerとLongについてです。Integerは難しく考える事はなく、単純に整数を入れることができる枠ということになります。
ただし、-32,768~32,767という数字を超えてしまう場合は使えません。
これからマクロを組む時、例えばA1のセルからA100のセルまで1から数字を入れていくとします。
その時繰り返す数は100回なので32,767を超えていませんのでLongより消費メモリが軽いIntegerを使うと最適ですよね?
でも金額の計算をしてる場合、32,767円は簡単に超える可能性が高いと思います。
もし32,767を超えた場合、Integerの箱から溢れてしまいますので、そういう時に使うのがLongになります。
このLongの場合、2,147,483,647まで使えますので20億を超えない限り使えなくなることはありません。
なので莫大な数字を扱う場合以外はInteger、莫大な数字を扱う場合はLongにするといいでしょう。
Single、Double
次に【 Single と Double 】についてです。このSingleとDoubleに関しては、パソコンの専門的な知識が必要になりますので詳しい説明は省きます。
簡単に説明するとSingleは整数と小数合わせて7桁、Doubleは整数と小数合わせて16桁まで扱えます。
また、小数点を扱う場合、SingleやDoubleを使わないといけないということはなく、むしろSingleやDoubleを使った方がごくわずかな誤差などが出やすいため、計算などはStringでもできますのでそちらをお勧めします。
Currency
次に【 Currency 】についてです。こちらもSingleやDoubleと同じで使用する機会が少ないものになり、同じようにパソコンの専門的な知識が必要になりますので詳しい説明を省きます。
Single、Double、Currencyは全て2進数や10進数などが絡んできますので、詳しく知りたい方はネットで調べてみてくださいね。
String
次の【 String 】は一番使う事になってくると思います。このString型は数字でも記号でも平仮名やカタカナ、漢字まで文字なら何でも入れてくれるのです。
記載方法はダブルクォーテーションで囲みます。
ただし、記号を使う際にダブルクォーテーションを使いたい場合はダブルクォーテーションを2重にします。
例1)ダブルクォーテーションを使わない場合
変数名 = "このサイトわかりやすい?笑" → このサイトわかりやすい?笑
例2)ダブルクォーテーションを使う場合
変数名 = ""ここのサイトわかりやすい?笑"" → "このサイトわかりやすい?笑"
Date
次に【 Date 】についてです。こちらも人によっては使うことも多いかと思いますが、個人的にはFormatなどの関数を利用することのほうが多いです。
こちらは日付と時間の表記に使うものになります。
日付は西暦100年1月1日 ~ 西暦9999年12月31日まで
時間は0:00 ~ 23:59までを扱う事ができます。
Object
次に【 Object 】についてです。このObjectはこのサイトのテーマでもあるInternetExplorer(IE)の自動操作では特に一番重要になります。
なのでIEの自動操作がしてみたい方はよく覚えておいてくださいね。
もちろん、Excelの中でも重要になるので出来るだけ覚えておいてください。
Objectとは簡単に言うとパーツです。
例えばExcelのA1とかA2とかのセルもObjectですし、このサイトにある表や今このサイトを見てくださってるブラウザ(IEだったりChromeだったり)もObjectです。
サイトを見ていて文字を打てる部分、検索などのボタンなどもObjectです。
つまり何かを動かそうと思ったらパソコンに「○○というObjectを動かして」と指示をしないといけないのです。
これからVBAを組む中でセルの指定だったりIEを選んだりする際に意識していくとわかりやすいと思います。
Variant
次に【 Variant 】についてです。これは特に何も考えることはないです。
単純にVariantを指定してあげたら後はパソコンが自動で適切な型になってくれるので、もしどの型に入れていいかわからない時はVariantを使うといいと思います。
ただし、消費メモリが一番大きいので処理速度は一番遅いです。
なので型がわかる時には出来るだけ適切な型を使ってあげましょう。
Boolean
最後に【 Boolean 】についてです。これはIfなどのステートメントを使いだすと使用する機会があるかと思いますが、BooleanはTrueもしくはFalseを格納します。
Trueとは日本語では「真」と言い、正しいという意味です。
Falseとは日本語では「偽」と言い、間違っている時です。
この辺りについてはIfステートメントの時にわかるようになると思います。
Booleanについては自分がTrueの値が欲しかった時やFalseの値が欲しかった時に使います。