システムトレードで、株・商品先物・日経平均先物(TOPIX・日経225)・FX(外国為替証拠金取引)の相場を生き残る!
システムトレードで楽ちん投資
トップページ | トレード実践録 | インフォ〜 | プロフィール | 更新履歴 | リンク | メルマガ | お問い合わせ

Excel VBAの気付きにくいエラー対応法 Forがありません Nextがありません

Excel VBAを組んでいて、エラーになったものの、その解決に手間取った箇所があるので、記録
として残すことにしました。
 
最単純モデルで解説します。
 
下図のように、Excel上にコマンドボタンをひとつ配置し、
 
 
次のコードを打ち込んでください。
 
 
ボタンを押して実行してみましょう。すると、エラーメッセージが表示されたはずです。
 
 
さあ、どこにエラーがあるか分かるでしょうか?
Next に対する For はきちんと記述されています。
 
最単純モデルで説明しているので、お気づきかと思いますが、If 〜 End If 構文の最後に、「If」が
抜けていますね。正しく書き直したものが下図です。
 
 
誤りを直して実行してみます。
 
 
はい、処理が走りました。
 
今回、単純化して説明しているので気付くのは簡単だったと思います。ところが、VBAの記述が 
1万行あたりになってきて、こんなエラーが表示されると、なかなか見つけにくいものです。
当方も解決に1時間くらいかかりました。
 
If 〜 End If 構文のミスであるにもかかわらず、「Nextに対応するForがありません」という
メッセージがなぜ表示されるのか? VBAはどんな判断から、このメッセージを返しているのか
その原理を知りたい場合は、下記のページの中央あたり、今川はるきさんの投稿が参考になり
ました。
 
参考リンク:http://www2.moug.net/bbs/exvba/20080405000004.htm
 
 
TOPへ戻る

  
Google
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Copyright (C) toushikenbunroku.com, All Rights Reserved.