🧾

Codexで既存の経費精算Excelマクロを改善した話

Codexで既存の経費精算Excelマクロを調査・改善する
Codexで既存の経費精算Excelマクロを調査・改善する
🧩
この記事は、実案件を特定できないように内容を再構成した架空のケーススタディです。
実在する企業・業務・システム・ファイルとは関係ありません。

はじめに

今回取り上げるのは、経費精算書を作成・確認する既存のExcelマクロを、Codexを使って改善した架空の事例です。
利用者が経費区分を選択すると、その区分に合った確認項目が表示されます。今回は確認項目に補足メモを表示し、経費区分の変更に合わせてメモの内容も自動的に切り替えたい、という要望が寄せられた想定です。
この記事では、既存ファイルの調査、VBAの修正、動作確認、利用者向け手順書の作成までを、Codexとどのように進められるか紹介します。

30秒でわかる:何をした記事?

長年使われている経費精算Excelマクロを題材に、Codexを活用して次の工程を一気通貫で進めました。
  • 既存ツールの構造調査
  • 影響範囲を抑えた修正方針の検討
  • 数式とVBAの修正
  • 起動時エラーの原因特定と再発防止
  • 経費区分ごとの表示確認
  • 利用者向け手順書と案内文の作成
🎯
ねらい:「直す」だけでなく、調べる → 影響範囲を絞る → 検証する → 利用者へ説明するまでを効率化することです。

こんな課題からスタート

長く運用されたExcelマクロは、次の理由から「改修するのが怖い」状態になりがちです。
  • どのシートやモジュールを修正すればよいか分からない
  • セル、数式、名前付き範囲、VBAが複雑に関係している
  • 小さな変更が別の機能に影響する可能性がある
  • 作成者が不在で、現在の仕様が整理されていない
  • 修正内容を利用者へ説明する資料も必要になる

今回想定した相談内容

営業部門で使用している経費精算ツールについて、選択した経費区分に応じて確認項目と補足メモを切り替えたい。
例えば「交通費」を選択した場合は経路や訪問先に関する注意事項を表示し、「交際費」を選択した場合は参加者や利用目的に関する注意事項を表示する。
対象ツールには、次のような機能がある想定です。
  • 経費区分の選択
  • 精算内容の入力
  • 経費精算時の確認項目の表示
  • 補足メモの表示
  • 経費精算データの保存
  • 経費精算書の作成
  • 入力内容の初期化

画面例に使う経費区分

経費区分主な確認項目補足メモで伝える内容
交通費利用日、経路、訪問先、領収書経路や訪問先に関する注意事項
交際費利用目的、参加者、利用店舗、領収書参加者や利用目的に関する注意事項
💡
「申請」のような広い言葉を一律に使わず、場面に合わせて経費精算・経費区分・精算内容・精算者・精算日・経費精算書・提出などを使い分けます。

Codexに渡した情報

  • 既存のマクロ有効ブック
  • 既存の仕様書や操作手順書
  • 現在の操作方法
  • 実現したい表示と切り替え条件
  • 利用者がVBA初学者であること
  • 外部システムは検証環境から利用できないという制約
  • 元ファイルを残し、作業用コピーを修正する運用
🔎
ポイント:最初からコードを指定せず、業務上の要望 → 現状調査 → 実装方針の順に進めます。

ステップ1:既存ツールの構造を調査する

いきなり書き換えず、次の内容を洗い出して「変更してよい範囲」を決めます。
  • ワークシートの構成と経費精算シートのレイアウト
  • 対象セル、名前付き範囲、入力規則
  • 確認項目を表示しているセル数式
  • 経費区分変更時に動くイベント処理
  • ファイルを開いたときに動く処理
  • 入力内容を初期化する処理
  • 会計システムやメールとの連携部分
既存ファイルの調査から修正、動作確認、手順書作成までの流れ
既存ファイルの調査から修正、動作確認、手順書作成までの流れ
調査の結果、経費区分変更時のイベント名前付き範囲が画面表示に関係していることが分かりました。
そこで、会計システムなどの外部連携には触れず、確認項目と補足メモの表示に関係する範囲だけを修正する方針にしました。

