即効テクニック |
実行時エラーが発生した場合、そのエラーの内容によってその後の処理を分岐する、ないしはエラー番号を知らせるといった時は、ErrオブジェクトのNumberプロパティを使います。サンプルプロシージャでは、0除算を行うため、エラーが発生します。
Sub Sample() Dim i As Integer On Error GoTo Err_Msg i = 1 / 0 Exit Sub Err_Msg: MsgBox "エラーが発生しました エラー番号=" & Err.Number End Sub
メッセージボックスには、「エラーが発生しました エラー番号=11」と表示されます。知 エラー番号とその内容を一部紹介します。詳しくは、ヘルプの「On Errorステートメント」の関連項目「トラップできるエラー」を参照してください。 番号 メッセージ 3 Return に対応する GoSub がありません。 5 プロシージャの呼び出し、または引数が不正です。 6 オーバーフローしました。 7 メモリが足りません。 9 インデックスが有効範囲にありません。 10 この配列は固定されているか、または一時的にロックされています。 11 0で除算しました。 13 型が一致しません。 14 文字列領域が不足しています。 16 式が複雑すぎます。 17 要求された操作は実行できません。 18 ユーザーによる割り込みが発生しました。 20 エラーが発生していないときにResumeを実行することはできません。