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



エラーが出てもスルーして処理を続行させたり、表示させるメッセージを自分で指定する方法を記録します。
< スポンサーリンク >
エラーが出てもスルーし処理を続行させる
「On Error Resume Next」を処理のコードの前に入力します。

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

エラーが発生したら独自のメッセージを表示し処理を止める
「On Error GoTo ***」(***は任意の文字)を処理のコードの前に入力し、「End Sub」の前に「***:」を入力し、その後に独自のメッセージを出すように書きます。
「On Error GoTo ***」を書くことにより、エラーが発生したら、「***」まで処理が飛びます。

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

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

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

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


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

こんな記事も書いています