ステップ2:複雑にしすぎない方法を選ぶ

同じ要望でも、実装方法は一つではありません。
例えば、経費区分ごとに別々の入力領域を作り、VBAで表示・非表示を切り替える方法があります。しかし、この方法ではレイアウト変更が大きくなり、初期化処理や動作確認の範囲も増えてしまいます。
今回は影響を抑えるため、次のように役割を分けました。
  • 確認項目の切り替え:セル数式
  • 補足メモの切り替え:VBA
この構成なら、共通の確認欄を利用しながら、選択した経費区分に合わせて内容を変更できます。

ステップ3:確認項目と補足メモを切り替える

選択した経費区分に応じて確認項目と補足メモを切り替える
選択した経費区分に応じて確認項目と補足メモを切り替える

数式で行うこと

  • 経費区分に合った確認項目を表示する
  • 起動直後は既定の確認項目を表示する
  • 対象外の区分では確認項目を空欄にする

VBAで行うこと

  1. 既存の補足メモを削除する
  1. 選択された経費区分を確認する
  1. 区分に対応する注意事項を設定する
  1. 新しい補足メモを追加する
  1. 表示状態、フォント、文字サイズ、表示サイズを設定する

表示イメージ

交通費を選択した場合
  • 確認項目:利用日、経路、訪問先、領収書
  • 補足メモ:経路や訪問先、移動目的に関する注意事項
交際費を選択した場合
  • 確認項目:利用目的、参加者、利用店舗、領収書
  • 補足メモ:参加者や利用目的、店舗情報に関する注意事項

つまずきポイント:Excelの「コメント」と「メモ」

Excelでは画面上で「メモ」と表示されていても、VBAでは従来の名称が使われている場合があります。
⚠️
画面上の名称とVBA上の名称が異なる場合があります。初めて修正するときは、既存コードがどのオブジェクトを操作しているか確認が必要です。

追加対応:補足メモを常に表示する

最初のコードでは、補足メモが通常は非表示になる設定でした。
常に表示する場合は、次のように変更します。
さらに、補足メモを削除して作り直すと、以前の書式は引き継がれません。そのため、文章だけでなく次の設定も毎回行います。
  • 表示・非表示
  • フォント
  • 文字サイズ
  • メモの幅と高さ

追加発見:起動直後にエラーで止まる

原因は、対象シートを明示せずにセルを操作していたことでした。
修正前の考え方
この書き方は、対象セルがあるシートがアクティブであることを前提にしています。別のシートが表示された状態で保存されると、起動時に対象セルを選択できず、エラーになる可能性があります。
修正後の考え方
対象シートを明示して起動時エラーを防ぐ
対象シートを明示して起動時エラーを防ぐ
対象シートを明示してからセルを操作することで、保存時に表示されていたシートに左右されにくい処理へ変更しました。

ステップ4:同じ処理を必要なタイミングで呼び出す

経費区分を変更したときだけ補足メモを更新すると、次の問題が残ります。
  • 起動直後に補足メモが設定されない
  • 初期化後も変更前のメモが残る
  • 確認項目と補足メモの内容が一致しない
そこで、共通化したメモ更新処理を次のタイミングで呼び出します。
  • 経費区分が変更されたとき
  • ファイルを開いたとき
  • 入力内容を初期化したとき

動作確認のチェックポイント

画面表示

  • 起動時に既定の確認項目が表示される
  • 交通費を選ぶと、利用日・経路・訪問先・領収書の確認が表示される
  • 交際費を選ぶと、利用目的・参加者・利用店舗・領収書の確認が表示される
  • 対象外の区分では不要な確認項目が表示されない

補足メモ

  • 経費区分に応じてメモの内容が切り替わる
  • 補足メモが常に表示される
  • 指定したフォントと文字サイズになる
  • 対象外の区分では不要なメモが削除される
  • 初期化後に既定の内容へ戻る

