- 締切済み
強制終了するマクロプログラムのデバッグ方法
エクセルで作成したマクロプログラムを実行すると、エラーで強制終了してしまいます。 (マクロのデバッグ画面ではなく、「この障害をMicrosoftへ報告しますか?」の確認画面が出て、 そのまま終了してしまう) このような状況のVBMacroのデバッグを行うためには、どんな方法があるでしょうか。 (すぐに考えられるのは、print文的な出力をワークファイルに順次行う。というようなものですが、他に良い方法があれば、お教えください) Windows-XPとExcel2003の組み合わせです。 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- irija_bari
- ベストアンサー率73% (70/95)
あくまでも私なら、です。 1. 落ちてしまうVBAコードを、プロシージャ(Sub)にしてしまう。 2. プロシージャの各段階に「debug.print "コメント"」を入れる。 3. 落ちてしまう原因を探るために、プロシージャの早い段階で「return」を入れ、 どこで落ちるのか突き止める。 イメージとしては。。。 以下のような状態でマクロを走らせ、落ちないなら、「処理1」に問題が ないことがわかります。 ですから、「Return」を「処理2」の後ろに持って行きます。 ここでマクロが落ちるなら、「処理2」に問題があるとわかります。 ==== main ==== Call hogehoge ==== end of main ==== ==== sub ==== Private Sub hogehoge() 処理1 Debug.Print "処理1終了" Return 処理2 Debug.Print "処理2終了" 処理3 Debug.Print "処理3終了" ... End Sub ==== end of sub ==== 参考になりましたら幸いです。
お礼
お礼が遅くなり、大変申し訳ございません。 頂いたご回答、参考にさせて頂きます。 ありがとうございました。