実行時エラーが発生した場合、そのエラーの内容によってその後の
処理を分岐する、ないしはエラー番号を知らせるといった時は、
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を実行することはできません。
|