既存機能とファイル形式

  • 入力規則と選択肢が保持されている
  • 起動時にエラーが発生しない
  • 経費精算データを保存できる
  • 経費精算書を作成・確認できる
  • マクロ有効ブック形式が維持されている
  • 既存のVBAプロジェクトが保持されている
AIによる修正支援と人による最終確認を組み合わせる
AIによる修正支援と人による最終確認を組み合わせる
🧪
会計システムへの連携や本番データの登録は、顧客環境で最終確認します。検証環境で確認できる範囲と、本番環境で確認する範囲を分けることが重要です。

利用者向けの手順書も作成する

コードだけでは、利用者が修正内容や確認方法を判断できません。そこで、次の内容を手順書にまとめます。
  • 修正の目的
  • 現在の仕組み
  • 経費精算シート上の対象セル
  • 数式とVBAの役割分担
  • 変更するモジュールと処理の入口
  • シート保護の解除と再設定
  • 動作確認項目
  • エラーが出た場合の確認点
実際の経費精算シートの画面を使い、修正場所が分かるようにすると、VBA初学者でも作業しやすくなります。

Codexを使って感じたこと

Codexの価値は、コード生成だけではありません。既存ツールの構造をたどりながら、次の作業を連続して支援できます。
  • 既存ファイルの調査
  • 修正方法の比較
  • 数式とVBAコードの修正
  • エラー原因の調査
  • 動作確認
  • 画面付き手順書の作成
  • 利用者への案内文の作成
  • 公開用記事の匿名化
一方で、AIへすべてを任せたままにするのではなく、修正後の画面や動作を人が確認することは欠かせません。

安全に進めるための注意点

  • 元ファイルを直接上書きせず、必ず作業用コピーを作る
  • マクロ有効ブック形式を維持する
  • 修正前にシートとモジュールの関係を確認する
  • セル番地だけでなく名前付き範囲も確認する
  • 起動時・変更時・終了時のイベントを確認する
  • シート保護の状態を確認する
  • 外部連携を不用意に実行しない
  • 一度に多くの箇所を変更しない
  • 修正前後の確認項目を決めておく
  • 機密情報を公開記事や画像に含めない
🔐
企業のファイルを扱う場合は、秘密保持契約・情報管理規程・AI利用規程に従います。

まとめ

既存の経費精算Excelマクロを改善するときは、「どこを直すか」より先に、どこまでなら安全に直せるかを決めることが重要です。
Codexを伴走者として使うことで、既存ファイルの調査から実装、検証、利用者への説明までを整理しながら進められます。
今回のように、確認項目は数式、補足メモはVBAと役割を分けることで、修正範囲を抑えながら利用者の要望を実現しやすくなります。
🤝
Codexは、経費精算ツールの修正をすべて自動化するものではなく、調査・実装・検証・説明を一緒に進める伴走者として活用すると効果的です。

プロフィール

AI指導者・小田広通のプロフィール写真
AI指導者・小田広通のプロフィール写真
💡 現場目線・経営者目線を貫く、ITの町医者として
インフォケーション株式会社 代表取締役
東京都あきる野市に本社を構え、四半世紀にわたり地元の産業をITで支え続けてきた経営者です。
これまでに手がけた業務システム構築数は200件を超え、特に製造業や流通業の核となる「生産管理」「販売管理」システムで多数の実績を持っています。

🛠️ 現在の取り組みとメッセージ

現在は、最先端のAIエージェントや、社内に眠る知識を形にするナレッジ構築を活用。深刻化する中小企業の人手不足解消や業務効率化を、二人三脚でサポートする伴走支援に力を入れています。

無料相談・デモ体験

「既存の経費精算Excelマクロを改善したい」「作成者が不在で修正できない」「Codexを業務改善に活用できるか相談したい」など、どんな小さな疑問でも大歓迎です。
🗓️
事前にご用意いただくとスムーズです:現在お使いのExcelファイル、仕様書、困っている操作が分かる資料などを1〜3点