この記事で分かること
- VBA修正依頼における見積もり算出の基本的な仕組み
- 画面・帳票・データ量など費用が変動する具体的なポイント
- コストを抑えスムーズに依頼するための事前準備と既存ファイルの活用法
Excel VBAの修正見積もりが決まる基本的な仕組み
Excel VBAの修正や改修を開発会社などの外部業者へ依頼しようとしたとき、提示された見積もり金額の根拠がわからず、戸惑ってしまうケースは少なくありません。システム開発や修正の見積もりは、基本的に「エンジニアがその作業にどれくらいの時間(工数)を要するか」で決まります。しかし、既存のVBAコードを修正する場合、ゼロから新規で開発するよりも見積もりの算出が複雑になる傾向があります。その理由について詳しく見ていきましょう。
既存ファイルの調査と解析にかかる時間
既存のマクロを修正する場合、開発会社はまず「現状のプログラムがどのように書かれているか」を読み解く必要があります。プログラムには作成者の独自の書き方(癖)があったり、過去の繰り返しの改修によってコードが複雑化(ブラックボックス化)していたりすることがよくあります。そのため、「単にエラーを直すだけ」「少し機能を追加するだけ」の依頼であっても、それが他の機能とどのように影響し合っているかを調査する時間が必要です。この「調査・解析」の工数が見積もりに大きく反映されるため、ファイルの中身が整理されていればいるほど費用は安く、複雑であれば高くなる傾向があります。
新規開発と既存改修の難易度の違い
システム開発において、他人が書いたコードを理解して修正することは、自分で一から新しく作り直すよりも難易度が高く、手間がかかる場合があります。前任者が退職していて仕様書やマニュアルが一切残っていない場合、開発会社はプログラムの動作を一つひとつテストしながら仕様を逆算して解明しなければなりません。この作業は非常に専門的で時間がかかるため、一部の開発会社では既存マクロの修正依頼を断ったり、高額な新規作り直しを提案してきたりすることがあります。だからこそ、既存ファイルの現状を適切に把握し、保守や改修を得意とする業者へ依頼することが重要になります。
見積もり費用が変動する3つの重要なチェックポイント
では、具体的に既存ファイルのどのような要素が見積もり金額に影響を与えるのでしょうか。開発会社が特に重視してチェックする「画面」「帳票」「データ量・連携」の3つのポイントについて、詳細に解説します。
画面(ユーザーフォーム)の数と複雑な入力チェック
Excel VBAには、ワークシートのセルに直接入力するのではなく、専用の入力画面(ユーザーフォーム)を表示させる機能があります。この画面の数や、配置されている項目(テキストボックス、ドロップダウンリスト、チェックボックスなど)の多さは、改修の作業工数に直結します。例えば、「部署名を選ぶと、連動して担当者名のリストが切り替わる」「入力された文字が数字のみかチェックし、エラーを出す」といった裏側の処理が多数設定されている場合、プログラムは複雑になります。「入力項目を一つ追加してほしい」という簡単な依頼でも、画面のレイアウト調整からデータの転記先の変更、入力エラーチェックの追加まで、連鎖的に修正箇所が発生するため、見積もり費用が変動する要因となります。
出力される帳票やPDF・レポートの仕様
マクロを実行した結果として、どのような形でデータが出力されるのかも重要なポイントです。単に別のシートに一覧表としてテキストデータが書き出されるだけであれば、比較的シンプルな処理で済みます。しかし、実務ではより複雑な出力が求められることが多々あります。「指定したフォーマットの請求書や納品書にデータを転記し、顧客ごとに別々のファイルとして保存する」「集計結果を特定のレイアウトでPDF化して自動保存する」「月別のグラフを自動生成してレポート形式にまとめる」といった処理が含まれる場合、セルの位置調整や書式設定(罫線、文字サイズ、色など)を制御するプログラムが大量に必要になります。出力形式が複雑になるほど、調整の手間がかかるため費用に反映されます。
処理するデータ量や他システムとの連携
マクロが対象としているデータの規模と、外部環境との連携状況も、見積もりに大きく影響します。数百行程度のデータであれば一瞬で処理が終わりますが、数万行、数十万行といった膨大なデータを扱う場合、処理速度を向上させるための高度なプログラミング技術(配列処理など)が必要になります。大容量データを扱うシステムの改修では、パフォーマンスチューニングの工数が追加されることがあります。また、そのExcelファイル単体で完結しているか、他のファイルと連携しているかも必ず確認されます。「共有サーバー上の別ファイルから数値を読み込んでいる」「社内のAccessデータベースや基幹システムから吐き出されたCSVを取り込んでいる」といった外部連携がある場合、連携先の仕様や構造も調査する必要があるため、影響範囲が広がり調査・改修の工数が増加します。
費用を抑えスムーズに修正依頼を進めるための準備
専門知識がない担当者が、ここまで解説したようなVBAの複雑さをすべて正確に把握して開発会社へ文章で伝えるのは非常に困難です。見積もり費用を適正に抑え、スムーズに依頼を進めるためには、「実際の既存ファイルを見せながら相談する」ことが最も確実でコストダウンにつながる近道です。ここでは、業者へ相談する前に行うべき事前準備について解説します。
エラーの再現手順や業務フローの整理
エラーが出てマクロが止まってしまう場合は、そのエラーメッセージの画面をスクリーンショットで保存しておきましょう。また、「どの画面で」「どのボタンを押したときに」「どんなデータを入力した状態で」エラーが発生するのか、具体的な再現手順を箇条書きでメモしておくと、業者の解析時間が劇的に短縮されます。機能追加を依頼する場合は、現状の業務フローと、改修後にどうなりたいかの理想の形を整理しておくことで、お互いの認識ズレを防ぐことができます。
実データではなくダミーデータでのファイル提供
見積もりや調査依頼の段階で、実際のExcelファイルを業者に見てもらうのが一番ですが、個人情報や顧客データなどの機密情報が含まれている場合はそのまま渡すことはできません。そういった場合は、機密情報を「テスト株式会社」「090-0000-0000」などのダミーデータに書き換えた「調査用ファイル」を作成して渡すことをおすすめします。ファイルの実物を見ながら相談することで、「どこをどう直せばよいか」がすぐに判明し、余計なバッファ(予備の調査費用)をカットした正確な見積もりを算出してもらえます。
既存ファイルを見せて直接相談するメリット
言葉だけで「エラーを直してほしい」と伝えると、開発会社は「最悪のケース(一番手間がかかるケース)」を想定して高めの見積もりを出さざるを得ないことがあります。しかし、既存のファイルをエンジニアが直接確認できれば、「このコードの書き方なら、ここの一部を修正するだけで対応可能だ」「この部分は今回の改修に影響しないから調査を省ける」といった判断が瞬時に可能になります。結果として、無駄な調査費用を削ることができます。多くの専門業者は正式依頼前にヒアリングと簡易調査を行ってくれますので、まずは気軽に現状のファイルを提示して相談してみましょう。
VBAの知識が全くなくても見積もり依頼はできますか?
はい、全く問題ありません。専門用語を使う必要はなく、「普段の業務でどう使っているか」「どこをクリックするとエラーが出て困っているか」といった日常の言葉でお伝えいただければ、開発会社が意図を汲み取ります。既存ファイルを見せていただければ、エンジニアが専門的な部分を調査いたします。
ファイルの受け渡しにあたってセキュリティが心配なのですが?
顧客名や金額などの機密情報が含まれる場合は、実データを仮の数値(ダミーデータ)に置き換えたファイルを作成してからお渡しください。また、多くの開発会社では、ファイルの受け渡し前に秘密保持契約(NDA)を締結することが可能ですので、安心してご相談いただけます。
エラーの修正と一緒に、使い勝手を良くするための機能追加も依頼できますか?
もちろん可能です。既存のコードを解析するタイミングで一緒に機能追加を行った方が、後から別々に依頼するよりも全体のコストや期間を抑えられるケースが多いです。現状の不満点や追加したい機能をリストアップしてご相談ください。