AIや機械学習が学べる就労移行支援事業所「Neuro Dive」です。今回はNeuro Diveの学習領域の一つである「業務効率化」で多く扱う「VBA」についてご紹介します。VBAとは、Excelなどの作業を自動化するためのプログラミング言語です。Excelを使うことに慣れている方でも、「VBAの学習方法について知りたい」「実務でVBAを活用できるようになりたい」という方も多いのではないでしょうか。就労経験がない方においても、VBAの学習はビジネス視点を身につける最初の一歩として有効です。
目次
VBAとは?
VBA(ブイビーエー)とは、Microsoft Officeのアプリケーションソフトの拡張機能として用意されたプログラミング言語のこと。「Visual Basic for Applications(ビジュアル・ベーシック・フォー・アプリケーションズ)」の略称です。
利用者が簡易なプログラムを作成して実行することで複雑な処理を自動化できるなど、業務効率化を実現する機能として活用されています。
VBAはExcelなどを自動化するためのプログラミング言語
VBAは、「Word」「PowerPoint」「Excel」などで利用でき、基本的にはMicrosoft Office製品という限られた範囲の中での自動化に力を発揮します。特にExcelでの業務で使用されることが多く、Excel上で行った操作を記録し、記録した操作を何度でも繰り返し行えるようにする機能です。「セルや行、列の操作」「数式」などの基礎的な機能や、「関数」「ピボットテーブル」などの応用的な機能とは異なり、VBAは「手動での作業を自動化できる」プログラミングの要素を持つのが特徴といえます。
Excelでの機能の違い
-
【基礎】
・セルや行、列の操作
・数式と参照形式、基本的な関数 -
【応用】
・表を縦方向に検索し、特定のデータに対応する値を取り出す関数機能(VLOOKUPなど)
・大量のデータをもとにさまざまな集計や分析ができる機能(ピボットテーブルなど) -
【マクロ・VBA】
・特定の操作を自動化する「マクロ」
・手動での作業を自動化する「VBA」
VBAは汎用性が高く、プログラミングを初めて学ぶ方にも比較的学習しやすい言語として知られています。また、VBAが使えるアプリケーション同士は連携できるため、WordにExcelのセルを挿入し、Excel側からデータを入力してWordに反映させることも可能です。日常業務でExcelを使っている企業は非常に多いため、ビジネススキルの一つとしてVBAを習得するメリットも大きいでしょう。
VBAと「マクロ」の違い
VBAと混同されるものに「マクロ」が挙げられます。マクロとは、アプリケーションソフトであらかじめ操作手順を設定して特定の操作を記録し、自動化して実行するための機能です。
Excelには「マクロの記録」という機能が備わっていますが、「マクロの記録」を使うために必要なプログラミング言語がVBAです。つまり、VBAはプログラミング言語であるのに対し、マクロは機能である点が異なります。
VBAとマクロの違い
VBA | マクロ | |
---|---|---|
定義 | マクロを実行するための「プログラミング言語」 | 特定の操作を自動化する「機能」 |
特徴 | VBAを使ってコードを手書きすることで、より複雑な処理を細かく制御できる | Excel上で行った操作を記録し、自動化して実行できる |
「マクロの記録」はExcel上で行った操作を覚えさせる機能のため、できる内容には限界があります。しかし、VBAを使ってコードを手書きすることで、より複雑な処理を細かく制御できるようになります。
VBAと「RPA」の違い
RPAとは、「Robotic Process Automation(ロボティック・プロセス・オートメーション)」の略称で、ロボットによる業務の自動化を意味する言葉です。サーバーやクラウドなどに専用の自動化ツールをインストールし、パソコン上の作業手順をロボットに覚えさせることで、繰り返し行う業務を自動化できるようになります。
VBAとRPAは、作業の自動化を実現することで業務効率化を図るという同じ目的を持ちますが、自動化できる範囲が違います。VBAはMicrosoft Officeのアプリケーション内の操作に限られるのに対して、RPAはパソコン内すべての操作を自動化できます。また、VBAにはプログラミングスキルが必要ですが、RPAはプログラミングの知識は不要で、比較的簡単なクリック操作で自動化できる製品が多いのも異なる点です。
VBAとRPAの違い
VBA | RPA | |
---|---|---|
自動化できる範囲 | Microsoft Officeのアプリケーション内の操作に限られる | パソコン内すべての操作を自動化できる |
プログラミング | 必要 | 不要 |
特徴 | 業務内容に合わせてより複雑な処理を自動化できる | 多様なアプリケーションと連携して広い範囲で操作を自動化できる |
より複雑な処理を自動化したい場合はVBA、多様なアプリケーションと連携して広い範囲で操作を自動化したい場合はRPAというように、業務内容に合わせて使い分けることが推奨されます。
【事例】VBAでできることは?業務効率化を実現する機能
VBAはMicrosoft Officeアプリケーション用のプログラミング言語ですが、VBAを習得できれば実務に沿った業務システムを実装でき、さまざまな業務の効率化に活かせます。では実際にVBAではどのようなことができるのか、代表的な3つの機能を紹介します。
Excel上の作業を自動化できる
VBAでは、プログラムの実行だけでExcel上の作業を自動化できるのが特徴です。例えば、自社の売上をExcelで管理している場合、VBAを活用することで売上データを製品別や顧客別、売上金額順などに並び替えて集計できます。また、Excelで作成した売上管理表をもとに、顧客別の請求書作成も可能です。毎週、毎月発生する請求業務などを自動化できれば、手間が省けた分をよりコアな業務に当てられるでしょう。
自動化の例
- 毎月決まったデータの処理
- データから瞬時にグラフを作成
- データの自動チェックや修正
- ファイルの自動分割や集約 など
定型ファイルやカスタムしたユーザーフォームを作成できる
Excelだけでなく、WordやPowerPointで作成したファイルやPDF、CSV形式のファイルなどを取り込んで、帳票や報告書を作成できるのもVBAの便利な機能です。他にも、ExcelやAccess用のユーザーフォームを作成できます。自由な場所に入力欄やボタンを設置してユーザーの利便性を高めるためのユーザーフォームは、操作しやすくカスタマイズすることで、データ入力が簡単になり、作業効率の向上につながります。
メールを一括自動送信できる
VBAでは、Microsoft社が提供するメールサービス「Outlook」とも連携した自動処理を作成できます。例えば、Excelのリストからメールを送る処理を自動化できるため、工数を大幅に削減できるでしょう。日報や月報、メールマガジンなど定期的に送付する必要があり、フォーマットが決まっているメールも、VBAを活用すれば一括送信が可能です。
上記に挙げた「集計」「自動作成」「自動処理」などの機能により、事務作業で必要な処理を幅広く実装できるのがVBAの強みです。VBAの習得により、バックオフィス業務においても活躍領域を広げることができるでしょう。
その他の機能
VBAはWebサイトのクローリングにも活用できます。クローリングとは、プログラムがWebサイトを定期的に巡回し、情報を取得・保存することです。クローリングを行うプログラムをクローラーと呼びますが、VBAはクローラーのような動きも行います。クローリングによって、検索結果ページからWebサイトのタイトルや見出しなどを収集することも可能です。
VBAのスキルを身につける学習方法
ここからはVBAのスキルを身につけるにはどうすればよいか、初心者の方におすすめしたい学習方法を紹介します。
VBAの学習方法
VBAを独学で勉強する場合、「書籍」「学習サイト」「動画サイト」「資格取得」の4つの方法が挙げられます。生活スタイルや目的に合わせて学習方法を選択しましょう。
まず、一からじっくり勉強する場合は「書籍」がおすすめです。VBAの知識を体系的に学べるとともに、手元に置いておけばいつでもすぐに確認できます。
VBAについて無料で手軽に勉強を始めたい方には、「学習サイト」や「動画サイト」が利用しやすいでしょう。学習サイトのメリットは、VBAの解説を見ながらコードを実行できる、やりたいことから逆引きで検索できるなどです。一方、動画サイトのメリットは隙間時間に学習できること。スマートフォンがあればいつでもどこでも視聴でき、基礎知識を紹介した動画が多い点も初心者向けといえます。
VBAのスキルをアピールするなら「資格取得」を目指しましょう。「VBAエキスパート」は履歴書に記載できる資格です。資格の難易度や特徴については、次のブロックで紹介します。
VBAに関する資格
「VBAエキスパート」とは、マクロ・VBAのスキルを証明する資格です。ExcelとAccessの2つのアプリケーションについて、「ベーシック」と「スタンダード」の2つのレベルが設けられています。
名称 | 特徴 |
---|---|
Excel VBA ベーシック | ●マクロ初心者レベル程度 ●変数、セル・シート・ブックの操作、条件分岐、繰り返し処理などが試される |
Excel VBA スタンダード | ●基本文法を理解している方向け ●配列、検索とオートフィルター、並び替えなど、ベーシックレベルよりも高度なマクロが試される |
Access VBA ベーシック | ●より現場に即したレベル ●データベースの基礎知識やAccess VBAの基本文法、SQLの基礎的な理解力が試される |
Access VBA スタンダード | ●より高度で応用的なレベル ●ベーシックレベルのスキルに加え、より高度なプログラムを読解・記述する能力が試される |
Neuro Diveで学ぶVBA
Neuro Diveでは、ITアドバイザーが体系的にまとめた学習カリキュラムを用いて、効率的に先端ITスキルの学習を進めています。VBAは比較的取り組みやすいプログラミング言語ですが、慣れないうちはエラーの原因や解決方法がわからず、学習につまずいてしまうこともあります。これからプログラミングを学習する方でも安心してスキルを身につけられるよう、Neuro Diveでは入門編の講座も用意。ITアドバイザーが一人ひとりの学習進捗を確認しながら、VBAのスキル習得をサポートしています。
Neuro DiveでVBAを学習している方の事例
では実際にNeuro Diveではどのように学びを深めているのか、VBAを学習している方の事例を2つ紹介します。
事例(1)大学を卒業されてすぐのAさんの場合
Aさんは在学時からIT領域に興味があり、Pythonのスキルを独学で習得していたものの、Pythonを活用した成果物作成で何をつくればよいか悩んでしまいました。成果物作成でのつまずきを解消するきっかけになったのが「ビジネス視点」です。改めてリサーチを始め、株価に着眼点を置き、特定の株価銘柄の過去10年分のデータ抽出をVBAで実装しました。
事例(2)大手プラント会社の企業実習に参加されたBさんの場合
大手プラント会社の企業実習に参加されたBさんは、企業が保有している膨大な人事関連のExcelデータを自動的に読み込み、一定条件で抽出する作業をVBAで実装しました。その後、Bさんはこれらの一連の作業をPythonで実行できないかと、さらに学習を進めスキルを習得されています。
VBAの知識とスキルを身につけて、業務効率化を目指そう
VBAは、ビジネスにおける業務効率化を図る上で欠かせないスキルの一つです。VBAを使用することで、「Excel上の作業の自動化」「定型ファイルやカスタムしたユーザーフォームの作成」「メールの一括自動送信」が可能になります。VBAの知識とスキルを習得できればさまざまな処理を自動化でき、作業効率を大幅にアップできます。業務効率化を提案できるIT人材になるために、VBAのスキル習得を目指してみてはいかがでしょうか。