Excel VBA入門:VBAでエラーに強くなろう!エラーハンドリングの基本

エラーハンドリング

プログラミングをしていると、予期せぬエラーが発生することがあります。でも、心配はいりません!VBAにはエラーをうまく扱うための「エラーハンドリング」という技術があります。この記事では、VBAでのエラーハンドリングの基本をわかりやすく解説します。

エラーハンドリングって?

エラーハンドリングとは、プログラムの実行中に起きたエラーを検出し、プログラムが強制終了することなく、適切に対処するための仕組みです。これにより、ユーザーにわかりやすいエラーメッセージを表示したり、特定のエラー処理を行ったりできます。

基本的なエラーハンドリング技術

VBAでは「On Error GoTo」というステートメントを使ってエラーハンドリングを行います。これは「エラーが起きたら、指定したラベルにジャンプして、そこからの処理を続けてね」という意味です。

On Error GoTo ステートメント

VB
Sub エラーハンドリングのデモ()
    On Error GoTo エラーキャッチ
    
    ' エラーが起こりうるコード
    Workbooks.Open "存在しないファイル.xlsx"
    
    Exit Sub
    
エラーキャッチ:
    MsgBox "エラーが発生しました。ファイルが見つかりません。"
End Sub

この例では、存在しないファイルを開こうとした時にエラーが発生しますが、On Error GoTo エラーキャッチによってエラーをキャッチし、ユーザーにメッセージボックスで通知します。

On Error Resume Next ステートメント

別のアプローチとして、「On Error Resume Next」というステートメントもあります。これは「エラーが起きても、次の行から処理を続けてね」という意味です。ただし、この方法ではエラーがどこで起きたか特定しづらくなるので、使用には注意が必要です。

VB
Sub エラーをスキップするデモ()
    On Error Resume Next
    
    ' エラーを無視して処理を続ける
    Workbooks.Open "存在しないファイル.xlsx"
    
    ' エラー後の処理
    MsgBox "処理を続行します。"
End Sub

なぜエラーハンドリングが大切?

エラーハンドリングをすることで、プログラムが予期せぬエラーで停止することを防ぎ、ユーザーに対してより親切な対応をすることができます。エラーの原因を特定しやすくなるため、デバッグもしやすくなります。

まとめ

VBAでエラーハンドリングを使うことは、プログラミングをより堅牢(ロバスト)にするために非常に重要です。基本的なOn Error GoToステートメントから始めて、エラー処理の技術を身につけましょう。エラーに強いコードを書くことができれば、より安心してプログラミングを楽しむことができますよ!

コメント

タイトルとURLをコピーしました