• 締切済み

強制終了するマクロプログラムのデバッグ方法

エクセルで作成したマクロプログラムを実行すると、エラーで強制終了してしまいます。 (マクロのデバッグ画面ではなく、「この障害をMicrosoftへ報告しますか?」の確認画面が出て、 そのまま終了してしまう) このような状況のVBMacroのデバッグを行うためには、どんな方法があるでしょうか。 (すぐに考えられるのは、print文的な出力をワークファイルに順次行う。というようなものですが、他に良い方法があれば、お教えください) Windows-XPとExcel2003の組み合わせです。 よろしくお願いします。

みんなの回答

回答No.1

あくまでも私なら、です。 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 ==== 参考になりましたら幸いです。

goku3
質問者

お礼

お礼が遅くなり、大変申し訳ございません。 頂いたご回答、参考にさせて頂きます。 ありがとうございました。

関連するQ&A