変更内容書
— どこを・なぜ・どう変えたかのご報告(修正納品に添付するA4 1枚) —
| 案件 | 請求書作成マクロのエラー修正 |
|---|---|
| 対象ブック | 請求書作成.xlsm(2026-06-10 お預かり版) |
| 納品日 | 2026-06-13 |
| 症状 | 「選択した行の請求書を作成」ボタンを押すと 「実行時エラー 9:インデックスが有効範囲にありません」が出て止まる |
1. 原因(調査結果)
シートの名前が「受注一覧」から「受注一覧(2026)」に変更されたことが原因です。 マクロの中には変更前の「受注一覧」という名前が3か所に残っており、 マクロが「『受注一覧』という名前のシートを探したが見つからない」状態になっていました。 ブックやデータの破損ではありません。
2. 変更した場所
| # | モジュール | 場所 | 変更の要点 |
|---|---|---|---|
| 1 | Module1 |
CreateInvoiceSelected |
シート名の直書き("受注一覧")をやめ、モジュール先頭の定数 SHEET_ORDERS を参照する形に集約したうえで、定数を現在のシート名「受注一覧(2026)」に設定 |
| 2 | Module1 |
CreateInvoicesMonthly |
|
| 3 | ThisWorkbook |
Workbook_Open |
今後のために
シート名の参照を1か所(定数)に集約したので、次にシート名を変えたくなった場合は、
Module1 先頭の SHEET_ORDERS の1行を書き換えるだけで済みます(場所は引き継ぎメモに記載)。
3. 影響範囲
この変更が影響するのは請求書の作成処理(1件作成・まとめて作成)とブックを開いたときの絞り込みのみです。 請求書のレイアウト、請求書番号の採番、「発行済みの行を整理」の処理には変更を加えていません。
4. 今回変更していないこと(スコープ外・ご参考)
気づいた点
PDFの保存先フォルダが存在しない場合もエラーで止まる作りになっています(今回の症状とは別件)。
今回のご依頼範囲外のため変更していませんが、フォルダを自動作成する改修も可能です。必要でしたらお見積もりします。