VBA・Excelマクロ開発者のフリーランス案件で求められるスキルと経験
公開 2026-10-29 監修:株式会社エージェントベスト
VBA・Excelマクロ開発者のフリーランス案件で求められるのは、VBAの文法とExcelの仕組みを理解したうえで、データを正しく扱い、ほかの人が直せる形で作り、利用者の端末で安全に動かせることです。経験を積むほど、AccessやほかのOffice製品との連携、Officeの版の違いへの対応、Office スクリプトやPower Automateなど隣の技術との使い分けまで問われるようになります。
この記事では、案件で問われるスキルを7つの分野に分け、経験の段階ごとに何が求められるかを整理します。
スキルは7つの分野で整理すると伝わりやすい
| 分野 | 主な中身 |
|---|---|
| VBAとExcelの仕組み | ブック・シート・セル範囲などのオブジェクトの扱い、イベント、ユーザーフォーム |
| データの扱い | 配列での一括処理、CSVやテキストの読み書き、データベースへの接続とSQL |
| Access | テーブルの設計、クエリ、フォームとレポート、Accessの中のVBA |
| ほかの製品・仕組みとの連携 | Outlook・Wordの操作、ファイルとフォルダの操作、WindowsのAPI |
| 壊れにくい作り方 | エラー処理、ログ、モジュールの分け方、命名、コードの管理 |
| 配布とセキュリティ | マクロのブロックと信頼の仕組み、配布の方法、32ビット版と64ビット版 |
| 隣の技術との使い分け | Office スクリプト、Power Automate、RPA、Pythonとの比べ方 |
VBAとExcelの仕組み
基本になるのは、Excelのオブジェクトの扱いです。セルを1つずつ選んで書き換えるような、記録したマクロに近い書き方のままだと、データが増えたときに遅くなり、利用者が画面を触ると誤動作します。対象のブックとシートを明示して参照する、画面の更新や再計算を処理の間だけ止めるといった基本を、理由とあわせて説明できると評価されます。
シートの変更やブックを開いたときに動くイベントの処理、入力のためのユーザーフォームも、業務のツールではよく使われます。イベントは便利な反面、意図しない場面で動くことがあるため、どこで動き、どう止めるかを把握していることが大切です。
データの扱い
業務のツールで多いのは、大量の行を読み込み、集計し、別の形に書き出す処理です。セルを1つずつ読み書きするより、範囲をまとめて配列に読み込んで処理し、まとめて書き戻すほうが速くなります。
ファイルサーバー上のCSVや、基幹システムから出力したテキストを取り込む場面も多くあります。文字コードや区切り文字、先頭の0が消える問題など、取り込みでつまずく点を知っていることは、実務で頼られる力です。
外部のデータベースに接続してSQLでデータを取る処理を書けると、担える案件が広がります。SQLとデータベースの設計の考え方を深めたい方は、データベーススペシャリスト試験の記事も参考になります。
Access
Accessは、Excelでは扱いきれない量のデータや、複数の人が入力するデータを管理するために、部署の中で使われてきました。案件では、次のような力が問われます。
- テーブルの設計と、テーブルどうしの関係の理解
- 選択クエリだけでなく、追加・更新・削除のクエリの扱い
- フォームとレポート、その裏で動くVBA
- 外部のデータベースのテーブルをつないで使う構成の理解
Accessの案件は、作った人がいなくなり、テーブルの意味が分からないまま使われていることが少なくありません。テーブルとクエリの関係を図に起こし、どの画面がどのデータを書き換えるかを洗い出せる人は、引き継ぎの案件で頼られます。
ほかの製品・仕組みとの連携
Excelで作った表をもとに、Outlookでメールを送る、Wordで文書を差し込みで作るといった処理は、業務のツールでよく使われます。フォルダの中のファイルを順に開いて処理する、決まった場所にファイルを出力するといった、ファイルとフォルダの操作も欠かせません。
WindowsのAPIを呼ぶ処理を含むツールは、Officeの版によって書き方が変わります。Microsoft Learnでは、64ビット版のOfficeで動かすには、DeclareステートメントにPtrSafeキーワードを付け、ポインターやハンドルを扱う型をLongPtrなどに直す必要があると説明されています。PtrSafeを付けるだけでは不十分で、戻り値や引数の型まで見直す必要がある点も明記されています(2026年10月時点)。古いマクロをこの観点で直した経験は、改修の案件でよく問われます。
壊れにくい作り方
個人の作業を楽にするマクロと、業務委託で納めるツールの違いが一番出るのがこの分野です。
- エラー処理:想定外のデータやファイルの欠けに出会ったとき、途中で止まったまま放置せず、何が起きたかを利用者に伝える
- ログ:いつ、誰が、どのファイルを処理したかを残し、問い合わせのときに確かめられるようにする
- モジュールの分け方と命名:画面の操作、データの処理、設定値を分け、名前から役割が分かるようにする
- 設定値の切り出し:フォルダのパスやシート名をコードに直接書かず、1か所で変えられるようにする
- コードの管理:モジュールを書き出して版を残すなど、どこを変えたかを追える形にする
ほかの人が読める文書の書き方は、設計書・ドキュメントの書き方の記事も参考になります。
配布とセキュリティ
作ったツールを利用者の端末で動かすところまでが、VBA開発者の仕事です。Microsoft Learnによると、Windows版のOffice(Access、Excel、PowerPoint、Project、Publisher、Visio、Word)では、インターネットから取得したファイルに含まれるVBAマクロが既定でブロックされます(2026年10月時点)。ファイルにはMark of the Webと呼ばれる印が付き、信頼できる場所に置いたファイルや、信頼された発行元のデジタル署名があるマクロは、この判定の前に許可されます。
案件で問われるのは、次のような点を理解し、発注元の情報システム部門と話せることです。
- 社内のファイルサーバーをIPアドレスで開くと、信頼済みサイトなどに入っていない限りマクロがブロックされること
- Excelのアドイン(.xlam)は、Mark of the Webがあるとデジタル署名で発行元を信頼しても動かず、信頼できる場所に置くなどの対応が要ること
- OneDriveやSharePointのファイルは、開き方によってMark of the Webが付くかどうかが変わること
「マクロが動かない」という問い合わせの多くは、この仕組みが原因です。原因を切り分け、組織の決まりに沿った解決策を示せる人は重宝されます。
隣の技術との使い分け
Microsoft Learnでは、VBAマクロはデスクトップ向けに、Office スクリプトは安全でプラットフォームをまたぐクラウド向けの仕組みとして設計されていると説明されています(2026年10月時点)。主な違いは次のとおりです。
| 観点 | VBAマクロ | Office スクリプト |
|---|---|---|
| 動く場所 | Windows版・Mac版のExcel。Excel on the webでは動かない | Excel on the web、Windows版・Mac版のExcel |
| ほかのOffice製品 | 使える | Excelのみ |
| Power Automateからの実行 | コネクタがない | 実行できる |
| 届く範囲 | デスクトップに広く届く | ブックの中だけ |
VBAしかできない処理もあれば、Office スクリプトとPower Automateのほうが合う処理もあります。「この業務ならどちらで作るか」を理由とともに説明できると、経験の幅が伝わります。Power Automateの側はPower Platformエンジニアのスキルの記事、画面の操作の自動化はRPAエンジニアのスキルの記事、スクリプト言語での処理はPythonエンジニアのスキルの記事で扱っています。
経験の段階ごとに求められること
| 段階 | 求められること |
|---|---|
| 担当者として作る | 決まった手順をマクロにし、エラー処理と使い方の説明を付けて納める |
| 改修・引き継ぎを担う | 他人のマクロやAccessを読み解き、仕様を書き起こし、壊さずに直す |
| 部署のツールをまとめる | 複数のツールの関係を整理し、置き場所・配布・版の違いへの対応を決める |
| 移行や置き換えを判断する | 残すもの・直すもの・別の仕組みへ移すものを分け、業務側に説明する |
上の段階ほど、コードを書く時間より、調べて書き残し、説明する時間が増えます。経験をシートでどう見せるかはVBA・Excelマクロ開発者のスキルシートの書き方で扱っています。
よくある質問
記録したマクロを直す程度の経験でも案件はありますか?
あります。ただ、記録したマクロを直す経験だけでは、担える案件が限られます。エラー処理を入れる、配列でまとめて処理する、設定値を切り出すといった、ほかの人が使う前提の作り方を身につけると、選べる案件が広がります。
Accessの経験はどの程度必要ですか?
案件によります。Excelだけで完結する案件もありますが、部署で長く使われてきたツールにはAccessがつながっていることが多くあります。テーブルとクエリを読み解き、どの画面がどのデータを書き換えるかを説明できる程度の経験があると、引き継ぎの案件で検討の材料になります。
Office スクリプトも覚えたほうがよいですか?
VBAの経験を生かしながら案件の幅を広げたい方には、触れておく価値があります。Office スクリプトはTypeScriptで書き、Power Automateから実行できるため、クラウドに置いたブックを自動で処理する場面で使われます。使うにはMicrosoft 365の法人向けなどのライセンスが必要なため、使える環境があるうちに試しておくと、比べて話せる材料になります。
参考にした公的情報・資料
- インターネットからのマクロは、Office で既定でブロックされます(Microsoft Learn)
- 64 ビット Visual Basic for Applications の概要(Microsoft Learn)
- Office スクリプトと VBA マクロの違い(Microsoft Learn)
記事の内容は公開日時点の情報にもとづきます。制度や税率は変わることがあるため、手続きの前に必ず各機関の最新情報をご確認ください。