エラー情報を無効にする
Err.Clearで直前のエラー情報を初期化し、捕捉設定との違いを確認します。
実行前に確認
- Err.Clearはエラー情報を消す操作です。失敗した処理を成功させたり、On Error Resume Nextを解除したりする操作ではありません。
- 診断に必要な番号や説明はClearより前に保存します。On Error GoTo 0で捕捉設定も解除します。
- Excel実機での動作は未確認です。コピーした練習用ブックで試してください。
1サンプルコード
Option Explicit
Sub Example7032()
Dim beforeClear As Long
Dim afterClear As Long
On Error Resume Next
Err.Raise 5, "Example7032", "確認用のエラー"
beforeClear = Err.Number
Err.Clear
afterClear = Err.Number
On Error GoTo 0
MsgBox "Clear前:" & beforeClear & vbCrLf & "Clear後:" & afterClear
End Sub図で見るエラー情報を無効にするの流れ
イメージ図Err.Clearで直前のエラー情報を初期化し、捕捉設定との違いを確認します。
入力・開始時
Err.Raiseで確認用エラー5を発生
実行する処理
番号を保存し、Err.Clearの直後の番号も取得
結果
Clear前は5、Clear後は0
Err.Clearは情報を消すだけです。捕捉の解除にはOn Error GoTo 0を使います。
コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。
使い方・実行手順を確認する4つの手順で、コードの使い方を確認できます
- 1
デスクトップ版Excelで練習用ブックを.xlsm形式で保存します。Alt+F11→[挿入]→[標準モジュール]を選び、空のモジュールの先頭にこの例全体を貼り付けます。
- 2
書き換えは不要です。まず例の値のままで試し、値や変数名を変える場合は同じ名前の箇所も揃えます。
- 3
Example7032のSub内にカーソルを置き、F5キーで実行します。
- 4
Clear前は5、Clear後は0と表示されます。