![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?08b1c8b)
No.1ベストアンサー
- 回答日時:
エラーをトラップするには、On Errorステートメントを使います。
On Errorステートメント自体は、何かをする命令ではないのですが、
これ以降に発生したエラーに対しての動作が定義できます。
通常、Workbook.Open でエラーが発生すると、そこでプログラムの
動作は停止しますが、次のようなコードにすると動作は停止せず、
行ラベル「ErrorHandler」へ制御が飛びます。
On Error GoTo ErrorHandler
Workbook.Open~ '←ここでエラーが発生すると
On Error GoTo 0
・
・
・
Exit Sub
ErrorHandler: '←ここへ制御が移ります
・
・
End Sub
OverTheGalaxyさんが書いたプログラムの構造が分からないので、何とも言えないのですが、
きれいに構造化されていれば、Subプロシージャを抜けるだけで対応できるかもしれません。
ちなみに、On Error で定義した動作は、すべてのエラーで有効になってしまいます。
デバッグ中のプログラムは、色々なところでエラーを起こすものですが、その場合も
動作は停止しません。(おかしな動作をするだけで、エラーの発生箇所が分からない状況になります)
エラーの発生が予想される箇所(今回の場合は、Workbook.Open)を過ぎたら、速やかに
エラートラップを無効にすることをお勧めします。
エラートラップを無効にするには、「On Error GoTo 0」を使います。
ありがとうございます。
ErrorHandlerへ移動しエラー用の処理を実行した後、どうなるのでしょうか?On Error GoTo 0 へ戻るのでしょうか?
No.2
- 回答日時:
Resumeステートメントで戻り先を指定します。
こんな感じです。
ErrorHandler:
・
・
Resume '←エラーが発生した命令から実行が再開されます。
Resume Next '←エラーが発生した命令の次の命令からに再開されます。
Resume 行ラベル '←指定した行ラベルへ戻ります。
・
・ ' それ以外にも、Exit SubやEnd等も記述可能だと思いますが、何も書かないと
End Sub '←ここにくるので、当プロシージャは終了します。
詳しくは、ヘルプを参照してください。
ありがとうございます。
時々目にするResumeはこうやって使う!の一端が見えた気がしました。
実はErrHandlerなんて初めて使います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) 【VBA】印刷マクロのループ処理が反映されません 3 2022/08/09 02:15
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
- Excel(エクセル) Excelを開くとエラーが出る 2 2022/10/03 16:13
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- グループウェア 一太郎がイントラで開けません。対処方法を知りたいです。 3 2023/04/04 13:30
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
このQ&Aを見た人はこんなQ&Aも見ています
-
見学に行くとしたら【天国】と【地獄】どっち?
みなさんは、一度だけ見学に行けるとしたら【天国】と【地獄】どちらに行きたいですか? 理由も聞きたいです。
-
いちばん失敗した人決定戦
あなたの「告白」での大失敗を教えてください。
-
モテ期を経験した方いらっしゃいますか?
一生に一度はモテ期があるといいますが、みなさんどうですか? いまがそう! という方も、「思い返せばこの頃だったなぁ」という方も、よかったら教えて下さい。
-
人生でいちばんスベッた瞬間
誰しも、笑いをとろうとして失敗した経験があると思います。
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
サーバー上のブックを開けない時(エクセルVBA)
Excel(エクセル)
-
【VBA】ワークブックを開く時にエラーが出る場合と出ない場合の違いは?
Excel(エクセル)
-
VBA、Excelのworkbook.open について質問です これを記載してマクロ実行後、boo
Excel(エクセル)
-
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー 438になった時の...
-
なぜこんな初歩的なVBAのIf文で...
-
【Excel VBA】マクロをボタンに...
-
AccessVBAでExcelを起動し、罫...
-
VBAがブレークモードになっ...
-
OLEDB.NETで接続できない
-
実行時エラー3001「引数が間違...
-
EXCEL VBAマクロ中断でデバッグ...
-
EXCEL/VBAで、自分のPCだけエラ...
-
ExcelVBA Range クラスの Page...
-
Invalid procedure call or arg...
-
VBAでのエラー
-
実行時エラー48発生時のDLL特定...
-
マクロを作成したのですが、以...
-
エクセルエラー13型が一致しま...
-
Excelで下記のようにマクロを作...
-
実行時エラー -'-2147417848
-
VB6+SQL サーバー 2000 で 実行...
-
マクロについて教えてください...
-
VBAのエラー発生場所をメッセー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
なぜこんな初歩的なVBAのIf文で...
-
VBAがブレークモードになっ...
-
実行時エラー48発生時のDLL特定...
-
【Excel VBA】マクロをボタンに...
-
VBAでのエラー
-
マクロについて教えてください...
-
エクセルエラー13型が一致しま...
-
実行時エラー3001「引数が間違...
-
Outlook.ApplicationをCreateOb...
-
VBS実行時エラー オブジェクト...
-
VBSで変数の宣言はできないので...
-
実行時エラー -'-2147417848
-
ExcelVBA Range クラスの Page...
-
ExcelVBAで、ユーザー定義型は...
-
OLEDB.NETで接続できない
-
ADODB.Streamを使用してUTF-8を...
-
なぜエラーになるのでしょうか...
-
EXCEL VBAマクロ中断でデバッグ...
-
INSERT INTOステートメント構文...
おすすめ情報