新人Gメン及川
ベテランGメン園川
新人Gメン及川
オペレーター 杏奈
VBAとは
VBAとはMicrosoft社が提供するソフト(office製品など)に搭載されているプログラミング言語のことで、Microsoftアプリケーションの機能を拡張するのに使われます。特にマクロに複雑な処理をさせる際に使用されます。
新人Gメン及川
オペレーター 杏奈
新人Gメン及川
オペレーター 杏奈
ベテランGメン園川
PC上での作業を自動化できる「RPA」とよく比較される「マクロ」は、Microsoft社のアプリケーションを使った業務の自動化に使用される機能です。マクロはExcelやWord、PowerPointなどのアプリケーションに標準搭載されています。
Excelを例に挙げて説明します。マクロはExcel上で人間が行った操作、例えば、「500件のブックから必要なデータのみを抽出し、1つのブックにグラフで表示する」などの操作を記録することができます。マクロに記録されたこの操作は何度でも繰り返し使えるため、次回からは機械が自動で行ってくれるようになります。(=作業の自動化)
新人Gメン及川
ベテランGメン園川
オペレーター 杏奈
VBAとはマクロを構成するプログラミング言語
ベテランGメン園川
新人Gメン及川
ベテランGメン園川
オペレーター 杏奈
VBAを使えばマクロを高度化できる
マクロは単純な処理しか自動化することができません。極端に言えば、「あらかじめ記録した操作を繰り返し実行するだけ」の機能です。そのため、より複雑で高度な処理を自動化したい場合には、VBAを使用してマクロにプログラミングする必要があります。
また、Excelマクロの場合はExcel内で完結する作業の自動化に限定されますが、「VBA」でプログラミングすることで他のMicrosoftアプリケーションと連携した作業の自動化も可能になります。ただし、VBAを使いこなすにはプログラミングの知識が必要なので、ある程度の学習や経験を積まなければならないでしょう。
新人Gメン及川
ベテランGメン園川
オペレーター 杏奈
VBAはExcelマクロよりも用途の幅が広い
ベテランGメン園川
Excelマクロは、具体的に以下の作業の自動化が可能です。
▼Excelマクロで自動化できる作業(一例)
- 表・グラフの作成や印刷
- シートの連続作成
- フォーム作成
新人Gメン及川
VBAを利用することで自動化できる作業の一例は以下の通りです。
▼VBAで自動化できる作業(一例)
- officeアプリの連携作業
- Webからの情報収集
- 大容量データの処理
新人Gメン及川
ベテランGメン園川
オペレーター 杏奈
- Microsoftのアプリケーションには「マクロ」と「VBA」の仕組みが搭載されている
- マクロはMicrosoftのアプリケーション上で行った操作を記録し、その操作を自動で行うことができる機能
- マクロの機能はExcelで使われることが多い
- マクロで記録された操作は、プログラミング言語「VBA」でプログラム化されている
- VBAでプログラミングすれば、マクロに「より複雑な処理」を自動化させることができる
新人Gメン及川
オペレーター 杏奈
新人Gメン及川
オペレーター 杏奈
RPAとVBA(Excelマクロ)の違いを比較
RPAとVBA(Excelマクロ)の違いを以下の9つの項目で比較します。
- 導入形態
- 導入コスト(費用)
- 対応領域
- データの処理速度と処理可能なデータ量
- 導入に必要な知識と時間
- 他システムとの連携
- メンテナンス
- セキュリティ
- サポート面
導入形態
RPAには「デスクトップ型」「サーバー型」「クラウド型」の3種類があり、自動化したい作業の規模や運用・管理方法などによって導入形態が大きく異なります。
▼RPAの種類ごとの導入形態
RPAの種類 | 導入形態 | おすすめの企業規模 |
デスクトップ型 | PCにソフトをインストールして利用 | 小規模企業(1台から導入可能) |
サーバー型 | 自社サーバー内にRPAを導入 | 中規模・大規模企業(自社サーバー必須・大量データの一括管理が可能) |
クラウド型 | ンターネット上の仮想サーバ(クラウド)を通じて利用 | 中規模・大規模企業(自社サーバー不要・場所や端末を選ばずに利用可能) |
一方のVBA(Excelマクロ)はExcelソフトに元々ある機能なので、Excelソフトを既に導入している場合には新しく導入する必要がありません。
Excelは普段から利用しているソフトなので、VBAの方がRPAよりも操作に慣れやすく、社内に浸透しやすいと言えます。しかし、プログラミングに関する専門知識が必要なので、導入~運用までには時間がかかるのが難点です。
導入コスト(費用)
導入コストの相場はRPAが約20万~100万円です。RPAには「無料ツール」と有料ツールがあります。無料ツールを選べば導入コストを抑えられますが、機能制限があったり、サポート体制が整っていなかったりと様々なリスクが伴います。
有料ツールは全ての機能を利用できるのはもちろん、サポート面も充実しているものが多いため安心です。無料トライアル期間を設けている有料ツール業者を選べば、お得に利用できます。
一方、VBAを駆使してマクロを自社開発する場合は、導入コストはMicrosoft office365の登録費用のみとなります。しかし、VBA開発会社に依頼して小規模の自動化システムを構築する場合は、5万円〜100万円の開発費用が必要になるでしょう。
新人Gメン及川
ベテランGメン園川
新人Gメン及川
オペレーター 杏奈
対応領域
対応領域が広いのはRPA、狭いのはVBAです。RPAはPC上の動作なら基本的に全ての動作を自動化することができますが、VBAはMicrosoft社が提供するアプリケーションとブラウザでの動作にしか対応していません。
例えば、RPAなら社内の顧客管理システムや商品管理システムなどのWebアプリケーションに必要な情報を書き込むなどの作業も自動化できますが、VBAはMicrosoft社以外のWebアプリケーションに対応していないので不可能です。
オペレーター 杏奈
新人Gメン及川
ベテランGメン園川
データの処理速度と処理可能なデータ量
データの処理速度が速く、処理可能なデータ量が多いのはサーバー型RPAとクラウド型RPAです。デスクトップ型RPAとVBA(Excelマクロ)の処理は、Excelを利用するPC本体のスペックに依存するので、スペックが低いPCを利用する場合には処理速度が落ちたり、動作が止まったりするリスクがあります。
サーバー型・クラウド型RPAは、使用するPCのスペックに依存しないので、安定した処理速度で利用できるのはもちろん、大量データの処理にも最適です。
ベテランGメン園川
導入に必要な知識と時間
RPAとVBA(Excelマクロ)の導入~運用までに必要な時間は、一般的にRPAは10時間以上、VBA(Excelマクロ)は100時間以上とされています。
RPAは機能やコマンド、どの画面に何があるのかなどを覚える必要がありますが、プログラミングの知識はほとんど必要ありません。エラーが発生した場合も、コマンドの操作等でシンプルに処理できます。
VBA(Excelマクロ)は構築・修正にプログラミングの知識が必須です。言語を習得するための学習時間や実践経験を積む時間を含めると、導入に必要な時間は100時間以上が目安となります。しかも、プログラミング知識を持った者がいない場合は、長期的に人材を育成する必要もあります。
新人Gメン及川
オペレーター 杏奈
他システムとの連携
対応領域の部分でお伝えしましたが、VBA(Excelマクロ)はマイクロソフト社のアプリケーション以外とは連携できません。VBAで全ての業務を自動化しようとすると、途中で対応できない作業が出ててくる可能性が高いです。
RPAではマイクロソフト社のアプリケーションに限らず、Webアプリケーションや自社システムとの連携が可能なため、他システムとの連携においてはRPAがVBAを圧倒しています。
ベテランGメン園川
メンテナンス
RPAもVBA(Excelマクロ)も、設定や機能を理解している担当者を配置するかどうかでメンテナンスのしやすさが異なります。
RPAは導入時に設定した方法でメンテナンスをするため、設定方法を理解している担当者がいれば簡単にメンテナンスできます。反対に、担当者がいない場合やシステム構築の基礎部分を外注した場合は、社内でメンテナンスできる人がいないためメンテナンスが困難になります。
VBA(Excelマクロ)はプログラミング知識がないとメンテナンスができません。そのため知識のある担当者をつける必要があります。
VBAは1人ではなく複数人で管理するのがおすすめです。プログラミングは構築する人によって個性が出るので、担当者を1人にしてしまうと転職や退職などでいなくなった場合にメンテナンスができなくなる可能性が出てきます。
新人Gメン及川
セキュリティ
作業自動化ツールを導入する際に注目すべきポイントは「セキュリティ」です。
RPAでは以下の様なセキュリティ課題が挙げられます。
▼RPAのセキュリティ課題(一例)
- 外部からの不正アクセス
- 内部の不正利用
- システムの誤作動
- 安易なパスワード設定
上記のセキュリティリスクを最低限に抑える対策の一例は以下です。
▼RPAのセキュリティ対策(一例)
- 通信の暗号化
- アクセス履歴や利用履歴の管理
- システムの誤作動が起きたときに対応するチーム作成
- アカウント管理の徹底
新人Gメン及川
ベテランGメン園川
VBA(Excelマクロ)では常に最新のセキュリティプログラムを利用できるので、RPAほど厳重に対策する必要はありません。ただし、定期的にファイル更新するのを忘れないようにしましょう。
サポート体制
RPAではライセンスの契約に「運用支援セミナー」や「お問い合わせ窓口の利用」などのサポートが含まれていることがありますが、VBA(Excelマクロ)では基本的にサポートはついていません。自社のみで運用していくのが難しい場合には、サポート内容が充実しているものを選んだり、開発業者に依頼したりするのがおすすめです。
ベテランGメン園川
▼RPAとVBAの比較まとめ
RPA | VBA | |
導入形態 | デスクトップ型、サーバー型、クラウド型 | Microsoftアプリケーション |
導入コスト(費用) | RPA本体と開発費(開発環境による) | Microsoft365登録費用、開発費(外注の場合) |
対応領域 | 広い(PC上の操作全般) | 狭い(Microsoftの提供するアプリケーション・ブラウザのみ) |
データの処理速度と処理可能なデータ量 | デスクトップ型はPC本体のスペックに依存
サーバー型、クラウド型はPC本体のスペックに依存しない |
PC本体のスペックに依存 |
導入に必要な知識と時間 | プログラミングの知識は不要(導入~運用まで約10時間以上必要) | プログラミングの知識が必要(導入~運用まで約100時間以上必要) |
他システムとの連携 | 可能 | 不可 |
メンテナンス | プログラミングの知識は不要 | プログラミングの知識が必要 |
セキュリティ | いくつかの課題を想定しておく必要がある | 常に最新のセキュリティプログラムを利用可能 |
サポート体制 | ライセンスの契約に含まれていることがある | サポートはついておらず独自に依頼する必要がある |
新人Gメン及川
オペレーター 杏奈
RPAとVBAのどちらを使うべき?
RPAとVBA(Excelマクロ)の選択基準やそれぞれが適している場合、便利な併用方法について紹介します。
RPAとVBAの選択基準
RPAとVBA(Excelマクロ)の選択基準は以下の項目に注目しましょう。
- どちらが運用しやすいか
- マイクロソフト社のアプリケーションだけで完結するか
- Excelだけで処理できる業務か
- 自動化の業務量
- 自動化のコスト
- システム障害への対応
VBAではプログラミング知識を持ち、運用・管理・システム障害への対応まで任せられる担当者が必要になります。充分に知識がある人材が確保できない場合は、様々な支援サポートを受けられるRPAを選択しましょう。人材を新たに採用すると、結果的にコストが増えてしまうリスクもあります。
また、自動化したい作業がMicrosoft社のアプリケーション内だけで収まるかどうかも、RPAとVBAを選ぶ一つの基準になります。収まる場合はVBAでも対応可能ですが、収まらない場合はRPAを選ぶ必要があります。自動化ツールを導入する前に作業工程を明確にすることが大切です。
さらに、自動化したい作業の手順(業務量)が多い場合やデータを高速処理する必要がある場合には、PCのスペックに依存しないサーバー型RPAやクラウド型RPAを選ぶ方が良いでしょう。
新人Gメン及川
ベテランGメン園川
VBAが適している場合
VBAはマイクロソフト社が提供するアプリケーション内で完結する作業の自動化に最適です。具体的には以下のような作業の自動化に便利です。
- Excelでの売上管理・グラフ化
- フローチャートの作成
- データを利用して複数のシートを作成
- Excelの中のメールアドレスなどの情報を元に毎週メール送信
- 請求書の作成・自動印刷
- 入力フォームでのツール作成作業
- PowerPointやWordにExcelデータを挿入する
- PDFのテキストをExcelシートに書き込む
上記のように、VBAは「一般的な処理速度で充分」「取り扱うデータが大容量ではない」などの日常的な作業を自動化するのに向いています。新しく自動化する作業の幅を増やしたい場合にも、プログラミング知識のある担当者さえいれば新しくツールを導入する必要もないので、コストを抑えることができます。
RPAが適している場合
複数の外部アプリケーションと自社システムを連携させて行う業務や、大量のデータを高速で処理したい場合にはRPAが適しています。以下のような作業を自動化させたい場合は、RPAを選びましょう。
- 顧客情報などを専用システムへの入力
- 顧客からの問い合わせに対するメール返信や電話応対
- データ収集・分析
- 社内システムのメンテナンス作業
- 社内システムのデータ読み込み
- 外部アプリとの連携
RPAは手順が決まっている作業であれば基本的に全て自動化が可能です。VBA(Excelマクロ)では対応できない外部アプリとの連携もできるため、より幅広い業務を自動化させたい場合におすすめです。
また、ツールの開発やメンテナンスにプログラミング知識が不要のため、専門知識を持つ人材がいなくても気軽に導入できます。
RPAとVBAの便利な併用方法
RPAとVBA(Excelマクロ)を併用することも可能です。具体的には以下のような作業を自動化できます。
- VBAを利用してExcelで計算した数値を、RPAで他のシステムに入力する
- VBAを利用してExcelを処理し、ファイルをRPAで振り分ける
- RPAでシステムの情報をExcelファイルに貼り付け、VBAで処理した数値をRPAで他のシステムに入力する
新人Gメン及川
ベテランGメン園川
まとめ
- VBAとはマクロを構成するプログラミング言語
- VBAでマクロをプログラミングすることで高度な処理の自動化が可能
- ただし、VBA(マクロ)はMicrosoft社が提供するアプリケーション上の作業しか自動化できない
- RPAは「外部アプリとの連携が必要な作業がある場合」「大容量データの処理・高速処理したい場合」「プログラミング知識がある人材がいない場合」におすすめ
- VBAは「マイクロソフト社アプリ内で作業が完結する場合」「大容量データの処理・高速処理が必要ない場合」「プログラミング知識がある人材がいる場合」におすすめ
- 必要に応じてRPAとVBAを併用・使い分けすることで大幅な業務効率化が可能