実行時エラーの一覧





マクロにエラーはつきものです。エラーが発生したら、エラーの原因を調べて修正します。そのとき、頼りになるのがエラーメッセージです。しかし、せっかくのエラーメッセージであっても、その意味が分かりにくいものもあります。ここでは、VBAで発生する実行時エラー(トラップできるエラー)の一覧と、いくつかのエラーについては、その理由や原因などを解説します。

表の[番号]は、ErrオブジェクトのNumberプロパティで取得できるエラーコードです。[メッセージ]はErrオブジェクトのDescriptionプロパティが返す文字列です。[発生度]には、私の経験上、発生しやすいエラーを1から5のドクロマークで示しました。[解説]をクリックすると、簡単な解説を表示します。

番号 メッセージ 発生度 解説
 3   Return に対応する GoSub がありません。  N 解説
 5   プロシージャの呼び出し、または引数が不正です。  NNNNN 解説
 6   オーバーフローしました。  NNN 解説
 7   メモリが不足しています。  NN 解説
 9   インデックスが有効範囲にありません。  NNNNN 解説
 10   この配列は固定されているか、または一時的にロックされています。  N 解説
 11   0 で除算しました。  NNN 解説
 13   型が一致しません。  NNN 解説
 14   文字列領域が不足しています。  N ---
 16   式が複雑すぎます。  NN ---
 17   要求された操作は実行できません。  N ---
 18   ユーザーによる割り込みが発生しました。  N ---
 20   エラーが発生していないときに Resume を実行することはできません。  N 解説
 28   スタック領域が不足しています。  NN 解説
 35   Sub または Function が定義されていません。  N 解説
 47   コード リソースまたは DLL のクライアント アプリケーションが多すぎます。  N ---
 48   コード リソースまたは DLL 読み込み時のエラーです。  N ---
 49   コード リソースまたは DLL が正しく呼び出せません。  N ---
 51   内部エラーです。  N ---
 52   ファイル名または番号が不正です。  NNN 解説
 53   ファイルが見つかりません。  NNNNN 解説
 54   ファイル モードが不正です。  NN 解説
 55   ファイルは既に開かれています。  NN 解説
 57   デバイス I/O エラーです。  N ---
 58   既に同名のファイルが存在しています。  NNNN 解説
 59   レコード長が一致しません。  N ---
 61   ディスクの空き容量が不足しています。  N ---
 62   ファイルにこれ以上データがありません。  N 解説
 63   レコード番号が不正です。  NN ---
 67   ファイルが多すぎます。  N ---
 68   デバイスが準備されていません。  NN ---
 70   書き込みできません。  NN ---
 71   ディスクが準備されていません。  NN ---
 74   ディスク名は変更できません。  N ---
 75   パス名が無効です。  NNNN 解説
 76   パスが見つかりません。  NNNN 解説
 91   オブジェクト変数または With ブロック変数が設定されていません。  NNNNN 解説
 92   For ループが初期化されていません。  N ---
 93   パターン文字列が不正です。  NN 解説
 94   Null の使い方が不正です。  NNN 解説
 97   オブジェクトが定義クラスのインスタンスではない場合、このオブジェクトに関するフレンド関数は呼び出せません。  N ---
 98   プロパティまたはメソッドの呼び出しの場合には、引数または戻り値としてプライベート オブジェクトへの参照を含めることはできません。  N ---
 298   システムリソースまたは DLL をロードできません。  N ---
 320   キャラクタ デバイスは使えません。  N ---
 321   不正なファイル形式です。  N ---
 322   必要なテンポラリ ファイルを作成できません。  N ---
 325   リソース ファイルの形式が不正です。  N ---
 327   データ値が見つかりません。  N ---
 328   不正なパラメータです。配列に書き込めません。  N ---
 335   システム レジストリにアクセスできません。  N ---
 336   コンポーネントが正しく登録されていません。  N ---
 337   コンポーネントが見つかりません。  N ---
 338   コンポーネントが正常に実行されませんでした。  N ---
 360   このオブジェクトは既にロードされています。  N ---
 361   このオブジェクトは、ロードまたはアンロードすることはできません。  N ---
 363   指定されたコントロールが見つかりません。  N ---
 364   既にアンロードされています。  NN ---
 365   現在アンロードできません。  N ---
 368   ファイルは古い形式で作成されています。このプログラムには新しい形式のファイルが必要です。  N ---
 371   指定されたオブジェクトは、Show メソッドのオーナー フォームとして使用できません。  N ---
 380   プロパティの値が不正です。  NN 解説
 381   プロパティ配列のインデックスが不正です。  N ---
 382   プロパティは、実行時には設定できません。  NN ---
 383   プロパティは値の取得のみ可能です。  NN ---
 385   このプロパティには配列のインデックスが必要です。  N ---
 387   プロパティは値を設定できません。  N ---
 393   プロパティは実行時に値の取得はできません。  N ---
 394   プロパティは設定のみ可能です。  N ---
 400   既にフォームは表示されています。モーダルにできません。  NN 解説
 402   一番手前 (前面) のモーダル フォームを先に閉じてください。  N 解説
 419   オブジェクトを利用できません。  N ---
 422   プロパティが見つかりません。  N 解説
 423   プロパティまたはメソッドが見つかりません。  N 解説
 424   オブジェクトが必要です。  NNNN 解説
 425   オブジェクトの使い方が不正です  N ---
 429   コンポーネントはオブジェクトを作成できません。  NNN ---
 430   クラスはオートメーションをサポートしていません。  N ---
 432   オートメーションの操作中にファイル名またはクラス名を見つけられませんでした。  N ---
 438   オブジェクトは、このプロパティまたはメソッドをサポートしていません。  NNNNN 解説
 440   オートメーション エラーです。  NN ---
 442   リモート プロセス用のタイプ ライブラリまたはオブジェクト ライブラリへの参照は失われました。  N ---
 443   オートメーション オブジェクトには既定値がありません。  N ---
 445   オブジェクトはこの動作をサポートしていません。  N ---
 446   オブジェクトは名前付き引数をサポートしていません。  N ---
 447   オブジェクトは現在の国別情報の設定をサポートしていません。  N ---
 448   名前付き引数が見つかりません。  N 解説
 449   引数は省略できません。または不正なプロパティを指定しています。  NNNN 解説
 450   引数の数が一致していません。または不正なプロパティを指定しています。  NNNN 解説
 451   このオブジェクトがコレクションではありません。  N 解説
 452   序数が不正です。  N ---
 453   関数は指定されたコード リソース には定義されていません。  N ---
 454   コード リソースが見つかりません。  N ---
 455   コード リソースのロック エラー  N ---
 457   このキーは既にこのコレクションの要素に割り当てられています。  N 解説
 458   Visual Basic でサポートされていないオートメーションが変数で使用されています。  N ---
 459   このコンポーネントでは、イベントはサポートされていません。  N ---
 460   クリップボードのデータ形式が不正です。  N ---
 461   メソッドまたはデータ メンバが見つかりません。  N 解説
 462   リモート サーバーがないか、使用できる状態ではありません。  N ---
 463   ローカル マシンにクラスが登録されていません。  N ---
 480   AutoRedraw イメージを作成できません。  N ---
 481   ピクチャが不正です。  NN 解説
 482   プリンタ エラーです。  N 解説
 483   プリンタ ドライバは指定されたプロパティをサポートしていません。  N ---
 484   システムからプリンタ情報を受けるときに問題が発生しました。プリンタが正しく設定されているかを確かめてください。  N ---
 485   ピクチャの形式が不正です。  NN ---
 486   フォームのイメージをこのプリンターで印刷することはできません。  N ---
 520   クリップボードを空にできません。  NNN 解説
 521   クリップボードを開けません。  N ---
 735   テンポラリ ファイルに保存できません。  N ---
 744   検索文字列が見つかりませんでした。  N 解説
 746   置換後の文字列が長すぎます。  N 解説
 1004   ○○クラスの××メソッドが失敗しました。(など)  NNNNN 解説
 31001   メモリが不足しています。  N ---
 31004   オブジェクトがありません。  N ---
 31018   クラスが設定されていません。  N ---
 31027   オブジェクトをアクティブにできません。  N ---
 31032   埋め込みオブジェクトが作成できません。  N ---
 31036   ファイルへの書き込み中にエラーが発生しました。  N ---
 31037   ファイルの読み込み中にエラーが発生しました。  N ---


[発生度]のドクロマークは、Wingdingsフォントを使っています。
WingdingsフォントはWindowsに標準添付のフォントですから、一般的なWindowsユーザーは表示されるはずです。
そうでないWindowsユーザーさんや、Macな方には「NNN」などと表示されると思います。