VBA・Excelマクロ開発者のフリーランスがつまずきやすい点と対策
公開 2026-11-04 監修:株式会社エージェントベスト
フリーランスのVBA・Excelマクロ開発者がつまずきやすいのは、仕様と検収があいまいなまま請け負うこと、利用者ごとに違う環境で動かなくなること、マクロのブロックや64ビット版への対応を後回しにすること、小さな修正を無償で受け続けることです。どれも、ツールが小さく見えるために、取り決めを省いたまま始めてしまうことから起きます。
対策の基本は、作る前に「何をもって完成とするか」を書面にし、動かす環境と配り方を先に確かめ、直した記録を残すことです。この記事では、契約・現場・技術・お金の順に、VBAならではの場面と対策を整理します。独立前に整える環境や契約の基本はVBA・Excelマクロ開発者がフリーランスになるにはで扱っているので、ここでは「実際に起きやすい場面」に絞ります。
契約でのつまずき
「Excelの作業を自動化する」だけで請け負う
VBAの依頼は、「今の手作業をマクロにしてほしい」という一言から始まることがよくあります。手作業の手順書がなく、例外の処理が担当者の頭の中にしかないまま請け負うと、納めた後に「このパターンが動かない」が続きます。
対策:作る前に、入力になるファイル、出力の形、扱う例外、扱わない例外を書き出し、発注側と合意します。請負で受けるなら、検収の方法と期間も決めておきます。考え方は検収の記事と契約不適合責任の記事をご覧ください。
準委任か請負かを確かめずに始める
改修や保守の作業時間に対して報酬が払われる準委任と、ツールの完成に対して報酬が払われる請負では、負う責任が違います。小さなツールでは契約の形があいまいなまま進み、「完成するまで払えない」と言われて困ることがあります。違いは準委任と請負の違いで解説しています。
対策:契約書の業務の内容と報酬の支払条件を読み、どちらの形かを署名の前に確かめます。
作ったマクロの権利をめぐる食い違い
自分で作りためた共通の部品(ログ出力やファイル操作の関数など)を納品物に組み込むと、その部品の権利まで発注側に移ると読める契約になっていることがあります。
対策:納品物の著作権の扱いと、もともと持っていた部品の扱いを、契約の前に確かめます。考え方は著作権の記事で整理しています。
現場でのつまずき
本番のデータを手元に受け取ってしまう
テストに使うため、顧客名や取引の金額が入った本番のブックをそのままメールで受け取ってしまうことがあります。万一の漏えいでは、作業した側の責任も問われかねません。
対策:作業用には、個人情報を伏せたデータや件数を減らしたデータを用意してもらうよう相談します。本番のデータに触れる必要があるときは、貸与端末や発注側の環境で作業できるかを確かめます。考え方は個人情報の取り扱いを委託されたときをご覧ください。
利用者ごとに環境が違い、自分の端末でしか動かない
自分の端末では動くのに、利用者の端末ではエラーになる。VBAでいちばん多いつまずきの一つです。Officeの版や32ビット版・64ビット版の違い、参照設定、ファイルの置き場所、ドライブ名などが原因になります。
対策:参画の初めに、利用者の端末のOfficeの版とビット数、ブックの置き場所を確かめます。納める前に、利用者に近い環境で一度動かしてもらう段取りを入れておきます。
「ついでに」の小さな依頼が積み上がる
VBAの現場では、「この列も足してほしい」「別のシートにも同じ処理を」といった小さな依頼が日々届きます。一つずつは小さくても、積み上がると契約の範囲を大きく超えます。
対策:依頼を一覧に残し、契約の範囲の内か外かを都度確かめます。範囲の外の扱いは業務範囲が変わったときの記事と追加の依頼の断り方をご覧ください。
作った人として問い合わせを受け続ける
納めた後も、使い方の質問や小さな不具合の相談が直接届き続けることがあります。契約が終わった後の対応は、取り決めがなければ無償になりがちです。
対策:操作の手順書と、よくあるエラーの対処を書いて渡します。納めた後の問い合わせをどこまで受けるかは、保守の契約として別に決めておきます。
技術でのつまずき
マクロのブロックを前提にしない配り方
Microsoft Learnによると、Windows版のOfficeでは、インターネットから取得したファイルのマクロが既定でブロックされ、メールの添付ファイルなどで受け取ったブックではマクロが動かない状態で開きます(2026年10月時点)。マクロを動かす方法として、ファイルのプロパティでのブロック解除、信頼できる場所への保存、デジタル署名と信頼された発行元、組織のポリシーなどが案内されています。
「納めたのに動かない」と言われる原因の多くはここにあります。
対策:納める前に、発注側でどの方法を使うのかを情報システムの担当者と確かめます。信頼できる場所やポリシーは組織の管理に関わるため、自分の判断で設定を変えるよう利用者に勧めないでください。
64ビット版で古いマクロが落ちる
Microsoft Learnでは、Office 2019とMicrosoft 365から64ビット版が既定になったこと、64ビット版ではWindows APIを呼ぶDeclare文にPtrSafeが必要で、ポインターやハンドルにはLongPtrを使う必要があることが説明されています(2026年10月時点)。PtrSafeを付けるだけでは足りず、戻り値や引数の型も直さないと、正しくない値が返ることがあります。
対策:引き継いだマクロでは、最初にDeclare文を洗い出し、32ビット版と64ビット版の両方で動く形にそろえます。直した箇所と理由は記録に残します。
読めないコードをそのまま書き足す
作った人がいないマクロは、変数名が分かりにくく、同じ処理が何か所にも書かれていることがよくあります。全体をつかまないまま書き足すと、別の箇所が壊れます。
対策:手を付ける前に、モジュールと主な処理の流れ、触っているシートと外部のファイルを書き出します。書き直したくなっても、まずは合意した範囲だけを直し、ほかは改善の提案として分けます。
お金でのつまずき
小さな修正を無償で受け続ける
「数行直すだけだから」と無償で引き受けると、それが当たり前になり、断りにくくなります。
対策:修正の依頼は一覧にし、契約の範囲の外のものは見積もってから受けます。小さくても作業時間を記録しておくと、報酬の相談の材料になります。
請負で、検収が終わらず支払いが遅れる
請負の小さなツールでは、検収の期間を決めていないと、発注側の担当者が忙しく確認が進まず、支払いが後ろにずれることがあります。
対策:検収の期間と、期間内に連絡がなければどう扱うかを、契約の前に決めておきます。
版の入れ替えの仕事が一度に終わる
Officeの入れ替えに伴う改修は、一定の期間に仕事が集まり、終わるとまとめて契約が終わることがあります。
対策:契約の終わりが見えた時点で、次の案件の相談を始めます。棚卸しや移行の検討など、入れ替えの後に続く仕事の経験も積んでおくと、次につなげやすくなります。
よくある質問
納めたマクロが先方で「セキュリティ リスク」と表示されて動きません。どうすればよいですか?
インターネットから取得したファイルとして扱われ、マクロがブロックされている可能性があります。ファイルのブロック解除、信頼できる場所への保存、デジタル署名など、Microsoft Learnで案内されている方法のどれを使うかを、発注側の情報システムの担当者と相談してください。組織の決まりに関わるため、利用者に設定の変更を勧めるのは避けます。詳しくはVBA・Excelマクロ開発者のリモート案件でも扱っています。
納めた後に不具合が見つかったら、無償で直す必要がありますか?
契約の形と内容によって変わります。請負の場合は、契約で決めた期間や範囲の中で不具合の修正を求められることがあります。準委任の場合は、契約で約束した作業の範囲で考えるのが一般的です。契約書の定めを確かめ、判断に迷う場合は弁護士などの専門家にご相談ください。
前任者のマクロがあまりに読みにくく、作り直したほうが早そうです。
作り直しは、利用者の慣れた動きを変え、見えていなかった例外を落とす危うさもあります。まずは読みにくい理由と、作り直した場合の手間と影響を整理し、発注側に選択肢として示してください。進め方はVBA・Excelマクロ開発者の参画初月にやることで整理しています。
参考にした公的情報・資料
- インターネットからのマクロは、Office で既定でブロックされます(Microsoft Learn)
- 64 ビット Visual Basic for Applications の概要(Microsoft Learn)
記事の内容は公開日時点の情報にもとづきます。制度や税率は変わることがあるため、手続きの前に必ず各機関の最新情報をご確認ください。