Excel VBA エラーが出たときにスルーさせたりメッセージを出す

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

VBAエラー処理

 

< スポンサーリンク >

 

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

VBAエラー処理

VBAエラー処理

VBAエラー処理

 

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

 

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

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

VBAエラー処理

 

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

VBAエラー処理

 

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

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

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エラー処理

 

< スポンサーリンク >



サブコンテンツ

このページの先頭へ