追記: 伝え忘れていました
どこでエラーが起こるかは分からない前提です
######やりたい処理
VBAでエラーが発生した場合、何らかの処理をします。
そして発生した場所からまた処理を再開して、最後に何回エラーが発生したか回数を表示するプログラムを作成したい。
######課題
以下のようなコードを書いています
処理1でエラーが発生し、Errorプロシージャに飛びます
Erroプロシージャの処理が終わった場合、処理1の後から再開して、また処理2でエラーが発生し、再度Errorへ移動したいです。
1度Errorプロシージャが終われば、Call Errorから再開するので処理が終わってしまいます。
調べてみるとエラーが発生した行を特定する方法はみつけましたが、その行に飛ぶ方法が分かりません
よろしくお願いします
dim a Sub test a=0 On Error GoTo MyError 処理1 'エラー発生 処理2 'エラー発生 Exit sub MyError: Call Error End Sub Private sub Error エラー時の処理 a=a+1 '呼び出された回数をカウント End Sub
参考です。
https://teratail.com/questions/288560
処理機能単位に関数を分けて制御すると見易くなります。
回答3件
あなたの回答
tips
プレビュー