
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日
意外と知らない【エラー対処1】エラーについて
私がVBAを覚え始めのころは【エラー】に対してかなり頭を悩まされました、というのもVBAの初心者用の参考書などではプログラムを実行することを主にしているせいなのか【デバック(バグ修正)】まで参考書では解説していない参考書が存在しています。
ですが初心者の方がプログラムを記述していく中でエラーに合わないはずがありません。
初心者の方こそ初めにエラーについてある程度知識を持っていくことがVBAを覚えていくうえで重要ではないかと私は考えています。
なので今日はデバックの基本のエラーの種類についてお話していきましょう。
そもそもバグとは?
そもそもバグとは?バグとは簡単に言えば不具合のことです、プログラミングのミスの総称のことを【バグ】と言います。記述ミスもバグ、実行結果が思ったようにならないこともバグといいます。
VBAのエラーの種類
VBAで発生するエラーには大きく分けて【構文エラー】と【実行時エラー】があります、VBEでは構文エラーに対しては記述時に判定が入りますので実行されるようなことはありませんが、実行時エラーに関しては文法が間違っていませんので記述時チェックは通過してしまいます。なのでプログラムを実行した時点でエラーになることが多いです。
構文エラーとは
構文エラーとはプログラムの文法が間違っている場合に起こるエラーです、下の画像のように


Sub sannpuru() Range("A1").Value End Sub
Range(“A1”).Valueのようにプロパティの使い方が間違っていたり。
Range(A1).Value
のようにRangeの””を記述しなかった場合など、文法に間違いがある場合にエラーが発生します。コンパイルエラーと表示されているのは【文法エラー】という意味ですので
【コンパイルエラーは文法エラー】
と覚えておいてください。
しかし構文エラーは、プログラムを記述途中にEnterや別の行をclickしてしまった場合でもエラー表示されますので少し煩わしいときがあります。その時にはVBEの【ツール】→【オプション】→【自動構文チェック】のレ点を外せばエラー表示をさせなくすることが可能です。
実行時エラーとは
実行時エラーとは、文法上は問題がなくても論理的にエラーになっている場合に発生します。
初心者によく起きるのは変数の型を間違えてしまった場合に起きてしまう事が多いですね。
Sub sannpuru() Dim ms As Long ms = "メッセージ" MsgBox ms End Sub
上記のコードは数値しか格納できないLong型に文字列を代入しようとしたので実行時エラーが発生します。


このように実行時エラーはプログラムの仕様に沿わない場合や理論上できるはずのないプログラム(存在しないオブジェクトの指定など)を実行しようとしたときに発生しするプログラムです。
実行時エラーはそのプログラムの考え方が間違っているという事
実行時エラーはいくつもの要因が考えられるのでエラーコードというものが割り振れられています。


実行時エラー13も場合は【変数の方が間違っているエラー】というようにコードによってエラーの種類、そして対処が違います。このエラーコードはエラーの原因を突き止めるために重要なものですので少し気にしてみていると勉強になります。
まとめ
今回は【実行時エラー】と【構文エラー(コンパイルエラー)】についてでした、VBA初心者(プログラム初心者)のかたはこの違いについてもわからないと思いますので、何をどう対処したらいいのかすら分からなくなってしまいがちです。
ですがエラーが起きるという事は何かが間違っているという事です。今回の実行時エラーとコンパイルエラーの違いを意識するだけでもエラーの発見をしやすくなるはずです。
フォロー・チャンネル登録お願いします
VBA以外についてのブログはこちら↓
https://yb-log.com/■Twitterフォロー
Follow @taka_pc1027■YouTubeチャンネル登録
コメントを残す