VBA活用のメリット・デメリットから、技術としての需要まで解説VBAを仕事で活用しよう!活かせる職業や将来性もご紹介

最終更新日:2020年12月25日

レバテックキャリアは
ITエンジニア・Webクリエイター専門の転職エージェントです

Microsoft Officeのアプリケーションである、ExcelやWordは様々な仕事で日常的に使われています。Office製品はVBA(Visual Basic for Applications)と呼ばれるプログラミング言語を使うことで機能を拡張でき、仕事の効率化や自動化が行えます。VBAを使いこなすことで、具体的にはどのような仕事に役立つのでしょうか。

この記事ではVBAのメリットとデメリット、そして将来性について詳しく解説します。

1. VBAの概要

VBA(Visual Basic for Applications)とは、WordやExcel、PowerPoint、AccessといったMicrosoft Office製品に標準搭載されているVisual Basicをベースにしたプログラミング開発環境です。

VBAを活用することで、複雑な手順の操作を自動化したり、大量のデータを高速に処理したりできます。特にExcelやAccessのような数値データを扱うアプリケーションでは、VBAを導入することで非常に業務を効率化できます。ちょっとしたプログラミングに留まらず、Office製品を利用した本格的なシステム開発にもVBAは用いられています。

2. VBAが仕事で活かせること

VBAはWordやExcelなどのアプリケーションの標準機能を拡張して、仕事の効率化や自動化に使われます。VBAがどのように仕事に活かされているのか、具体例を挙げて解説します。

ひとつのファイルからデータを抽出して複数のシートを作成

VBAをExcelの仕事で活用する例として、複数のシートを同時に作成するケースを紹介します。

例えば住所や年齢、職業など多くの項目から構成されている顧客情報の一覧を保存している1つのファイルがあるとします。Excelには標準で外部ファイルを読み込み機能が搭載されていますが、この機能は1つファイルのデータを1つのシートに展開する機能だけを持ちます。

しかしVBAを使うことで、複数の顧客情報を持つファイルから、顧客1人ずつの伝票などの帳票を各シートに連続して作成することができます。VBAを使わない場合、顧客ごとの伝票を作成するために、顧客情報の一覧から、1人ずつ項目をコピーアンドペーストして作成する必要がありますが、VBAを使うことで、そのような作業をしなくても、単純にデータを読み込むだけで、複数のシートに分けて作成できるのです。

またExcelにはAccessなどの外部のデータベースからデータを読み込む機能もあります。大量のデータをExcelに保存してしまうと、Excelが重くなることがあるため、大量データの保存には専用のデータベースを持つAccessなどを使うべきです。そしてExcelをデータを表示するだけのインターフェースとして使えば、動作が重くなることもありません。

専用の入力フォームの作成

ExcelやAccessには入力するデータを逐一チェックできる専用の入力フォームを作成できます。

例えばExcelにデータを入力する場合、通常はセルに直接、数値や文字列を入力します。しかしセルに入力されたデータが適切なものであるかどうか保証できません。例えば数字を入力すべきセルに文字列が入力されている場合、そのセルのデータを利用して関数を動作させてしまうと、関数によってはエラーが発生することもあります。

VBAにはWindowsのアプリケーションでよく見かける専用の入力フォームを作成できる機能があり、その入力フォームにデータを入力させると、VBAのプログラムで入力データのチェックが可能です。

さらにVBAにより不適切なデータを自動で訂正させたり、警告のメッセージを表示させたりできます。不適切なデータ入力によるエラーも防げるため、仕事の効率や精度が大幅に上昇します。

ファイルからデータを抽出してメールを自動送信

VBAを使うと、様々な項目から構成されている顧客情報の一覧から、氏名とメールアドレスを抜き出して、自動的にメールを送信させることも可能となります。

抜き出した氏名とメールアドレスを送信先情報として利用し、メールの件名や本文には自由な文字列を設定できます。抜き出した送信先のメールアドレスに応じて、本文や件名を変えることもVBAのプログラムで制御できます。

Office製品のメールソフトであるOutlookをVBAで連携させれば、Outlookに設定されているメールアカウントの情報を使って、VBAでメールを送信できます。

