VBAは、ExcelやAccessなどのMicrosoft Office製品との相性が良いプログラミング言語として知られています。

フリーランスの方のなかには、「どのようなVBA案件があるのかを知りたい」方や「VBA案件の単価が気になる」方もいるのではないでしょうか。

そこで、本記事ではフリーランスの方に向けてVBA案件や単価相場、案件獲得方法などをご紹介します。

VBAとは

VBAとは「Visual Basic for Applications」の略で、Microsoftにより1993年に開発されたプログラミング言語です。

ExcelやAccessなどのMicrosoft Officeに含まれるアプリケーションの機能を拡張することができるプログラミング言語になります。

2024年2月時点で最新バージョンはVBA7.1になります。

VBAの特徴を以下にピックアップしました。

  • VBAはMicrosoft Office製品に組み込まれており、直接Officeアプリケーション内で利用可能
  • Microsoft Office製品との同期により、処理を簡単に自動化することができる
  • 既存のMicrosoft OfficeアプリケーションのUI(ユーザーインタフェース)をカスタマイズすることが可能
  • オブジェクト指向プログラミング言語のひとつ

VBAエンジニアの仕事とは

VBAエンジニアの具体的な仕事内容とは、どのようなものなのでしょうか。

VBAの仕事内容の例を紹介します。

業務プロセスの自動化

Microsoft Officeアプリケーションを使用した業務プロセスの自動化を行います。

作業の効率化やエラーの削減などを目的とした、Word文書のテンプレート作成や自動生成、メールの自動送信、Accessデータベースの自動更新などが例として挙げられます。

データ抽出や集計作業

Excelを使用して大量のデータの抽出や集計などを行ったりします。

VBAを活用することで基幹システム内のデータベースから必要なデータだけを取り出し、そのデータをExcelなどを使用して加工することが可能です。

また、基幹システムに搭載されていない集計機能を追加することができます。

VBAツールのテスト支援

VBAを使用してマクロを用いた、テスト設計や単体テストなどの実行を行うこともあります。

テストを行うだけではなく、VBAツールの構築を一から担う場合もあります。

VBAエンジニアに求められるスキル

VBAエンジニアにはどのようなスキルが求められるのでしょうか。

VBAエンジニアに求められるスキルをご紹介します。

VBAの基礎知識

基本的にはなりますが、VBAエンジニアは、コードの理解や変数のデータ型、スコープ、フレームワークなどの基礎知識が求められます。

VBAの具体的なフレームワークに関しては後ほど説明します。

Officeアプリケーションの知識

VBAエンジニアは、Officeアプリケーション(Excel、Word、Accessなど)に関する知識も求められます。

Officeアプリケーションのオブジェクトモデルや機能などの知識を持っていることで、案件をスムーズに進めることができるでしょう。

データ処理と分析のスキル

VBAエンジニアは、データ処理や分析に関するスキルも必要になる場合があります。

先ほどご紹介したとおり、VBAエンジニアの仕事のなかには、大量のデータの抽出や集計作業があるため、データ処理や分析のスキルを活かすことで案件をスムーズに進めることができるでしょう。

VBAエンジニアの統合開発環境(IDE)

統合開発環境とはVBAコードの編集、実行、デバッグを行うためのツールとシステムの組み合わせを指します。

VBAエンジニアが使用している統合開発環境の例は以下になります。

統合開発環境の種類メリットデメリット
Visual Basic Editor

・使いやすいため、プログラミング経験が少なくても簡単に利用できる

・プログラムを入力、修正するためのエディタ機能など基本的な機能が搭載されている

・機能が限定的

・一部のユーザーにとっては、UIが使いにくい可能性がある

VBAフレームワークとは

フレームワークとはソフトウェア開発の土台となる、汎用的な機能や基本的な制御構造があらかじめ用意された枠組みになります。

VBAはMicrosoft Office製品向けのプログラミング言語であるため、VBAを使用して開発を行うことはあまりなく、JavaやPythonなどとは異なり、ソフトウェア開発を目的としたフレームワークはありません。

しかし、プログラムテストの効率化を目的としたフレームワークなどは一部存在します。

それらの詳細について以下でお伝えします。

VBAフレームワークの紹介

こちらでは、VBAフレームワークを紹介します。

参考にしてみてください。

フレームワークの名称概要メリットデメリット
Excel VBA Framework

・個人が作成した汎用のフレームワーク

・ExcelでVBAを使用する際に便利な機能などを提供

・開発を効率的にする

・ソースコードの構造化や保守性の向上をサポート

・個人が作成しているため、サポートが手薄

・セキュリティリスクがある

VbaUnit・ユニットテストフレームワーク・テストの自動化機能により、効率的にテストを実行することが可能・テストのためのクラスがわかりにくくなる可能性がある
VB Lite Unit・ユニットテストフレームワーク

