
taka



最新記事 by taka (全て見る)
- 『雑記』最近の私の話~ - 2019年9月26日
- 【動画】自作パソコン構成変更!ケースをNZXT H500に交換しました! - 2019年6月5日
- VBA 『Array関数』指定した要素で配列を作成する - 2019年5月23日
- 「動画」初完全ワイヤレスイヤホン『Jabra Elite Active 65t』 - 2019年5月17日
- VBA 日付で令和を簡単に判定してみよう - 2019年5月7日
意外と知らない【エラー対処2】エラー対処OnError Go To
意外と知らないエラー対処第二回目です、前回はそもそもエラーとは何か?という内容でした、
前回の記事はこちら
実際errorが起きたときはプログラムが中断してしまい下記の画像のようになってしまい、システム開発者以外には手に負えない状況になってしまいます。それでは開発者以外の方がシステムを使うことができません。


なので今回は具体的にエラーが起きた場合困らないようにするにはどのような対応をとるのかを紹介していきます。
エラー対処OnError Go To
エラーが発生したときにあらかじめ用意していた命令にジャンプさせることができるのがOnError ステートメントです。簡単な説明は画像を作成しました


On Error GoTo ジャンプ先のラベル名
ラベル名というのは、エラーが発生したときにジャンプする先の名前を先に宣言する必要があります。
Sub Sample() On Error GoTo Error1 '←エラーのラベル名 Error1: 'エラーが発生したらラベル名のところに飛ぶ End Sub
上記のコードはエラーが発生したら【ラベル名:Error1】のところにジャンプします
ラベル名は【ラベル名:(コロン)】で指定します。
エラー情報を取得する
エラーが発生した場合、様々な理由があります、変数の型が間違っていた場合や存在しないオブジェクトを指定した場合など、このような場合どのようなエラーが起きたかを取得しなければいけません。エラー情報を取得する場合に使うのがErrオブジェクトです。Errオブジェクトを確認することでエラーの内容を取得することができます。
取得できる内容 | プロパティ名 |
エラー番号 | Number |
エラー内容 | Description |
ヘルプファイル名 | HelpContext |
プロジェクト名 | Source |
一覧で見てもわかりにくいので実際に実行していきましょう。
Sub Sample() On Error GoTo Error1 Dim i As Long i = "test" '←ココでエラーとなる。 MsgBox "終了" Exit Sub Error1:’←ここに飛ぶ MsgBox "エラー番号:" & Err.Number & vbLf & _ "エラー内容:" & Err.Description & vbLf & _ "ヘルプファイル名" & Err.HelpContext & vbLf & _ "プロジェクト名:" & Err.Source End Sub
このコードでは数値しか入れることができない変数型である【Long】に文字列を代入しようとして型違いの実行時エラーが発生するコードになります。
実行結果


実行した結果このように表示されました。今回はメッセージボックスに表示させましたが、エラー情報というシートを作成してセルにエラー情報を蓄積させたりするのもプログラムの修正に役に立つと思います。
まとめ
今回は代表的なエラー対処法であるOnErrorの簡単な使い方をご紹介させてもらいました。
エラーというものは開発を進めていくなかでどうしてもぶつかる物です、システムを利用する人は開発者の思いもよらない操作をすることが多々ありますので、このような対策が必要になります。
フォロー・チャンネル登録お願いします
VBA以外についてのブログはこちら↓
https://yb-log.com/■Twitterフォロー
Follow @taka_pc1027■YouTubeチャンネル登録
コメントを残す