VBAのエラートラップを使うには

Pocket

Excelのマクロでエラーが発生したとき、通常はそこで処理が止まります。
「On Error GoTo」構文を使えばエラーが発生したときに別の処理を実行させることができます。

この「エラートラップ」を使うためには、VBエディタの設定をしておく必要があります。もし「On Error GoTo」構文が正しく動かないときはここをチェックしてください。

  1. VBエディタを開く。Alt+F11など。
  2. ツール-オプションを選択。
  3. 「オプション」ダイアログで「全般」タグを選択。
  4. エラートラップの「クラスモジュールで中断」または「エラー処理対象外のエラーで中断」にチェック。

「エラー発生時に中断」にチェックが入っているとエラートラップが動きません。

次のサンプルは、存在しない「dummy」というシートを開こうとすると「そんなシートはありません。」というメッセージを表示します。

Sub OnErrorGoToTest()
    On Error GoTo mylabel
    Sheets("dummy").Select
    Exit Sub
mylabel:
    MsgBox "そんなシートはありません。"
End Sub

「On Error GoTo ラベル名」と書いておくと、エラーが発生したときに、ラベル名の行に処理が飛びます。
処理が終わるとエラー発生の次の行に処理が戻ります。
「Exit Sub」でマクロを終了します。

[ 2013年4月8日 | カテゴリー: Excel | タグ: , ]

« | »

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報