・シンプルなインターフェース

・テストケースの作成や実行をスムーズに進めることが可能

・使い方がわかりにくい傾向にある

VBAの今後の将来性は

IT業界では日々新しいプログラミング言語が開発されるため、VBAの今後の将来性を知りたい方もいるのではないでしょうか。

プログラミング言語別の求人数は次のような結果になっています。

おもなプログラミング言語のうち、VBAは7番目に求人数が多くなっています。

他のプログラミング言語と比べると、求人数が少なくなっていますが、日本はMicrosoft Officeを導入している企業が多く、業務効率化を実現できるVBAが役に立ちます。

そのため、VBAの需要は一定数期待することができるでしょう。

プログラミング言語の種類案件数
Java723件
PHP311件
JavaScript192件
Ruby129件
Python126件
Kotlin55件
VBA39件

VBA案件の紹介

どのようなVBA案件があるのでしょうか。

こちらでは、VBA案件の具体的な例を紹介します。 

案件名ExcelVBAエンジニア募集(SE)/ツールの機能追加、改修
業務内容

ExcelVBAツールの機能追加、改修

要件整理~設計、開発、単体テスト

■作業工程

基本設計、プログラム設計、コーディング、単体テスト

■作業内容

・ExcelVBAツールの構築

・PowerQueryで統合したデータから抽出したレコードを再計算しsharepoitの再計算リストに格納する調査、ROIマクロの開発、及び単体テスト

■対象システム

VBAマクロ、sharepoint

スキル

必須スキル

・Microsoft ExcelVBA開発経験 2年以上

・定量的な進捗報告ができる

・能動的に課題を見つけて解決策も考えて相談できる

・Microsoft Excelの複雑な数式が理解できる

・納期がある中での開発作業

・設計書が無い中での開発作業

尚可スキル

・主体的な課題管理の経験

・SharePointリストの知見

単価~550,000円/月給
勤務地麹町orリモート(~50%)


案件名~55万/VBAエンジニア/顧客管理システムに関するツール開発
業務内容

・AccessVBAによるEUCツール開発

・(可能であれば)RPA(UiPath)の設計

作業工程:

基本設計、詳細設計、プログラム設計、コーディング、テスト

対象テスト:

顧客管理システム(証券系)

スキル

必須スキル

・AccessVBAの開発経験

・コミュニケーション能力

尚可スキル

・Uipath経験

単価510,000~550,000円/月給
勤務地江東区orリモート(50~80%)


案件名ExcelVBAエンジニア募集/マクロの改修要望や不具合の対応
業務内容

契約書作成処理の実装漏れ対応をお願いいたします。

Excelマクロで契約書を作成している業務と手作業で作成している業務がある。

Excelマクロで作成できる業務も、間違っていたり、ミスの要因になる箇所を修正。

手作業で作成している業務についてはExcelマクロの作成から実施する。

⇒上記の対応を8月末に実施して納品したが、実装漏れが大量に発覚したため、修正が必要な状況。

■作業工程

コーディング、単体テスト

■作業内容

業務で使用しているExcelマクロの改修要望や不具合の対応を行う。

スキル

必須スキル

・Microsoft ExcelVBA開発経験 2年以上

・Microsoft Excelの複雑な数式が理解できる

・設計書が無い中での開発作業

尚可スキル

・主体的な課題管理の経験

単価~650,000円 /月給
勤務地麹町orリモート(90%~100%)

VBAの単価相場

プログラミング言語によって、単価相場は異なります。

VBAの単価相場はいくらなのでしょうか。

プログラム言語別単価相場を基に、おもな言語の単価をお伝えします。

プログラミング言語

単価(月平均)

単価(年平均)

SAP

130万円

1552万円

Scala

94万円

1122万円

M365

94万円

1122万円

Salesforce

92万円

1096万円

AWS

90万円

1079万円

Azure

81万円

968万円

Kotlin

79万円

945万円

Oracle

79万円

937万円

Unity

77万円

914万円

Power Apps

76万円

911万円

Python

76万円

902万円

Vue.js

75万円

894万円

PHP

74万円

883万円

Shell

74万円

878万円

JAVA

72万円

862万円

SQL Sever

72万円

858万円

Swift

71万円

851万円

React

68万円

808万円

C#

67万円

794万円

Windows

66万円

792万円

Cisco

66万円

790万円

Perl

64万円

762万円

Ruby

64万円

759万円

VB.net

62万円

740万円

Figma

62万円

740万円

RPA

62万円

736万円

SQL

61万円

726万円

Linux

60万円

712万円

JavaScript

60万円

712万円

C

59万円

708万円

VC++

59万円

697万円

C++

58万円

687万円

VBA

56万円

666万円

Go

55万円

660万円

COBOL

54万円

639万円

Maya

50万円

594万円

XD

