Excel VBA · 番号から探す
VBA実行時エラー辞典
マクロが止まったときに表示された番号を選んでください。よくある原因と、コードを直す前に確認することをまとめています。
メッセージ全文と停止した行も手がかりになります。1004 は複数のメッセージがあり、35 はコンパイル時に見つかる場合もあります。
- 実行時エラー '3':Return に対応する GoSub がありません
処理を終えるための Return と、GoSub から戻る Return を取り違えていないか確認します。
- 実行時エラー '5':プロシージャ呼び出しが正しくありません
文字の切り出し位置や長さなど、関数へ渡した値が許容範囲内か確認します。
- 実行時エラー '6':オーバーフローしました
変数だけでなく、計算途中の数値や型変換が扱える範囲を超えていないか確認します。
- 実行時エラー '7':メモリが不足しています
読み込むセルや配列を絞り、開いたブックや大きなデータを抱え続けていないか確認します。
- 実行時エラー '9':インデックスが有効範囲にありません
シート名・ブック名の違い、配列の範囲外、未確保の配列を確認します。
- 実行時エラー '11':0 で除算しました
件数や合計など、割る側の値が 0 になる入力を先に分けます。
- 実行時エラー '13':型が一致しません
文字列・セルのエラー値・配列を数値として扱っていないか確認します。
- 実行時エラー '28':スタック領域が不足しています
自分自身を呼ぶ処理やイベントの再実行が、終わらず積み重なっていないか調べます。
- 実行時エラー '35':Sub、Function、または Property が定義されていません
呼び出した処理の名前、置き場所、公開範囲、参照設定を確認します。
- 実行時エラー '52':ファイル名または番号が正しくありません
Open と読み書きで同じファイル番号を使い、ファイル名の組み立ても確認します。
- 実行時エラー '53':ファイルが見つかりません
ファイルの実在、拡張子、相対パスの基準を確認します。
- 実行時エラー '55':ファイルは既に開かれています
同じファイルの二重オープンや、開いたままの名前変更を確認します。
- 実行時エラー '57':デバイス I/O エラーです
保存先のディスクや接続先の入出力に問題がないか、ローカルの小さな処理で切り分けます。
- 実行時エラー '58':既に同名のファイルが存在しています
名前変更先の重複を調べ、既存ファイルを残したまま扱いを決めます。
- 実行時エラー '61':ディスクの空き容量が不足しています
書き込み先の空き容量や割り当て上限を確認し、途中までの出力を完成品と分けます。
- 実行時エラー '62':ファイルにこれ以上データがありません
空ファイルや予定より短いファイルから、末尾を越えて読み込んでいないか確認します。
- 実行時エラー '70':アクセス許可が拒否されました
読み取り専用、他の処理のロック、保存先の書き込み権限を確認します。
- 実行時エラー '75':パス/ファイルのアクセス エラー
パスの形式や読み取り専用属性など、ファイルへのアクセス条件を確認します。
- 実行時エラー '76':パスが見つかりません
ファイル名より前のフォルダ、ドライブ、共有先が存在するか確認します。
- 実行時エラー '91':オブジェクト変数または With ブロック変数が設定されていません
Set で参照先を設定したか、検索結果が Nothing になっていないか確認します。
- 実行時エラー '94':Null の使い方が正しくありません
データベースなどから受け取った Null を、文字列や数値へ直接変換していないか確認します。
- 実行時エラー '424':オブジェクトが必要です
セルの値やシート名の文字列を、Range や Worksheet 自体と取り違えていないか確認します。
- 実行時エラー '438':オブジェクトは、このプロパティまたはメソッドをサポートしていません
操作先の種類を調べ、そのオブジェクトで使えるプロパティやメソッドを選びます。
- 実行時エラー '1004':アプリケーション定義またはオブジェクト定義のエラーです
Excel の操作が失敗した番号です。表示された全文と停止行から、セル選択・範囲指定・保護・シートコピーなどを切り分けます。