ExcelVBAエラー処理

Excel VBAでデータ型が一致していなかったり、指定しているシートがなかったりするとエラーが表示されます。

例えば、 VBAでA列の日付の1ヶ月後の日付をB列に入力するという処理をさせるとき、A列に日付型ではないデータがある場合、エラーが表示され、そこでストップしてしまいます。

VBAエラー処理

VBAエラー処理

VBAエラー処理

エラーが出てもスルーして処理を続行させたり、表示させるメッセージを自分で指定する方法を記録します。

 

< スポンサーリンク >





エラーが出てもスルーし処理を続行させる

「On Error Resume Next」を処理のコードの前に入力します。

VBAエラー処理

 

エラーが発生してもスルーして処理が続行されます。

VBAエラー処理

 

エラーが発生したら独自のメッセージを表示し処理を止める

「On Error GoTo ***」(***は任意の文字)を処理のコードの前に入力し、「End Sub」の前に「***:」を入力し、その後に独自のメッセージを出すように書きます。

「On Error GoTo ***」を書くことにより、エラーが発生したら、「***」まで処理が飛びます。

VBAエラー処理

 

※注意※ 「***:」の前に「Exit Sub」を書き込んでおきます。そうしないと、エラーがなくてもメッセージが表示されます。(「End Sub」まで実行されます)

VBAエラー処理

 

このVBAを実行すると、エラーメッセージが表示され処理が止まります。

VBAエラー処理

 

処理を止めずにエラーが発生した時点でメッセージを表示する

「On Error Resume Next」を処理のコードの前に入力し、エラーが発生する場所で「If Err.Number <> 0 Then」でメッセージを表示します。

VBAエラー処理

 

実行すると、エラーが発生した場所でメッセージが表示され、その後も処理が続きます。

VBAエラー処理

VBAエラー処理

 

「On Error Resume Next」と「Err.Clear」は忘れないように書き込みます。

VBAエラー処理

 

< スポンサーリンク >※広告先のお問い合わせは広告主様にお願いします