49万円

586万円

HTML/CSS

44万円

519万円

Flash

39万円

462万円

※税込単価

VBAの単価は、56万円(月平均)、666万円(年平均)となっています。

また、フリーランスのVBAエンジニアの経験年数別の単価相場は以下となっています。

VBAの経験年数が5年を超えてくると、61万円(月平均)、732万円(年平均)になります。

VBAエンジニアとしての経験を積めば積むほど単価が月平均で8万円程度、年間では80万円程度上がるので、少しずつでもスキルアップして単価を上げてみてはいかがでしょうか。

経験年数単価(月平均)単価(年平均)
1年未満36万円468万円
1年~3年47万円564万円
3年~5年55万円660万円
5年以上61万円732万円

VBAの高単価案件を獲得するために必要なスキル

VBAエンジニアが高単価案件を獲得するためには、どのようなスキルが必要なのでしょうか。

「VBAの高単価案件を獲得するために必要なスキル」をご紹介します。


Excel VBA、Access VBAでの開発経験

VBA案件では、Excel VBA、Access VBAの経験を求められる傾向にあります。

Excel VBAに関連した案件ではおもにデータ処理や分析、グラフ作成、自動レポート生成などが求められるのに対し、Access VBAに関連した案件ではデータベースの設計、クエリ最適化、フォームとレポートのカスタマイズなどが求められます。

どちらか一方ではなく、両方の経験を積んでおくことで案件獲得の窓口を増やすことができるでしょう。


クラウドに関する知識

VBAを利用することで、クラウド上のサーバーにアクセスし、そのデータを取得したり、集計したりすることもできます。

企業の情報システムなどがクラウドに移行することが増えてきており、VBAだけではなく、クラウドに関する知識を持っていればクラウドに関連した案件も獲得することができるでしょう。


VBAに関連する資格の取得

VBAに関連した資格として、「VBAエキスパート」があります。

VBAエキスパートは、ExcelとAccessのVBAのスキルを証明する資格で、「ベーシック」「スタンダード」の2つのレベルがそれぞれ用意されています。

VBAエキスパートを持っていれば、クライアントにアピールすることができ、案件獲得につながる可能性があります。

VBA案件の獲得方法


画像出典:プロフェッショナル&パラレルキャリアフリーランス協会「フリーランス白書2023」

2023年にプロフェッショナル&パラレルキャリアフリーランス協会が発表した「フリーランス白書2023」の中で、フリーランス850人に対し「直近1年間で仕事獲得に繋がったことのあるもの」をたずねたところ、上記の結果が出ました。

VBA案件の獲得経路について詳しくご紹介します。

人脈

「フリーランス白書2023」では、「知人の紹介なども含む人脈」から案件を獲得したことのある人が70.6%という結果でした。

案件を獲得するためには信頼を得る必要があります。

面識のある人物であれば、ある程度信頼関係が構築されている場合があるため、案件をスムーズに獲得することができるでしょう。

過去・現在の取引先

「過去や現在の取引先」から案件を獲得したことのある人が64.7%でした。

「人脈」と同様にある程度の信頼関係が構築されており、自身のスキルや実績なども理解してくれている場合があるため、案件獲得のひとつの方法として実践してみてはいかがでしょうか。

自分自身の広告宣伝活動

「自分自身の広告宣伝活動」で案件を獲得したことのある人が31.6%でした。

ホームページやSNSを使用することで自分のことを宣伝できるので、仕事についてのホームページやSNSアカウントなどを作ってクライアントに呼びかければ、依頼が来る可能性があります。

フリーランス初心者の方も利用を検討してみてはいかがでしょうか。

エージェントサービスの利用


画像出典:プロフェッショナル&パラレルキャリアフリーランス協会「フリーランス白書2023」

エージェントサービスの利用と回答した人は25.8%でしたが、コロナ禍前までは最も収入が得られる案件獲得経路として「人脈」が40%以上を占めていたのが、コロナ禍後には10%ほど減少し、代わりに増加したのが「エージェントサービスの利用」です。

エージェントサービスとは、フリーランスを対象に案件の紹介や契約交渉、案件稼働後のサポートなどを行ってくれるサービスです。

SHIFTフリーランスは、SHIFTグループがプライムとして参画している独自案件をフリーランスエンジニア向けに紹介する唯一のプラットフォームサービスです。

エージェントによるサポートもありますので、ご利用を検討してみてはいかがでしょうか。

まとめ

本記事では、VBA案件や単価相場、案件獲得方法などをご紹介しました。 

VBAの単価相場は、他のプログラミング言語と比較すると低いですが、経験やスキルを積むことで高単価を獲得できる可能性があります。

また、人脈やフリーランスエージェントなどの方法を利用することで、案件獲得につながることもお伝えしました。

本記事がフリーランスの方の参考となれば幸いです。