これにより大量の送信先にメールを送信する仕事を効率化できます。1件ずつメールを送信する時に発生しがちな送信先メールアドレスの入力ミスなども、VBAを使った自動のメール送信ならば完全に防げるのです。

グラフを自動作成するレポーティングツールの作成

Excelにはデータから様々な形式のグラフを作成する機能があります。しかしグラフを作成するためには、グラフ化するデータを選択したり加工したりしなければなりません。また同じデータを使って、多角的な分析をするための集計作業も必要でしょう。

しかしExcel VBAを使えば、このような仕事も簡単にできます。Excel VBAであらかじめプログラムを作っておけば、データを入力するだけで集計やグラフ作成などの仕事を自動化できます。

3. VBA活用のメリット・デメリット

非常に便利なVBAですが、メリットとデメリットの両方があります。

メリットは業務効率化が可能なこと

VBAはOffice製品に標準搭載されているため、環境構築が不要で手軽に開発することができます。シンプルなシステム開発に適しており、データベースとの連携もスムーズに行うことができます。業務効率化により、労働時間の短縮や業務の定型化を図ることができるのもメリットです。

デメリットは用途がOffice製品に限られていること

VBAはOffice製品に用途が限られており、汎用性がありません。また、Office製品のバージョンが変わると動作不良を起こすこともあります。大量のデータ処理をすると時間がかかったり、複数人で同時にファイルを編集することができなかったり等の欠点も挙げられます。活用できるのは、あくまでもOffice製品を使った業務の効率化に留まります。

4. VBAのスキルが役立つ職業

VBAのスキルが活かせる2つの職業を紹介します。

事務職/経理職

Excelを中心としてOffice製品を最も日常的に使っている職種といえば、事務職や経理職の方です。データを集計する際には主に関数を使用すると思いますが、それでも作業に無駄を感じることもあるでしょう。関数は基本的に計算を自動化することしかできませんので、あくまでExcelの範囲内でしか使えません。

しかしVBAが使えると、特定の手順を自動化できたり、データベースから自動でデータを抽出したり、関数を使って自動計算したり、より多くのことが実現できます。VBAを使いこなせると、普段の業務を大幅に改善できる可能性があります。

プログラマー/SE

プログラマーやSEは、コーディング以外にもExcel等を活用して資料を作成する場面が多々あります。特にSEは開発プロジェクトの要件定義や仕様設計の段階から関わり、さまざまな資料をExcelで作成します。

テストケースの作成や障害の自動計算などにVBAを活用するケースが多くあります。また、予算の関係から、システム部門では内製化しやすいVBAで開発してコストを抑えるケースも多く見られます。

5. VBAの将来性

VBAを使いこなせるレベルまで身につけるのは容易ではありません。2020年現在では仕事の効率化に役立つのは確かですが、これから勉強してVBAのスキルを身に付けるのであれば、VBAが将来も有用な技術であるかどうか気になるところです。

実際のところ、VBAには将来性があるという意見と、将来性を危惧する意見の両方があります。まずはVBAには将来性があるという意見から見ていきましょう。

VBAに将来性があるという意見

VBAには将来性があるという意見から紹介します。

Office製品がある限り重宝される

WordやExcelに代表されるOffice製品は1990年代から存在する歴史のある製品です。

2020年現在、Microsoft社は買い切り型のOfficeに加えて、サブスクリプション制である「Microsoft 365」を提供しています。これはWordやExcelのようなアプリケーションに加えて、オンラインストレージであるOneDriveと統合されています。

さらにブラウザ上で動作するOffice Onlineも登場しています。これはGoogleドライブやGoogleスプレッドシートと似た機能を持ちます。

Office製品は、世界中の企業に最も普及しているビジネスツールです。Google製品などもシェアを伸ばしていますが、まだまだOffice製品が大きなシェアを握っています。導入している企業が多いということは、業務内容に合わせてOffice製品をカスタマイズする場面も必然的に多くなることを意味します。

簡単にシステム開発ができる

