変数を宣言しよう

ここから、少々ややこしい話になります(まだまだ初心者への道のりは長いです)。
今まで、変数はすべて宣言しないでここまで来ましたが、ここからはすべて変数を
宣言していきます。データ型を宣言しないと、百害あって一利なしといえます。
メリットとして、誤ったデータ型がInputされるとエラーが発生すること、エディタの
便利機能が使えることなどがあります。変数を定義するには、1.変数に名前を
つける、2.変数に入れるデータ型を決めるの2点が必要となります。


■ この章で学ぶこと

TOPに戻る

変数の名前についてのルール

変数の名前には以下のルールがあります。
ここではルール以外にも、名前についての推奨ルールも紹介したいと思います。

  1. 半角で255文字以内にする必要あり
    あまりに長い名前はあり得ませんが一応こういうルールがあるので覚えておきましょう。
    全角はもちろん2文字分に換算する必要があるので注意しましょう。 

  2. 禁止文字を使用しない
    プログラム特有?(ちょっと違う)の名前に使用してはいけない禁止文字がありますので使わないように
    しましょう。@、&、#、$やピリオド、スペースなどは使えません。
    要するに、紛らわしい文字は使用するなということだと思います。

  3. 極力あとで理解しやすい名前にする
    基本的なことだと思いますが、後で見た時にわからなければ元も子も在りません。
    出来るだけ自分の中でルールを決めて名前をつけましょう。

  4. データ型が分かるような名前にする
    上記と同じことだと思いますが、後で見てデータ型が分かる変数名は便利なものとなると思います。
    例えばInteger型はintValue、String型はstrValue等です(下表参照)。

  5. 大文字と小文字を混在させる
    コーディングしていくと分かりますが、定義された変数名に大文字、小文字を混在させておくと、
    正確に入力した際に定義された通りの文字列が出てきます。

色々書きましたが普通に名前をつけていれば何の問題もありません。ただ、推奨した項目に関しては
出来るだけ守るようにすると、コーディングする際のミスも防げます。

「変数を定義しよう」最初に戻る

データ型の種類

下表を見てください。データ型には以下の表のようにたくさんあります。

表記 データ型 サイズ 範囲
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の便利機能
でそのようなものがあるなら使わない手はありません。

強制変数定義方法1 強制変数定義方法2


上左図のようにVBEditorのツール/オプションを選択して変数の宣言を強制する
にちぇっくをいれましょう。

すると、モジュール等を挿入した際に必ず『Option Explicit』という文字が表示されます。
これで、そのモジュールで定義していない変数があると、実行させた時に
即座に停止してしまいます。最初、暗黙の了解で変数を定義してくれる
VBAにおぼれていると後で痛い目にあいますから今から必ず変数を定義することを
心がけましょう。

「変数を定義しよう」最初に戻る

変数の有効範囲(中級知識)

変数には有効範囲があります。
モジュールレベル変数と、プロシージャーレベル変数とがあり、それぞれ
有効になる範囲が異なります。

「変数を定義しよう」最初に戻る


// このWebサイトのご意見・ご感想はvb@tentant.comまで //

Copyright (C) 2004 visualbasic.tentant.com.All righs reserved