1. トップページ>
  2. お役立ちコンテンツ一覧>
  3. VBAとはどんな開発言語?フリーランスでも活躍できる?

VBAとはどんな開発言語?フリーランスでも活躍できる?

記事画像

『VBA』の基礎知識

まずは、VBAとは何なのか、VBAを扱えることで、どんなメリットやデメリットがあるのかを紹介していきます。

VBAとは

VBA(Visual Basic for Applications)とは、Microsoft Officeに含まれるアプリケーションソフトを自動で操作できるようにするプログラミング言語を指します。 Microsoft製品に標準で搭載されているVBAプログラムを記述すると、Microsoft Office製品での処理を自動化できます。 MicrosoftのOfficeシリーズのソフトウェアとは、WordやExcel、PowerPointなどを指します。VBAを利用してこれらで行われる定型的な操作をプログラム化し、操作の自動化を実現できるので、業務効率化を簡単に進めることができます。 VBAの言語仕様はMicrosoft Office製品にかかわらず共通です。けれども、利用するMicrosoft製品によって利用できる操作は異なるため、Wordで用いられるVBAはWord VBA、Excelで用いられるVBAはExcel VBAなどと異なる名称で呼ばれます。

VBAの歴史

VBAの歴史は、1991年にマイクロソフトが開発した汎用プログラミング言語Microsoft Visual Basicを同社製品のMicrosoft Officeに搭載したところから始まります。

VBAが搭載されたExcelがリリースされてからは、Excelを利用して自動で業務を処理できるアプリケーションが続々と開発され、多くの企業で導入事例が生まれていきました。

そして、2006年には株式会社オデッセイコミュニケーションズによってVBAスキルを認定するVBAエキスパートという資格が誕生します。このことで日本でも徐々に業務効率化プログラミング言語としてVBAが普及していきました。

VBAのメリット・デメリット

VBAのメリットは、大きく2つあります。

一つ目は、「膨大な量のデータを操作する必要がある際に、大幅な業務効率化になること」です。

たとえば、営業社員が100人を超える会社があるとしましょう。この会社では、5人ずつの営業チームの1人ずつの日次の営業成績の予算と実績の差分を抽出し、予算を超過している社員と予算に満たない社員のリストを別々のシートとして作成するという作業を毎日行っています。

この作業をExcelで行った場合、毎日決まった操作方法でデータ処理を行わなければなりません。毎日3時間程度の業務時間が取られると仮定すると、月間で合計60時間程度、時給を2,000円として計算すると12万円程度の工数がかかってしまいます。年間でみると約144万円にもなります。

この作業をExcel VBAで自動化するとどうなるでしょうか?必要な工数は最初のプログラミングの時間だけです。仮にVBAエンジニアが自動化するのに2週間かかったとしても、30万円程度が1回必要になるだけで、年間でみると相当な工数を削減できます。

二つ目の大きなメリットは、「処理がルール化されているので、操作ミスが発生しないこと」です。

上に挙げた営業成績の抽出の例でいうと、毎日担当者が人の手でチェックするとなると、どうしてもケアレスミスが発生してしまう可能性が残ります。

そのため、抽出作業が終わった後にその抽出にミスがないかチェックする工数も加わり、そのための人員も必要です。

VBAを利用すれば、決まったルールのもとでのExcel操作が自動で行われます。最初に作成したプログラムのルールが間違っていない限りは、ケアレスミスが入り込む余地はなくなり、ミスのチェックの工数も必要なくなります。

逆に、VBAのデメリットは、「業務の変化に対して弱いこと」と、「VBAのプログラムの保守運用が難しいこと」です。

既存のExcelやAccessでの操作を自動化するので、作業した時点での部署の体制や業務内容に強く依存します。そのため、会社の体制変更などによって業務内容が大きく変わってしまった場合には、VBAで作成したプログラムも大きく書き換える必要が出てしまいます。

また、VBAのプログラムは一度運用が始まると、上記のような業務変更のタイミングか想定外のエラーが発生しない限りは、プログラムが見直されることはありません。

数ヶ月後にエラーが発生して、処理内容を確認する必要が出た場合に、プログラムを作成した担当者が部署から離れてしまっていると保守が困難になってしまうのです。

VBAが活躍している開発現場

VBAでできることの一例として、以下が挙げられます。

  • 月次の営業成績の計算とレポート作成の自動化
  • Wordファイルに書かれた議事録を自動でレポート化
  • 製造現場での資材の管理ツールの作成

基本的には、ExcelやAccess、Wordなど、業務でMicrosoft製品が利用されている会社で、定型的な操作を自動化する目的で多く利用されます。

VBAとマクロの違い

「VBAってマクロとは何が違うの?」という疑問を持っている方向けに、VBAとマクロの違いについても説明しておきます。 マクロとは、Excelなどのアプリケーションを自動で操作するための機能のことで、VBAはMicrosoft Office製品でマクロを作成するためのプログラミング言語という違いがあります。 たとえば、Excelには一度行った作業を自動化するマクロ機能というものが備わっています。マクロ操作は特定の条件によって処理を変化させることができないため、業務を自動化する上で汎用性に欠けてしまいます。 VBAでプログラムを作成できれば、特定の条件によって操作手順を変えることが可能になり、効率化できる業務の幅が一気に広がります。

VBAとRPAの違い

混同されやすいVBAとRPAの違いについても説明しておきます。

RPA(Robotic Process Automation)とは、Webサイトやクラウドサービス上で開発者の指定した操作手順通りに自動で操作を行うようにする技術を言います。コンピューター上での自動化全般のを指します。

