この記事で分かること
- Excelマクロ保守を外注する際に「契約範囲」に含めるべき具体的な作業項目
- トラブルを防ぐための契約上の注意点と、保守方式(定額制・スポット型)の費用相場
- 自社の業務を止めないために最適なExcelマクロ保守パートナーの選定基準
Excelマクロ保守の外注が必要とされる背景とメリット
多くの企業において、Excelマクロ(VBA)は特定の「マクロが得意な社員」が一人で構築することが一般的です。この手軽さこそがExcelの強みですが、時間が経つにつれて以下のような重大なリスク(課題)が顕在化します。
- 属人化とブラックボックス化:マクロを開発した担当者が異動・退職してしまうと、コードの意図や修正方法が社内の誰も分からなくなり、エラーが起きた瞬間に業務がストップします。
- OSやOfficeのアップデートによる突然の動作不良:Microsoft 365の自動アップデートや、PCのOS仕様変更、32bit版から64bit版Officeへの移行に伴い、過去に作ったマクロ(Declare文など)が突然エラーを起こして停止することがあります。
- 業務変化への追従不足:消費税率の変更や社内ルールの改定に対し、マクロを修正できる人間がいないため、結局手作業に戻ってしまい効率が低下します。
これら現場の課題を解消するために「Excelマクロ保守」をプロへ外注することには、以下のような大きなメリットがあります。
- 業務の継続性(BCP対策)の担保:万が一トラブルが発生した際にも、迅速に専門家が原因究明と復旧対応を行うため、業務停止による損失を最小限に抑えられます。
- 採用・教育コストの削減:Excelマクロのメンテナンスのためだけに、専門のIT人材を高い給与で常駐させたり、既存社員を一から教育したりするコストと手間を省くことができます。
- 既存マクロの品質向上:ただエラーを直すだけでなく、処理速度の向上やエラーハンドリング(予期せぬエラーで強制終了させない仕組み)の追加など、プロの視点でより安定したマクロへとリファクタリング(最適化)してもらうことが可能です。
Excelマクロ保守契約に含めるべき具体的なサポート範囲
外注先と保守契約を結ぶ際、最も重要なのが「どこまでの作業が保守費用に含まれるか(契約範囲)」を明確にすることです。ここが曖昧だと、「エラー対応は無料だが、コードを1行でも変更したら追加料金が発生する」といったトラブルが生じます。
一般的に、Excelマクロ保守契約に含めるべき、または検討すべきサポート範囲を以下の表にまとめました。
| サポート項目 | 具体的な対応内容 | 保守範囲に含まれるかどうかの基準 |
|---|---|---|
| ① 障害対応(バグ修正) | 突然のエラー発生時における原因究明、コード修正、暫定回避策の提示 | 基本的に【保守範囲内】。最優先で対応されるべき必須項目です。 |
| ② 環境変化に伴う改修 | Windows/Officeアップデート、ファイルサーバー移行に伴うパス変更などへの対応 | 【保守範囲内】とすることが多いですが、大規模なシステム移行時は要相談。 |
| ③ 軽微な仕様変更 | 消費税率の変更、入力シートの列追加、簡単なレイアウト調整や文言変更など | 【条件付きで範囲内】。月〇時間以内、または「大がかりな機能追加を除く」などの制限あり。 |
| ④ 相談・QA対応 | マクロの使い方、エラー時の切り分け、操作方法に関する社内からの問い合わせ対応 | 【保守範囲内】。メールやチャット、Web会議でのQA対応が基本です。 |
| ⑤ ドキュメント・手順書作成 | ブラックボックス化したコードの解析、構成図や操作マニュアルの作成・更新 | 【オプション(別料金)】とされることが多い。初期フェーズでスポット依頼を推奨。 |
各項目を検討する際の具体的な実務上の注意点は以下の通りです。
障害対応における「SLA(サービスレベル合意)」の確認
エラーが発生した際、何時間以内に初期レスポンス(受付連絡)があるか、いつまでに復旧対応を開始するかを合意しておく必要があります。「連絡したのに3日間放置された」といった事態を防ぐため、事前に連絡手段(チャット、電話など)と対応時間帯を擦り合わせておきましょう。
仕様変更と新規開発の「境界線」
「既存機能の軽微な修正」と「新規機能の追加」の線引きをあらかじめ決めておきます。例えば、「既存マクロの出力データに1項目追加する」のは保守範囲内でも、「新しい集計シートとグラフをゼロから自動生成する機能を足す」のは新規開発(別見積もり)となるのが一般的です。月間の稼働上限時間(例:月5時間まで)を定めておくことで、スムーズな運用が可能になります。
トラブルを防ぐための保守外注の注意点と契約時のポイント
Excelマクロの保守を外部委託するにあたり、発注側と受注側の認識ギャップから生じやすいトラブルを防ぐための4つのポイントを解説します。
1. VBAプロジェクトの「保護パスワード」とソースコードの所有権
以前の開発者がかけたVBAのパスワード(VBAProjectパスワード)が不明な場合、コードを見ることができません。パスワード解除の対応が可能か、事前に外注先に確認しておきましょう。また、改修後のソースコード(VBAコード)の著作権や所有権が自社に帰属すること(自社で自由に変更・他社へ開示できる権利を持つこと)を契約書に明記しておくことが、将来的なベンダーロックインを防ぐために極めて重要です。
2. 保守対象の「棚卸し」と特定
自社内に存在するすべてのExcelマクロファイルを保守対象にすると、初期費用や月額費用が膨大になります。本当に業務上重要で、日常的に稼働している「コアマクロ」だけを厳選し、ブック名やマクロ名、ファイルの格納先フォルダなどを契約書で「保守対象ファイル一覧」として特定しておきます。
3. 初期調査(コード解析)の必要性と費用
多くの外注先では、保守をスタートする前に「既存のマクロがどのような構造で作られているか」を解析する「初期調査(ソースコード解析)」を行います。他人が作ったマクロ、特に専門外の人が作った複雑なスパゲッティコード(整理されていないコード)を解読するには時間と手間がかかるため、初期調査費用(または初期解析費用)が別途発生することをあらかじめ想定しておきましょう。
4. リモート接続環境の整備
エラーの原因究明には、実際にエラーが起きているPCの画面を見たり、同じ社内ネットワーク環境(ファイルサーバーへのアクセス権など)でテストしたりする必要があります。TeamsやZoomによる画面共有、または安全なVPN経由でのリモートアクセスなど、トラブル時に外注先が速やかに調査できるインフラ環境を準備しておくことが、早期解決への近道となります。
Excelマクロ保守を外注する際にかかる費用相場
Excelマクロ保守の料金体系は、大きく分けて「月額定額制(定常保守)」と「都度見積もり(スポット対応型)」の2つがあります。それぞれの費用相場とメリット・デメリットを比較してみましょう。
| 契約形式 | 費用相場 | メリット | デメリット・注意点 |
|---|---|---|---|
| 月額定額制(定常保守) | 月額 3万円 〜 15万円程度 (マクロの数や対応時間枠による) |
・トラブル時に優先して対応してもらえる枠が確保されている ・毎月の支払額が一定で予算化しやすい ・日頃の疑問や軽微な相談も気軽にできる |
・エラーがまったく発生しなかった月でも一定の固定費がかかる |
| 都度見積もり(スポット型) | 1回あたり 3万円 〜 数十万円 (エラー原因の難易度や修正時間による) |
・必要な時だけ支払うため、マクロが安定していれば年間コストを低く抑えられる | ・トラブル発生から対応(見積、契約、着手)までに時間がかかる ・難易度によっては1回の改修費が高額になる |
自社はどちらのプランを選ぶべきか?
- 月額定額制を推奨する企業:毎日、または毎週必ず稼働している基幹的なマクロがある場合。マクロが1日止まるだけで出荷業務や請求業務がストップしてしまうような、業務への影響度が極めて高いケースでは、月額保守を契約して「即時対応の安心感」を確保するべきです。
- 都度見積もり(スポット型)を推奨する企業:月に数回しか使わない、最悪動かなくなっても手作業でのリカバリーが利く、といった補助的なマクロである場合。ただし、スポット対応であっても、事前の初期解析(マクロの棚卸しと構造理解)だけを事前に外注先に依頼して済ませておくと、いざトラブルが起きたときの対応スピードが格段に向上します。
自社に最適なExcelマクロ保守パートナーの選び方
Excelマクロの保守を依頼する相手は、フリーランスからシステム開発会社まで幅広く存在します。しかし、単に「VBAのコードが書ける」というだけで選ぶと、実務でスムーズに連携できず、結果的に保守が機能しないことがあります。選定時にチェックすべき3つのポイントを紹介します。
1. 業務プロセスに対する理解度(ドメイン知識)
Excelマクロは、経理、財務、販売管理、生産管理など、現場の具体的な「実務」に密着して作られています。外注先のエンジニアが「会計ルール」や「在庫管理の流れ」といった実務知識を持っていない場合、仕様を説明するだけで膨大な時間がかかってしまいます。業務プロセスを素早く理解し、共通のビジネス言語で会話ができるパートナーを選ぶことが重要です。
2. 将来的な「脱Excel」やシステム移行も相談できる提案力
Excelマクロは便利な半面、データ量が増えると動作が重くなったり、複数人での同時編集が難しかったりといった限界があります。保守だけでなく、「将来的にこのマクロをAccess化してデータベース運用にするべきか」「Webシステムやクラウドアプリへ移行するべきか」といった、ITロードマップを描ける開発会社をパートナーに選ぶと、企業のDXを長期的に支援してもらえます。
3. コミュニケーションスピードと安心感
保守において最も重要なのは「いざという時にスムーズに連絡が取れるか」です。問い合わせに対する一次返答が早いか、こちらの困りごとに対して親身に聞いてくれるか、といった担当者の姿勢やコミュニケーションのしやすさも極めて重要な選定要素となります。
マクロの作成者がすでに退職しており、パスワード(VBAProject)もわからないのですが対応してもらえますか?
はい、対応可能です。パスワードがかかっている場合でも、一定の手順を踏んで解除、または新しくマクロを解析・再構築することができます。ただし、元のコードのブラックボックス化が激しい場合は、現在の業務要件をヒアリングした上で、新規に作り直した方が低コストで安定したシステムになることもあります。まずは現状のファイルを専門家に見せて診断を受けることをおすすめします。
毎月エラーが起きるわけではないのですが、月額保守を契約するメリットはありますか?
月額保守の最大のメリットは「業務継続性の担保(保険)」と「継続的な業務改善」です。トラブルが発生した際、契約がない状態(スポット)だと「見積もり→稟議→発注」というプロセスが発生し、着手までに数日〜1週間以上かかることが珍しくありません。月額保守を結んでいれば、即座に調査・修正に着手できるため、業務停止リスクを最小限に抑えられます。また、エラーがない月は「マクロの速度向上」や「使い勝手の改善」といった、攻めの改修に時間を充てることも可能です。
既存マクロの保守だけでなく、新しいマクロの新規作成も合わせて依頼できますか?
もちろん可能です。多くの保守パートナーは新規のExcelマクロ開発(VBA開発)も得意としています。既存マクロの保守を通じて、貴社の業務プロセスやシステム環境に慣れているパートナーであれば、新規開発の際にも要件定義が非常にスムーズになり、実務に完璧にフィットした高品質なツールを短期間で構築できます。
保守をスタートする前に、最低限準備しておくべき資料はありますか?
必ずしも完璧な資料は必要ありませんが、以下の3つがあると初期調査が非常にスムーズになります。①対象となるExcelマクロファイル(実際にデータが入ったもの、またはダミーデータを入れたもの)、②そのマクロがどのような業務で、誰が、いつ使っているかの簡単な説明、③可能であれば、マクロを実行したときの大まかな手順(マニュアルやメモ書き程度で可)。これらの情報をもとに、専門家が現状分析を行います。
保守契約の期間は最低何ヶ月からですか?途中解約は可能ですか?
一般的には、3ヶ月または6ヶ月、1年単位での契約が主流です。ただし、開発会社によっては「スモールスタート」のために、1ヶ月単位での契約や、解約の縛りがない柔軟な契約形態を用意している場合もあります。契約書を交わす前に、最低契約期間と解約予告期間(例:解約の1ヶ月前までに申し出る等)を必ず確認しておきましょう。