VBAのエラートラップを使うには
Excelのマクロでエラーが発生したとき、通常はそこで処理が止まります。
「On Error GoTo」構文を使えばエラーが発生したときに別の処理を実行させることができます。
この「エラートラップ」を使うためには、VBエディタの設定をしておく必要があります。もし「On Error GoTo」構文が正しく動かないときはここをチェックしてください。
- VBエディタを開く。Alt+F11など。
- ツール-オプションを選択。
- 「オプション」ダイアログで「全般」タグを選択。
- エラートラップの「クラスモジュールで中断」または「エラー処理対象外のエラーで中断」にチェック。
「エラー発生時に中断」にチェックが入っているとエラートラップが動きません。
次のサンプルは、存在しない「dummy」というシートを開こうとすると「そんなシートはありません。」というメッセージを表示します。
Sub OnErrorGoToTest()
On Error GoTo mylabel
Sheets("dummy").Select
Exit Sub
mylabel:
MsgBox "そんなシートはありません。"
End Sub
On Error GoTo mylabel
Sheets("dummy").Select
Exit Sub
mylabel:
MsgBox "そんなシートはありません。"
End Sub
「On Error GoTo ラベル名」と書いておくと、エラーが発生したときに、ラベル名の行に処理が飛びます。
処理が終わるとエラー発生の次の行に処理が戻ります。
「Exit Sub」でマクロを終了します。
[ 2013年4月8日 | カテゴリー: Excel | タグ: VBA , エラー ]
« ハングルを判定する正規表現 | JavaScriptとPHPの配列の個数 »
コメントを残す