ワードマクロ:VBAの定数と変数の使い方

シェアする

定数

VBAで定数を定義するには、

というようにします。

例えば下図では、haba という変数を定義しています。
「表示テスト」プロシージャの中で、haba を参照しています。

ワードへの結果表示:

定数というのは変えることのできない値ですので、わざわざ定義しなくても良いと思うかもしれませんね。

でも、何箇所で、その値を使っている場合、その値を変更しようと思ったとき、どこを変更してよいかわからなくなってしまうことがあります。

そんなとき、一箇所で定数で定義していれば、プログラム中の一箇所 定数定義の値だけ変更したら、habaを参照している全ての箇所に変更を反映させることができます。

また、同様なんですが、もし、幅1,幅2という2つの値があって、今はたまたま両方共100なんだけど、仕様が変わって幅2だけ90に変更したいときなんて、定数で定義してなければ、変更スべき箇所を間違えてしまう可能性が高くなってしまいますよね。

なので、なるべく、固定した数字も、いきなり使うのではなく、定数定義するようにしましょう。

変数

VBAで変数を使うなら、

と宣言してください。宣言せずいきなり使ってもエラーにはなりませんが、変数名をスペルミスしてても気づかず、バグのもとになったりします。

変数の宣言を強制する方法

VBEの「ツール」メニューの「オプション」をクリックします。

「オプション」ウィンドウが開くので、「編集」タブの「変数の宣言を強制する」にチェックを入れてください。

こうしておくと、下図の変数「kaisuu」ように宣言せずに値を代入して使おうとすると「コンパイルエラー」となって教えてくれます。かなり便利です。必ず設定してくださいね。

定義することによって、エラーの発生なく、変数が使えます。
下図の例では、整数型で 変数「kaisuu」を宣言し、使用しています。

データ型

定数や変数の型としてよく使うものを挙げておきます。

データ型 型名 内容
Integer 整数型 -32768~32767の整数
Long 長整数型 -2,147,483,648~2,147,483,647の整数
Single 単精度浮動小数点 実数。32bit 精度が悪い
Double 倍精度浮動小数点 実数。64bit
Boolean ブール型 true/false
String 文字列  
Date 日付型  
Object オブジェクト型  
Variant バリアント型 いろいろに使える万能だけどわかりにくい型

この記事が気に入ったら
いいね ! しよう