第60回.エラー処理(On Error)
マクロVBAを実行していると、エラーメッセージが表示されマクロ実行が停止してしまう事があります。
マクロがエラー停止しては自動化の目的が達成されませんので、エラー停止しないようにしなければなりません。
また、エラーを回避する方法が存在しない場合もVBAにはありますので、エラーを上手く利用する事もVBAでは必須技術になります。
マクロVBAのエラー発生例

まあ、大抵は意味不明な日本語ですね(笑)
エラー発生したら、それに対応する為の処理をしたいとか、
そのような事が必要な場合もVBAでは結構あるものです。
エラー処理のステートメント
On Error Resume Next
On Error GoTo 0
On Error GoTo 行ラベル
行ラベルは、On Errorステートメントと同じプロシージャ内にある必要があります。
On Error Resume Next
※VBAリファレンスにはこのように記載されていますが、明確な理由ははっきりしません。
On Error GoTo 0
On Error GoTo 0 ステートメントを指定していない場合は、プロシージャの終了時に自動的に無効になります。
On Error の有効範囲
と
On Error Resume Next
これらは、このステートメント以降、
On Error GoTo 0が出てくるか、プロシージャが終了するまでが有効範囲となります。
エラー処理は難解な部分も多く、その挙動をしっかり理解しないとなかなか使いこなせないものです。
On Error GoTo 行ラベルとOn Error Resume Nextについては、
次回以降で詳細を説明していきます。
実行時エラー関連記事
同じテーマ「マクロVBA入門」の記事
第57回.Applicationのプロパティ(マクロ高速化と警告停止等)
第58回.コレクションとは(Collection)
第59回.コレクション処理(For Each)
第60回.エラー処理(On Error)
第61回.「On Error GoTo」と「Exit Sub」
第62回.「On Error Resume Next」とErrオブジェクト
第63回.ブックを開く(Open,Add)
第64回.ブックを閉じる・保存(Close,Save,SaveAs)
第65回.シートの挿入、名前の変更(Add,Name)
第66回.シートのコピー・移動・削除(Copy,Move,Delete)
第67回.総合練習問題7
新着記事NEW ・・・新着記事一覧を見る
WshNetwork(ネットワークドライブの割り当て等)|VBA技術解説(2025-04-09)
TRANSLATE関数(翻訳) DETECTLANGUAGE関数(言語識別)|エクセル入門(2025-04-08)
QRコード、バーコード作成の覚え書き|エクセル関数応用(2025-04-05)
TRIMRANGE関数(セル範囲をトリム:端の空白セルを除外)|エクセル入門(2024-08-30)
正規表現関数(REGEXTEST,REGEXREPLACE,REGEXEXTRACT)|エクセル入門(2024-07-02)
エクセルが起動しない、Excelが立ち上がらない|エクセル雑感(2024-04-11)
ブール型(Boolean)のis変数・フラグについて|VBA技術解説(2024-04-05)
テキストの内容によって図形を削除する|VBA技術解説(2024-04-02)
ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)
VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.繰り返し処理(For Next)|VBA入門
4.変数宣言のDimとデータ型|VBA入門
5.RangeとCellsの使い方|VBA入門
6.ひらがな⇔カタカナの変換|エクセル基本操作
7.セルのクリア(Clear,ClearContents)|VBA入門
8.メッセージボックス(MsgBox関数)|VBA入門
9.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
10.条件分岐(Select Case)|VBA入門
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。