エクセルマクロVBA

エラー処理(On Error Go To ステートメント)

投稿日:

プログラムでエラーが発生した時に、指定した処理を実行させることができます。

On Error Go To文と「行ラベル」というものを記述し、エラーが発生した時に

その行ラベルのある場所に処理が移動します。

 

[書式]

On Error GoTo 行ラベル    

    処理

    Exit Sub

 

行ラベル:

    エラーが発生した場合の処理

 

On Error GoTo以下に処理を記述し、その処理でエラーが発生した場合には

行ラベル以下の部分に処理が移ります。

この行ラベル以下の部分にエラー発生時の処理を記述します。

 

 

[] 

On Error GoTo エラーの場合

 

Range(“A1:B2”).Interior.ColorIndex = 155

 

Exit Sub

 

エラーの場合:

 

MsgBox Err.Description (実行時エラーの説明)

 

[サンプルC112]

Sub C112()

Worksheets(“C112”).Select

On Error GoTo エラーの場合                

Range(“A1:B2”).Interior.ColorIndex = 155

Exit Sub

エラーの場合:                        

MsgBox Err.Description

End Sub

 

On Error GoTo エラーの場合                

Range(“A1:B2”).Interior.ColorIndex = 155

Exit Sub

On Error GoTo文でラベル名に「エラーの場合」と指定しています。

処理の部分で、存在しないColorIndexの値(155)を指定したため、

エラー処理が行われます。

 

エラーの場合:                        

MsgBox Err.Description

 

エラー処理で、ラベル「エラーの場合」へ処理が移り

メッセージボックスによってエラーメッセージが表示されます。


Sub C112_2()

Worksheets(“C112”).Select

Range(“A1:B2”).Interior.ColorIndex = 155

End Sub

 

こちらの例ではエラー処理が記述されていないため、存在しないColorIndexの値(155)を指定した場合、Visual Basic 独自のメッセージが表示されます。





動画で楽にパソコンが身につく方法はこちら>>

-エクセルマクロVBA

Copyright© エクセルVBA使い方入門 , 2020 All Rights Reserved Powered by STINGER.