変数を宣言しようここから、少々ややこしい話になります(まだまだ初心者への道のりは長いです)。
今まで、変数はすべて宣言しないでここまで来ましたが、ここからはすべて変数を
宣言していきます。データ型を宣言しないと、百害あって一利なしといえます。
メリットとして、誤ったデータ型がInputされるとエラーが発生すること、エディタの
便利機能が使えることなどがあります。変数を定義するには、1.変数に名前を
つける、2.変数に入れるデータ型を決めるの2点が必要となります。
■ この章で学ぶこと |
|
変数の名前には以下のルールがあります。
ここではルール以外にも、名前についての推奨ルールも紹介したいと思います。
半角で255文字以内にする必要あり
あまりに長い名前はあり得ませんが一応こういうルールがあるので覚えておきましょう。
全角はもちろん2文字分に換算する必要があるので注意しましょう。
禁止文字を使用しない
プログラム特有?(ちょっと違う)の名前に使用してはいけない禁止文字がありますので使わないように
しましょう。@、&、#、$やピリオド、スペースなどは使えません。
要するに、紛らわしい文字は使用するなということだと思います。
極力あとで理解しやすい名前にする
基本的なことだと思いますが、後で見た時にわからなければ元も子も在りません。
出来るだけ自分の中でルールを決めて名前をつけましょう。
データ型が分かるような名前にする
上記と同じことだと思いますが、後で見てデータ型が分かる変数名は便利なものとなると思います。
例えばInteger型はintValue、String型はstrValue等です(下表参照)。
大文字と小文字を混在させる
コーディングしていくと分かりますが、定義された変数名に大文字、小文字を混在させておくと、
正確に入力した際に定義された通りの文字列が出てきます。
色々書きましたが普通に名前をつけていれば何の問題もありません。ただ、推奨した項目に関しては
出来るだけ守るようにすると、コーディングする際のミスも防げます。
下表を見てください。データ型には以下の表のようにたくさんあります。
| 表記 | データ型 | サイズ | 範囲 |
| Integer | 整数型 | 2バイト | -32,768〜32,767 |
| String | 文字列型 | 10バイト+文字長さ | 0〜2GB |
| Variant | バリアント型 | 16バイト | 数値の場合はDouble 文字の場合はStirngと同様 |
| Single | 単精度浮動小数点数型 | 4バイト | 負:-3.402823E38〜1.401298e-45 正:-1.401298e-45〜3.402823E38 |
| Double | 倍精度浮動小数点数型 | 8バイト | 負:-1.79769313486231E308 〜-4.94065645871247E-324 正:4.94065645871247E-324 〜1.79769313486231E308 |
| Object | オブジェクト型 | 4バイト | オブジェクトの参照を格納する |
| Boolean | ブール型 | 2バイト | TrueまたはFalse |
| Date | 日付型 | 8バイト | 西暦100年1月1日〜 西暦9999年12月31日の日付と時刻 |
ごまかしていますが、他にもいっぱい存在します。
意味はなかなか理解するのが難しいです。
また、変数を定義する際に説明していこうと思いますが、
最初はInteger、String、Variant程度で良いと思われます。
話はそれますが、強制的に変数を定義する方法があります。
そもそも変数は定義しないといけないものですから、VBEditorの便利機能
でそのようなものがあるなら使わない手はありません。
上左図のようにVBEditorのツール/オプションを選択して変数の宣言を強制する
にちぇっくをいれましょう。
すると、モジュール等を挿入した際に必ず『Option Explicit』という文字が表示されます。
これで、そのモジュールで定義していない変数があると、実行させた時に
即座に停止してしまいます。最初、暗黙の了解で変数を定義してくれる
VBAにおぼれていると後で痛い目にあいますから今から必ず変数を定義することを
心がけましょう。
変数には有効範囲があります。
モジュールレベル変数と、プロシージャーレベル変数とがあり、それぞれ
有効になる範囲が異なります。