オーロラさんの勉強帳

SESの客先常駐勤務。データベース、Excel、Excel VBA、ネットワーク、LinuxなどIT関連のことを主に書いていきます。

【Excel VBA エキスパート ベーシック】変数 part1~変数、型~ (VBA入門6)

 

変数(へんすう)とは

変数は値を入れておく箱・入れ物のようなもので、一時的に値を保存する記憶する保存領域になります。

変数に一時的に値を入れて保存して、必要な時に変数から値を取り出して使います。

 

変数は以下の図のように、変数を宣言し、変数に値を代入して、必要な時に変数の値を使います。

f:id:auroralights:20201119231732p:plain

 

変数の宣言

変数を使う前には、変数の名前やどういった種類の値をあつかうものなのかを宣言します。

※変数を宣言しないで使う方法もありますが、基本は宣言して使います。

 

変数がどういった種類の値をあつかうものかは、型という概念を使って表します。

型には、文字列型や整数型、日付型などがあり、文字列を入れるための変数は文字列型、整数を入れするための変数は整数型として宣言して使います。


変数の宣言例

変数iをlong(長整数型)で宣言⇒Dim i as long

変数xをString(文字列型)で宣言⇒Dim x as String

 

変数の型の種類

変数の型の一例は以下の表のとおりです。

f:id:auroralights:20201119232927p:plain

変数の型は、その変数に入れることができる値を決める仕組みです。文字列型の変数には文字列しか入れることができません。

 

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

変数を宣言しないで使用すると、変数名のタイプミスなどに気が付かずにバグを発生させてしまう可能性があります。そういったリスクを避けるためにも、あらかじめVBAでは「変数の宣言を強制する」設定をしておきます。

※「変数の宣言を強制する」設定をすることで、自分のミスに気が付けるので必ずするようにしましょう。

 

1.VBE画面を表示します。([Alt]+[F11]で表示できます)
2.ツール>オプションを順次選択します。

f:id:auroralights:20201119234645p:plain

3.「変数の宣言を強制する」のチェックボックスをチェックして、OKを選択します

f:id:auroralights:20201119234817p:plain

 

そうすると、コードエディタに「Option Explict」という一文が自動で追加されるようになります。
「Option Explict」が書かれたモジュール内では、宣言をしないで変数を使うことができなくなります。

 

変数の宣言を強制しないリスク

以下のようにgreetingとgeetingというタイプミスをした場合

「変数の宣言を強制」しているとコンパイルエラーが表示されます。

f:id:auroralights:20201119235118p:plain

 

「変数の宣言を強制」していないと

以下のコードでもエラーがでずに通ってしまい、空のMsgBoxが表示されます。

f:id:auroralights:20201119235433p:plain

これだけ短いコードならタイプミスに気が付けますが、長いコードだと、どこで間違っているかを探すのが非常に困難になるため、「変数の宣言を強制する」設定は必ずしておきましょう。