RPAとVBAの違いとは?どちらを導入すべきか決めるポイントも解説

人材不足で事務作業を効率化したいと考えているなら、RPAやVBAといった自動化ツールの導入が議題にのぼるでしょう。それぞれ得意とする領域があり、扱い方も異なります。RPAとVBAの違いを解説しながら、自動化システムを選ぶ際のポイントも紹介します。

日本の労働生産性は先進国の中では最低水準となっています。長時間労働や不必要な会議、有給消化率も低く、効率的な働き方が実現できているとは言えません。ただ、そんな働き方も変わりつつあります。長引く少子高齢化の影響によって労働力の中心である生産年齢人口(15歳から64歳まで)が減少し、人手不足への懸念が高まっている背景もあり、効率的な働き方の実現に向けた、さまざまな取り組みがはじまっています。

RPAとVBAの違い

RPAとVBAはともに作業を自動化させることができるツールですが、違いはどこにあるのでしょうか? それぞれを特徴を解説しながら、違いを明らかにしていきます。

RPAとは

RPAはRobotic Process Automation(ロボティックプロセスオートメーション)の略で、「ロボットによる業務の自動化」と訳されています。古くからオーメーション化が進められてきた製造現場とは異なり、ホワイトカラーの事務作業は長らく人の力に頼っていました。しかし、働き手である生産年齢人口の減少や残業の廃止など働き方改革が推奨される中で、人に頼らず業務処理を行う方法として、ソフトウェアを使った自動化が考案されました。そのひとつがRPAです。RPAではサーバーやクラウド、あるいはデスクトップに専用の自動化ツールをインストールし、人が行なっているオフィス業務の手順をソフトウェア型ロボットに覚えさせることで、自動的に処理することができるようになります。そのため「デジタルレイバー(Digital Labor)」や「仮想知的労働者」とも呼ばれることもあります。ミスなく大量の処理を行うことができ、人件費の削減や業務の効率化が期待できます。

RPAに適している作業

RPAが得意な自動化作業は、ルールが決まっている定型作業です。また、複数のアプリケーションをまたいで行うような業務を自動化することに適しています。たとえばデータを別のシステムに移動させる転記作業や、メールの送信作業、そして、コールセンター業務での顧客情報の入力や照会、問い合わせ件数の集計などの作業に向いています。

マクロとは?

RPAツールのような自動化ツールとして有名なのが、マクロです。こちらもコンピュータの操作を自動化する機能で、たとえばマイクロソフト社の表計算ソフトExcelに搭載されているマクロは、Excelマクロと呼ばれたりします。マクロではExcelなどのオフィスソフトで行われた操作をプログラム言語に変換してプログラムとして記録することで、同じ操作を何度も繰り返し再現できるようになるというものです。このマクロを使って、コンピューターの操作を自動化することができるわけです。

VBAとは

VBAはVisual Basic for Applicationsの略で、マイクロソフト社のオフィス系ソフトウェア(WordやExcel、PowerPointなど)に含まれているプログラミング言語で、繰り返し行われる定型的な作業を自動化する際に利用されます。なお、マクロは自動化するための機能で、マクロを実現させるプログラミング言語がVBAという関係になります。マクロはオフィス系ソフトウェアのメニューとして搭載されているため、誰でも操作法を覚えれば、簡単に自動化をすることができますが、より複雑な処理をさせる場合には、プログラミング言語の知識が必要で、それがVBAです。

マクロ(VBA)に適している作業

VBAが適している作業は、マイクロソフト製品だけで完結する業務の自動化です。たとえばExcelで集計しているメールアドレスに、Outlookから自動的にメールを送信するといった自動化が可能です。また、VBAはExcelやマイクロソフト製のソフトウェアで自動化を行うため、新たにシステムを導入する必要がないのが特徴です。

RPAとマクロ(VBA)の特徴を比較

職場に自動化ツールを導入したいとき、主な選択肢としてあがるのがRPAとVBAです。続いてRPAとVBAの違いについて、もう少し詳しく見ていきましょう。

自動化できる範囲

マクロ(VBA)で自動化できるのはOfficeアプリケーション内の操作に限られます。対するRPAで自動化できるのはPC内全ての操作になります。