VBAは開発工程がシンプルであるため、素早くシステム開発をすることができます。そのため開発コストも運用コストも安価で済ませることができます。ITに長けている人材が社内にいれば、インハウスで開発から運用まで済ませることも可能です。このような背景から、主にシステム部門で活用されています。

Office製品を使った作業効率化や工数の削減に欠かせない

大量のルーティン作業を自動化したり、データを一括で処理したりすることで、日々の業務を大幅に効率化できます。その結果、作業工数を減らし作業時間も人件費も削減できます。業務効率化はどの企業にもあてはまる課題ですので、需要がなくなることはありません。

また、作業を自動化することで、データの入力ミスや操作ミスといったヒューマンエラーが発生する機会を減らすことができます。業務の精度を高める必要性がある場面はたくさんあります。

作業効率化においてはWebサービスやRPAなど新しいサービスが生まれています。スタートアップやベンチャー企業などは、新しいサービスを利用する傾向にありますが、中小企業の普及にはしばらく時間がかかりそうです。業務改革やOffice製品の入れ替えは、5年程度のスパンで検討する企業が多いです。よって、数年で一気にシェアが縮小することは考えにくいでしょう。

VBAの将来性を危惧する意見

VBAに将来性があるという意見とは対照的に、VBAの将来性を危惧する意見も存在します。

大量のデータを処理するのには不向き

VBAを用いたシステム開発には、Excelが用いられることが多いです。しかしExcelは複数人での同時利用ができなかったり、大量のデータを処理すると実用的でないほど時間がかかったりします。

例えばビッグデータのような非常に大量のデータを処理することは、Excel VBAでは難しいでしょう。2020年現在で最新バージョンであるExcel 2019でも最大1,048,576行で最大16,384列のデータまでしか操作できないようになっています。そのような大量のビッグデータを扱うためには、データベースに特化したソフトウェアやプログラミング言語を使う必要があります。

用途が限られている

VBAの主な用途はあくまでOffice製品の利便性向上や簡易的なシステム開発です。工夫次第ではシンプルなゲームを作成することもできますが、CやC++などの言語と比較すると、VBAはゲーム開発用のフレームワークがないためゲーム開発に向いていないと言えます。

事実上、長年アップデートされていない

VBAは約20年の間、事実上アップデートされていません。新たに発生し続ける需要に適応できない場面もあり、言語性能の限界を感じさせる意見もあります。そのため、他の言語に需要が置き換えられる可能性もあります。

ブラウザベースのサービスが普及してきている

Office製品はインストール型が主流でしたが、2020年ではブラウザベースのサービスがシェアを伸ばしています。これらは、機能的にOffice製品に劣っている部分がありますが、VBAと同等の機能が提供され始めるなど日々改善が進められています。

例えばGoogleが提供しているGoogleスプレッドシートはExcelに似た機能を持つアプリケーションです。ブラウザ上で動作させることができ、複数のユーザーが同時に編集できる機能を持ちます。またGoogle Apps Scriptとよばれるプログラミング言語で機能を拡張できます。これはExcelにおけるVBAのような機能です。

Microsoft社もMicrosoft 365のようにOffice製品をクラウドで活用できる基盤を準備しています。しかし、すでにGoogleスプレッドシートのようなクラウドサービスを使っているユーザーから、Excelに乗り換えさせるには、何らかの強いメリットや動機が必要となってくるでしょう。このままブラウザベースのサービスを使い続けることは、当然考えられます。

6. VBAを仕事で使えるようになるための勉強法

VBAを仕事で使えるようになるための勉強法を紹介します。まずは手ごろなオンライン教材を使って、VBAの概要をざっと掴んでから、書籍による本格的な学習に進むのがおすすめです。

おすすめのオンライン教材

インターネットにはVBAを学習できるオンライン教材がいくつかあります。例えば動画で学びたい人は、ドットインストールがおすすめです。

ドットインストールはプログラミングスキルを短い動画を使って効率良く学べる学習サイトです。様々なITスキルの学習ができますが、そのうちの1つに「Excel VBA入門」があります。

全19回の講義のうち、最初の4回は無料で閲覧できますが、残りの15回は有料のプレミアムプランに加入する必要があります。4回目までの動画を見て、自分にあっていると思ったら、プレミアム会員になり続きの動画で学習すると良いでしょう。

