• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:二つのエラーを発生させたい)

二つのエラーを発生させたい

このQ&Aのポイント
  • ひとつのプロシージャー内で、二つのエラートラップを仕掛ける事は出来ないのでしょうか?
  • i = "b"で2回目のエラーが発生した時に、 「Err2のエラー: 型が一致しません。」と表示させるにはどうすればいいでしょう?
  • Sub エラーが発生した時にエラーが発生したら() Dim i As Long On Error GoTo Err1 On Error GoTo Err2 i = "a" Exit Sub Err1: MsgBox "Err1のエラー: " & Err.Description i = "b" Exit Sub Err2: MsgBox "Err2のエラー: " & Err.Description End Sub にすると、i = "a"のエラーで、 「Err2のエラー: 型が一致しません。」へ移動してしまいます。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

on error gotoによって「エラー処理ルーチン」にジャンプしますが、エラー処理ルーチンの中ではエラー処理は出来ません。必ずその場でエラーになります。 エラー処理を継続するには、必ず一回resumeによってエラー処理ルーチンから復帰する必要があります。 作成例: sub macro1()  dim i as long  on error goto err1  i = "a"  on error goto err2  i = "b"  exit sub err1:  msgbox "ERR1"  resume next  err2:  msgbox "ERR2"  resume next end sub より詳しい使い方は、on error あるいは resume のヘルプを熟読してください。

TWOAWZFHUH
質問者

お礼

ありがとうございました。

関連するQ&A