たとえば、社外からのお問い合わせに対して担当者を割り振る業務であれば、メールの受信を検知し、なんらかの条件で担当者を割り当て、その人に対して通知する、といったWebアプリケーション上での操作を自動化することができます。

このように、RPAはVBAのように特定の製品に限定された技術ではありません。特定のWebアプリケーションに対しての操作を自動化するRPAや、Microsoft製品の処理を自動化するためのRPAなど、様々な製品やアプリケーションに対する自動化を指す点で、VBAと異なります。

VBAフリーランス案件の特徴

VBAに関しての実際の求人内容を参考に、VBAのフリーランス案件の最新情報や仕事内容の特徴を紹介していきます。

業務内容

近年は、Excelを活用している現場にて業務効率化のためにVBAを使用してツール開発や保守を担当するといった案件が多い傾向にあります。

平均年収と単価相場

VBAの単価としては、平均すると月45万円〜55万円程度になっています。 業務未経験の場合は30万円〜40万円程度、業務経験が数年ある場合には50万円〜60万円程度の案件が多いです。

必要なスキルと経験

VBAの開発案件に取り組む上で必要なスキルと経験には、以下のものがあります。

  • VBAの開発、運用経験
  • 顧客折衝の経験やスキル
  • 調整業務の経験

VBAを利用して開発に取り組むので、VBAの設計・実装経験が求められることはもちろんですが、業務の内容によっては、社外の顧客とのやりとりや、多部署間の業務の調整を行う場合もあります。そのため、顧客折衝や調整業務の経験があると単価が上がりやすいです。 VBAを利用したツールの開発・運用経験や、業務の効率化経験が豊富な場合は、より上流工程の要件定義の工程から担当することもあり、この場合では単価はさらに上がる可能性もあるでしょう。

勤務体系

VBA開発案件は、顧客との連絡、業務内容の深い理解が求められるものが多いです。基本的には常駐先企業の暦に合わせて常駐する形となるでしょう。 一部、要件が決まっていてVBAでの開発のみを担当するという案件もあります。そのような案件の場合は、リモートでの勤務が可能な場合もあります。

学習のポイント

VBAの開発案件において単価を上げるために、VBAの開発スキルを上げる効果的な学習のポイントについてご紹介します。

VBAを用いた開発案件は、顧客や担当部署の業務によって求められる効率化も異なります。VBAで開発できるプログラムの応用力が必要なケースが多いです。

VBAでの開発の応用力をつけるために、まずはVBAで何ができるのか基礎的な内容を一通り学びましょう。その上でご自身の普段行っている作業を自動化するVBAプログラムを応用的に書いてみるなどの努力が求められます。

おすすめの資格

VBAの開発能力が高いことを証明できると、単価を上げやすくなります。また、VBAの開発の方法を一通り学べるので、開発能力の向上にも役立つというメリットがあります。

VBAの資格には、以下の4つがあります。

  • Excel ベーシック
  • Excel スタンダード
  • Access ベーシック
  • Access スタンダード

難易度は、ベーシックよりもスタンダードの方がレベルが高いです。Excel スタンダードとAccess スタンダードのどちらも取得すると、スタンダードクラウンという称号を手に入れることもできます。

また、資格の有効期限はないので、一度取得してしまえば、その後は更新をする必要はありません。

初心者向け案件の特徴

他のプログラミング案件に比べると、VBA開発初心者向けの案件は多い傾向にあります。これは、VBAの開発は学習のハードルが低めということが関係していると考えられます。 VBA初心者が案件を獲得するコツは、普段から自発的に学習し、スキルアップのための行動を取っている実績を作っておくことです。自力で業務効率化の余地を見つけて業務効率化を進めていくことも求められます。 また、ExcelやPowerPointなどMicrosoft製品の操作方法について普段から慣れ親しんでおくとよいでしょう。

高単価案件の特徴

高単価のVBA案件を獲得するには、多部署間の要望をとりまとめ、業務効率化やツール開発の要件を定義する能力が必要です。その上で、要件定義をもとに詳細設計を進め、実装に必要な工数と人員を見積もって実装作業を進めていくことが求められます。 また、多部署間の調整やVBA開発の詳細設計は、業務経験を積むことでスキルを伸ばせます。複数の開発案件に取り組み、自発的に仕事を進められるとよいでしょう。

VBAの将来性とフリーランス案件の動向

近年の傾向では、案件の変動はあまりなく、随時募集がある状況です。 DX(デジタルトランスフォーメーション)など、ITで業務を効率化する風潮が高まっていますので、スモールステップとしてVBAでの自動化に取り組む企業もあるでしょう。 しかし、VBAはMicrosoft Officeが利用されていることが大前提です。すぐにはあまり考えにくいですが、Microsoft製品の利用率が減ってしまうと案件数が減ってしまう可能性があります。 また、案件は未経験の方でもできるものも多いため、単価が安くなってしまいがちでもあります。VBAの案件に取り組むフリーランスの方は、PythonでのWebアプリケーションの操作自動化など、VBAとは別のプログラミング言語の習得も必須です。そうすれば、将来的に単価も上がり、案件も安定的に獲得できるでしょう。

まとめ

VBAとはどんな開発言語なのか、フリーランスでも活躍できるのかについて解説しました。案件数は安定していますが、単価が安く利用環境が限定されるため、将来的に単価を上げさらなる活躍を目指すなら別の言語にも取り組みましょう。

フリーランスエンジニアのための案件・求人紹介サイト

  • エンド直案件多数
  • 支払いサイト0日も可能!

簡単60秒無料登録

フリーランスの経験はございますか?

新着案件

フルリモート案件

アクセスランキング

関連記事