VBAの応用を本格的に学びたい人は、Udemyがおすすめです。Udemyでは様々な講師がExcel VBAの講義を公開しています。初心者から上級者まで、自分のレベルにあった講義を選んで学習できます。

Udemyでは一度講義に課金すると、永久にその講義を閲覧できる買い取り型の課金システムを採用しています。動画で講義を学べるだけでなく、掲示板で講師に質問できるシステムも用意されています。

おすすめの書籍

Excel VBAに関する書籍も販売されています。初心者向けと中級者向けにそれぞれ1冊ずつ紹介します。
 

初心者向けにはこの1冊を紹介します。本書はExcel VBAを使って様々な業務を自動化する方法を解説している一冊です。単純なVBAの文法の解説に留まらず、VBAの開発環境の使い方や、効率的なデバッグ方法などについても詳細に説明しています。

中級者向けの1冊には本書を勧めます。VBAの詳しい文法の解説に加えて、ユーザーフォームやコントロールの使い方など、Excel VBAを実務レベルで使いこなしたい人とって有用な1冊です。基礎編ではVBAプログラミングの文法や制御構造を学び、実践編では様々なコントロールやVBA関数の使い方を詳しく学べます。

7. VBAの求人例をチェック

最後に、VBAのスキルが必要な求人例を紹介します。このような求人ではVBAのスキルは仕事を進める上での必須条件という扱いが多く、VBAのスキルを活かしながら、社内で様々な業務を進めていくという会社が多いようです。

【業界】

IT・通信

【業務内容】
■社内の管理システムの開発、運用、保守
主に売上や書類に関する管理システムの開発、運用、保守に携わっていただきます。ゆくゆくは新規システムの企画や開発にも関わっていただく予定です。


<具体的な業務内容>
・社内データの管理
・売上に関する管理システムの運用、保守
・書類などに関する管理システムの運用、保守
・新規システムの企画、開発、運用


【求められるスキル・経験】
・VBAを使用した開発経験(1年以上)
・管理システム運用・開発経験(2年以上)
・ポジティブ思考な方
・論理的に物事を考えられる方


【想定年収】
350~600万円

【福利厚生】
健康保険/厚生年金/雇用保険/労災保険/通勤手当/残業手当/慶弔休暇/年末年始/有給休暇/育児時短勤務制度

【勤務地】
東京都

VBAの求人を探す>

8. まとめ

この記事では、VBAを活かせる仕事や将来性について解説してきました。VBAはOffice製品を利用するうえで、非常に便利なプログラミング言語です。VBAを使いこなせれば、Office製品の機能を拡張して、仕事を大幅に効率アップさせることが可能です。

VBAはエンジニア以外でも学びやすい言語でです。普段、WordやExcelを使った仕事をしている事務系職業の方などは、ステップアップのためにVBAを習得してみてはいかがでしょうか。

ITエンジニア・Webクリエイターの転職ならレバテックキャリア

レバテックキャリアはIT・Web業界のエンジニア・クリエイターを専門とする転職エージェントです。最新の技術情報や業界動向に精通したキャリアアドバイザーが、年収・技術志向・今後のキャリアパス・ワークライフバランスなど、一人ひとりの希望に寄り添いながら転職活動をサポートします。一般公開されていない大手企業や優良企業の非公開求人も多数保有していますので、まずは一度カウンセリングにお越しください。

転職支援サービスに申し込む

また、「初めての転職で、何から始めていいかわからない」「まだ転職するかどうか迷っている」など、転職活動に何らかの不安を抱えている方には、無料の個別相談会も実施しています。キャリアアドバイザーが一対一で、これからのあなたのキャリアを一緒に考えます。お気軽にご相談ください。

「個別相談会」に申し込む

プロのアドバイザーがあなたのお悩みや疑問にお答えします

- 転職個別相談会開催中 -

相談内容を選択してください

※転職活動や求人への応募を強制することはありません

人気の求人特集

内定率が高い

関連する記事

人気の記事

スキルアップ記事トップへ

VBAの求人・転職一覧