データの処理能力

RPAには、デスクトップ型のほか、サーバーやクラウド上で動作する製品もあります。サーバーは大量のデータを処理することを想定して作られているため、大量のデータも高速で処理することが可能です。対するVBAは基本的にひとつのパソコン上で動作させるものです。したがって、パソコンの性能に処理スピードは依存し、大量のデータでは処理速度が非常に遅くなるというデメリットがあります。

連携できるシステムの種類

RPAは他のソフトウェアやシステムと連携して事務処理が行えるのも特徴です。とくに決まった作業を繰り返すシステムをすでに運用しており、有人で操作を行っている場合には、それとRPAと連携させることによって、工数を大幅に削減するといった利用の仕方も可能です。

必要なプログラミングスキル

操作や業務を自動化させるためには、どんな動作を実行させるのか、人間が指定する必要があります。RPAの場合には、画面の指示に従って、一度覚えさせたい手順(シナリオ)を実践することで、ロボットに記憶させていきます。画面操作を録画できたり、視覚的なUIでロボットを作成できるRPAツールが増えています。そのためプログラミングに関する知識やスキルが不要なケースが大半です。また、作業手順のテンプレートが充実しているため、プログラミングのスキルがない現場の人でも細かい業務の自動化・ロボットの修正調整が可能な点で優れています。

対する、VBAではプログラミング言語の知識・スキルが欠かせず、スキルを持った人がいるならすぐに自動化を実行に移せますが、現場のスタッフでは設定や修正など、あらゆる作業ができず、プログラミングスキルを持つ人に一任する形になります。

システムの分かりやすさ

自動化を一度だけ実験してみるというのは、業務の効率化という面であまり意味がありません。大量の処理を定期的に自動化してはじめて、大きな効果が得られます。その過程で当初設定した手順から業務フローが変わることも考えられます。OSやアプリケーションのアップデートなど、システム変更もあり、その都度、きちんと動作するのか、メンテナンスをすることが欠かせません。

RPAの場合には、自動化した業務ごとにどのような操作を行っていたのか各自がコメントをつけたり、画面イメージを表示させたりすることもできるので、実際に業務を自動化した人でなくても、処理内容をイメージしやすくなっています。複数の担当者が関わるケースや、全社的に導入するなら、RPAのほうがわかりやすいというメリットがあります。VBAでは専門スタッフが運用することになるため、限定的な導入が現実的です。

サポート体制

RPAでは、サービス内容にサポートを含んでいるケースがほとんどです。ヘルプデスクはもちろん、シナリオの作成支援や作成を代行してくれる事業者もいます。視覚的なUIで操作が簡単とはいえ、トラブルに直面したら、サポートを受け、解決できるはずです。

対するマクロ(VBA)では、サポート体制がありません。自動化がうまくいかない場合も自力で解決するか、専門の事業者を探し、有償でのサポートを依頼してみるしかありません。

セキュリティ面

RPAで考えられるセキュリティ問題には、不正アクセスなど外部からの脅威が考えられます。ロボットの使用権限を見直したり、システムへのアクセス権限を管理する手段の改定、通信やパスワードを暗号化してセキュリティ強度を高めるといった対策が必要になります。セキュリティの高さを売りにしているRPAツールもあるため、セキュリティに不安を感じる人は、セキュリティの高さで製品を選ぶことをおすすめします。

マクロ(VBA)は、マイクロソフト社のOffice製品での自動化のため、セキュリティは同社の更新プログラムに依存します。脆弱性が発見されると、セキュリティ更新プログラムが公開されるため、ファイルの更新を定期的に行うことが大切です。

導入コスト

RPAツールの費用は、どれくらいの規模で、どのような自動化を実行するかで、大きく変わります。なかには低コストを謳っている事業者もありますが、希望している作業を自動化が実現できるツールなのか、確認が必要です。ツールの内容はもちろんですが、サポート体制の有無など、見積もりを取りながら、総合的に判断する必要があります。

マクロ(VBA)の場合には、Office製品のライセンス料が必須になります。すでに日頃の業務で利用しているなら、不要です。ただ、VBAを開発会社に外注するなら、自動化の規模にもよりますが、数万円~100万円程度の予算は必要となるはずです。

