指定された変数の参照が不正です。指定された変数の参照が不正です。指定された変数の参照が不正です。原因と解決方法おもに次の2つの原因と解決方法が考えられます。(1)ForとNextの変数が違う原因Forでカウンターに指定している変数と、Nextで指定している変数が違う時に起こります。次のプログラムはForではi、Nextではjとなっているのでエラーが発生しています。Sub解決方法ForとNextで指定する変数を同じにします。Subただし、プログラムに慣れてきたら、Nextの部分でのカウンタ変数の指定は不要です。次のようにNextだけでOKです。こちらの方が、一般的な書き方になります。Sub(2)Nextの閉じる順番が違う原因For文が入れ子になっている時、閉じるNextの順番が違う時に発生します。次のプログラムの場合、入れ子になっている内側の処理から閉じる必要があるのに、逆の順番(i→j)で閉じているのでエラーが発生しています。内側の処理からNextで閉じるようにします。今回の場合は、J→iの順番で指定します。Sub「ちょっと難しいなぁ・・・」と思った人は、次の入れ子構造を意識してください。・外のFor文では、変数iを使った繰り返し・中のFor文では、変数jを使った繰り返しPOINT入れ子構造の時は、処理が終わったら内側から閉じていくのがポイントです。そのため、For部分で書く変数名と、Next部分で書く変数の順番は逆になります。Forの入れ子の場合も、プログラムに慣れてきたら、次のようにNextの部分でのカウンタ変数の指定は不要です。SubPOINTVBAに慣れてきたら、For文のNext部分でのカウンタ変数は不要です。それよりも、字下げをしてプログラムの構造がわかるようにすることが大事です。「えくとしょ」を作ってる人フリーランスのシステムエンジニア。VBAやVB.NETなどVB系の言語で、業務システムの開発をしています。職業訓練校で、エクセルVBAの講師などもしています。「えくとしょ」を作ってる人フリーランスのシステムエンジニア。VBAやVB.NETなどVB系の言語で、業務システムの開発をしています。職業訓練校で、エクセルVBAの講師などもしています。自動化ツール・便利プログラム集タイトルとURLをコピーしました。