業務効率化・自動化の万能言語が苦手とすることとは?VBAをマスターして汎用性の高い人材を目指すVBAで「できること」と「できないこと」は?マクロ、関数についても解説

最終更新日:2021年2月18日

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

VBAは、Micorsoft社のOfficeシリーズに搭載されているプログラミング言語です。1993年の登場以来、Excel内で業務効率化・小規模なツール開発などに広く用いられてきました。VBAは極めて汎用的なプログラミング言語です。そのため、ITエンジニアか否かを問わず、有用なスキルのひとつといえます。ただし、VBAの仕様としてできること(得意なこと)、できないこと(苦手なこと)があるため、まずはVBAの特性をよく知ることが大切です。ここでは、VBAができること、できないことを具体的に解説します。

1. VBAとは?

まず、簡単にVBAの概要について解説します。

VBAは「Visual basic for applications」の略称です。Micorsoft社が開発した独自言語「VB(Visual basic)」のマクロ版とも言える言語であり、WindowsOS内での使用を想定されています。VBAは、VBE(Visual Basic Editer=編集用アプリケーション)を使用して記述します。

VBAはOfficeソフトの機能である「マクロ」作成用のプログラミング言語であり、VBAを活用することでさまざまな業務効率化用ツールが作成できます。現在普及しているOffice製品では、VBAを用いたマクロが多用されています。したがって「VBA=マクロ」として認識されることが多いでしょう。

VBAでできることは多岐にわたり、簡単な業務システムであればVBA単体で構築することが可能です。そのため、営業や総務、経理といった非IT部門の人材がVBAを使えると、業務効率の向上が見込めます。特にExcel内データの入出力・情報加工・転記処理などで威力を発揮し、バックオフィス部門の業務と相性が良いプログラミング言語です。

2. Excel VBAでできること・できないこと

次に、VBAでできること、できないことをExcel VBAの観点から解説します。

Excel VBAでできること

文字列操作、変換

Excel VBAでは、関数を用いて文字列操作や変換処理を行えます。下記は、主なVBA関数の一例です。
 

  • ・Int…指定した数値の整数部だけを返す

    ・Join…任意の文字列を区切り文字で結合して返す

    ・MsgBox…メッセージボックスを表示しその結果を返す

    ・hr/ChrB/ChrW…指定した文字コードに対応する文字を返す

    ・CSng…指定した値を数値型(Single)に変換

    ・CStr…指定した値を文字列型(String)に変換

    ・FormatCurrency…システムで定義されている通貨形式で文字列を返す

    ・FormatDateTime…指定した日時形式に沿って文字列を返す

    ・FormatNumber…指定した数値形式に沿って文字列を返す

    ・FormatPercent…パーセント形式で文字列を返す


こうした関数を用いることで、ドキュメント作成やデータ整理を効率化することが可能です。

Web API連携

Web APIを呼び出すことで、Webサイト・アプリ上の処理をローカルのVBAプログラム内で実行できるようになります。具体的には「HTTP REQUEST」という記述で所定のパラメータを設定し、Web APIが実装されているサイト・サービスへ連携のリクエストを送信します。ちなみにWeb APIにはPrivate(要認証)とPublic(認証無し)の2種類があり、Private APIを活用する場合はAPI Keyやパスワードといった認証情報が必要です。

手動入力作業の自動化

Excelの標準機能である「マクロ記憶」で記録した内容を編集することが可能です。まず、ベースとなる動作をマクロ記憶で記録します。保存されたマクロ内にはVBAによる記述があり、その内容を任意の処理に書き換えることができます。こうすることで、やや複雑な手作業でも比較的簡単に自動化を進めることができるわけです。

Excel VBAでできないこと(苦手なこと)

小規模な自動化、効率化では汎用性が高いExcel VBAですが、万能というわけではありません。特に次のような処理は、Excel VBAが苦手とする分野です。

ワークシートの容量以上の大容量データ処理

Excel VBAの効果が及ぶ範囲は、原則としてExcelのワークシートの最大容量(1,048,576 行×16,384 列)が上限です。そのため、ワークシートにおさまらないような大容量データの操作・処理は難しいと考えてよいでしょう。

VBAをサポートするアプリケーション群の範囲外との連携

Excel VBAはVBAの命令を受け取ることができる機能でのみ機能します。したがって、外部の命令を受け取ることができないようなアプリケーションと連携することはできません。VBAで外部アプリケーションのGUIを操作することはできるかもしれませんが、プログラム同士が相互連携するわけではないため、人間の操作を模倣するだけになってしまいます。人間の操作を模倣する自動化対策としてはRPAのほうが適切かもしれません。

文字イメージ認識など

VBAは人間の手作業を代行することはできても「認識」を代行することはできません。AIやOCRのように、画像認識のようにイメージを直接取り込んだのちに処理を行うことは難しいでしょう。

同一画面内において他アプリケーションの相対位置を認識できない

Excel VBA が動作する画面内において、他のアプリケーションの位置を把握することができません。このような機能はRPAが得意としているため、RPAによって実現されることが多いでしょう。

3. Excel VBAの活用事例

では、実際にExcel VBAを用いた業務効率化・自動化の事例を紹介します。

ドキュメント自動作成

請求書自動作成(請求データを請求書ひな形に転記)を行ったり、商品データベースから商品台帳を作成したりと、ドキュメントの自動作成が可能です。Excelベースでひな形が決まっているドキュメントであれば、大抵のものは自動化の対象となるでしょう。

メール一括送信

同じOffice製品であるOutlookとの連携によって、Excelシート内にあるメールアドレスに対し、一括でメールを送信することができます。特定の条件に合致した顧客に対し、DMやキャンペーンメールを送付する際に便利です。また、Excelワークシートをベースにして、Outlook上の予定表登録作業を自動化することも可能です。

Webリサーチ業務の一部自動化

「Webスクレイピング」によるWebサイト情報の一括取得とドキュメント化が可能です。複数のサイトから数値などを取得し、報告書などにまとめる際に活用できます。

回帰分析

あまり知られていませんが、Excel VBAでも「単純回帰分析」「重回帰分析」が可能です。ただし入門レベルのスキルでは難しいため、ある程度VBAを使いこなせるスキル・経験が必要になります。

4. VBAでできること(Excel以外)

最後に、VBAでできることをExcel以外の視点から紹介します。VBAはOffice製品全般で使用可能なプログラミング言語であり、Excel以外でも使用可能です。以下は、Excel以外での活用方法の一例です。

Outlook
  • ・予定の自動登録

    ・開いているメールの添付ファイルを自動保存

Access
  • ・簡易なデータベースの開発

    ・在庫管理システム、発注予約システム、検索機能を伴うシステムなどの構築

Powerpoint
  • ・テキストボックスのサイズ設定

    ・テキストボックスを複数スライドにまとめて作成など

5. まとめ

VBAは、Micorsoft社のオフィスシリーズに搭載されているプログラミング言語です。Excel内での業務効率化・小規模なツール開発などのほかに、Office製品全般で活用できます。汎用性の高いスキルであるため、習得ITエンジニアか否かを問わず、有用なスキルの一つだといえるでしょう。ただし、VBAの仕様として不得手とする領域がある点には注意が必要です。

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

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

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

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

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

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

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

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

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

人気の求人特集

内定率が高い

関連する記事

人気の記事

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