どれを導入すべきかを決めるポイント

RPAとExcelマクロ、それからVBAのどれを導入しようか検討している場合、どんなポイントに注意して選定を進めていけば良いのでしょうか? 検討すべきポイントを整理します。

どちらが運用管理しやすいか

ExcelマクロやVBAでは開発はもちろんのこと、その後の運用・保守でスキルを持つ人材が必要となります。そのような人材が十分に確保できないなら、運用支援のサポートが受けられるRPAを選択したほうが良いでしょう。ツールについて理解できる社員がほとんどいなければ、スキルのある人材に業務が集中し、効率化を目指したはずなのに、かえって一部の社員の負担が増すだけになってしまいます。

Microsoft社が提供するアプリだけで完結するか

Excelマクロは、Microsoft社のExcel での自動化処理に限定されます。VBAもMicrosoft社製のオフィス系ソフトでの自動化が中心となります。したがって、自動化する業務がそれらのソフトに限られるのなら、ExcelマクロやVBAで良いかもしれません。コストもそのほうが安く導入できるはずです。

Excelだけで処理できるか

RPAは他のアプリやソフトウェアとの連携が得意な自動化ツールですが、作業手順(シナリオ)が少なく、件数も大量であければ、無理にRPA化しなくても良いと言えます。またExcelは数式を保持して行うデータの演算処理や加工が得意で、RPAで代替しようとすると、一つひとつ演算作業が必要となり負荷がかかることもあります。Excel内で適切に処理できるなら、ExcelマクロやVBAのほうが優れていると言えるでしょう。

自動化する業務量がどれくらいか

ExcelマクロやVBAはパソコン上で動作するものです。そのため、パソコンの性能を超えるような大量のデータを処理すると、処理速度が非常に遅くなってしまい、非効率です。一方でRPAは、サーバーやクラウド上で動作させる製品も多くあります。サーバーやクラウドは大量のデータを処理することを想定して作られているため、大量のデータも高速で処理することができます。自動化する業務がどれくらいあるのか?も一つのポイントです。

自動化するためにかかるコストを考える

単純にコスト面だけ考えれば、VBAやExcelマクロのほうが、新たな環境を整備する必要もなく低コストです。ただ、専門のスタッフを常勤させずに手軽に業務を自動化させたいのであれば、RPAのほうが結果的に低コストで業務を自動化できるケースもあります。費用を抑えた低価格のデスクトップ型RPAや無料のトライアルを実施している事業者もあるので、検討すると良いでしょう。

システム障害に対応できるか

頻繁に発生するわけではありませんが、システム障害などトラブルが起こったときも想定して自動化ツールを選んでおきたいところです。なぜなら自動化を採用し、大量に事務処理をツールに実行させた後、システム障害などでツールが停止すると、業務が完全にストップしていまいます。こんなときVBAなら選任スタッフに解決を求めますが、十分なスキルがなければ、時間がかかってしまいます。対するRPAの場合にはサービス元のカスタマーサポートに問い合わせることで対処してもらえるでしょう。どちらがスムーズにトラブルを解消できる可能性が高いのか、判断すると良いでしょう。

RPAとVBAを組み合わせるのも1つの方法

処理にさせる業務によっては、RPAとVBAを組み合わせて使っていくという方法もあります。たとえば、Excel内の自動化にはVBAを使用して効率化し、外部のツールや媒体と連動させて自動化する際には、RPAツールを使用するといった工夫によって、より自動化を効率的に進めることが可能です。またRPAでの自動化に慣れてきたら、スキルアップのためにVBAを学んでみるのも良いかもしれません。より柔軟な自動化や運営の方法が模索できる可能性があります。

RPAとVBAの違いや特徴を理解しておこう

RPAとVBAはそれぞれ事務的なパソコンの操作を自動化できるツールですが、特徴は異なり、また得意とする領域が違います。コストや導入しやすさ、難易度、導入するスケールなどさまざまな点で比較を行いながら、どちらを採用するのか、それとも両方を組み合わせるのか、検討をしてみると良いでしょう。

Article Tags

Special Features

連載特集
See More