アクセスVBAの部屋

VBA Homeへ戻る

エラー処理の基本

概要

作成したプログラムにエラーがあるとプログラムが停止してしまいます。 それを避けるためにエラーが発生したときの対策プログラムを入れておくことが必要です。
その基本はの次の2点です。
①エラー処理のルーチンにジャンプする。ルーチンにはその後の ステートメントを記載しておく。
「On Error Goto ラベル名」 のステートメントを使います。これでエラー発生時にラベル名にジャンプします。
②エラーメッセージを表示する。
「MsgBox (Err.Description)」 のステートメントを使います。

書式

Sub macro1()
 On Error GoTo macro1_Err

 ‘(エラーが発生する処理)

 macro1_Err:  ‘エラー発生時に飛ぶ先のラベル
 MsgBox "エラーが発生しました"
End Sub

作成例

次の例は割り算の割る側に「0」が入っているために、不定になり割り算が出来ないエラーが発生します。 ラベル「macro1_Err」に飛び、次のメッセージボックスが表示されます。

Sub macro1()
 On Error GoTo macro1_Err

 Dim num1 As Integer, num2 As Integer, result As Double
 num1 = 10
 num2 = 0

 result = num1 / num2
 MsgBox "計算結果は " & result & " です"
 Exit Sub

 macro1_Err:
 MsgBox "エラーが発生しました"
End Sub

次の結果表示が出ました。

(この項終わり)