変数の有効範囲について
Posted: 2008年4月17日(木) 22:29
条件分岐命令の変数の有効範囲(スコープ)について教えてください。
例えば下のようにif文のThen部、Else部で同じ変数iを
定義すると「iは既に定義されています」とエラーが出てきます。
Then部、Else部はそれぞれ独立した有効範囲となっている
と思って上のように書いたのですが、どうも違うようです。
同様にSelect Caseでも
などと書くとやはり同様のエラーが出ます。
条件分岐命令の変数の有効範囲とはどの範囲を指すのでしょうか。
またその際はどこで変数を宣言するのが良いのでしょうか?
例えば下のようにif文のThen部、Else部で同じ変数iを
定義すると「iは既に定義されています」とエラーが出てきます。
コード: 全て選択
If a Then
Dim i As Long
Else
Dim i As Long
End If
と思って上のように書いたのですが、どうも違うようです。
同様にSelect Caseでも
コード: 全て選択
Select Case a
Case 0
Dim i As Long
Case 1
Dim i As Long
End Select
条件分岐命令の変数の有効範囲とはどの範囲を指すのでしょうか。
またその際はどこで変数を宣言するのが良いのでしょうか?