Excel VBA では、同じ変数を二回宣言すると怒られる。 例えば、こんな感じだ。 変数の型を変えても、見逃してはもらえない。 ところが先日、自分では意図せず、このように宣言したものが あることに気づいた。 片方は、モジュールレベル変数。同一モジュール内であれば、 共通の変数として使用できる。もう一つは、宣言したサブプロシージャ内でのみ有効な変数だ。なぜかどこかで何時からか、このような変数宣言もシステムから 咎められるものと思い込んでいた。しかしこれが許されるならば、 その挙動をきちんと理解しておかないと事故につながりそうだ。例えば、こんなのはどうだろう。 Test1とTest2のそれぞれで…