Today's PICK UP

RPAとVBAの違いとは?自動化システムを選ぶ際のポイントも紹介

人材不足で事務作業を効率化したいと考えているなら、RPAやVBAといった自動化ツールの導入が議題にのぼるでしょう。それぞれ得意とする領域があり、扱い方も異なります。RPAとVBAの違いを解説しながら、自動化システムを選ぶ際のポイントも紹介します。
日本の労働生産性は先進国の中では最低水準となっています。長時間労働や不必要な会議、有給消化率も低く、効率的な働き方が実現できているとは言えません。ただ、そんな働き方も変わりつつあります。長引く少子高齢化の影響によって労働力の中心である生産年齢人口(15歳から64歳まで)が減少し、人手不足への懸念が高まっている背景もあり、効率的な働き方の実現に向けた、さまざまな取り組みがはじまっています。

そのひとつとして注目されているのが、RPAとVBAです。RPAはソフトウェア型ロボットをサーバーやデスクトップにインストールする自動処理ツールです。主に定型的な事務作業の処理に活用されています。また、同じくコンピュータの操作を自動化するツールとして、VBAがあります。両者にはどんな違いあるのでしょうか? RPAやVBAの特徴を解説しながら、それぞれどんな業務の処理に向いているのか、説明することにします。

そもそもRPAとは?

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

マクロとは?

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

VBAとは?

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

マクロを構成するためのプログラミング言語

VBAはオフィス系ソフトウェアでマクロを開発するためのプログラミング言語です。マクロを使って、自動化を自在に扱うには、VBAの知識やスキルが必要となり、習得にはある程度の時間と学習が必要となります。なお、VBAのスキルを認定する制度として、VBAエキスパートといった資格もあります。

Excelマクロよりも幅広い用途に使える

Excelマクロは、マイクロソフト社の表計算ソフトExcelに特化した自動化機能です。Excelマクロの使い方を覚えれば、Excelでのセルのコピーや貼り付け、画像の挿入、ブックの保存など、繰り返し行うExcelの作業を自動化できますが、用途はExcelに限られます。一方で、VBAを覚えると、Excelだけではなく、より幅広いオフィスソフトで、さらに高度な自動化を行うことができるようになります。

ローカルで利用することを想定した仕組み

VBAは目の前にあるパソコンにプログラムを構築することが主な用途で、他のソフトウェアをインストールしたり、新たな環境を構築する必要がありません。たとえばExcel上の売上データを月次別にグラフにするといった作業を自動化する際などに用いられています。またオフィス系アプリケーション内の自動化に限定されるという特徴があり、サーバーにもインストールでき、部署を越えた横断的な作業の自動化にも対応できるRPAとは異なる点です。

プログラミング初心者でも始めやすい

VBAを使いこなすためには、プログラミング言語の知識が欠かせません。ただ、利用にあたっては環境設定をする必要がほとんどないため、プログラミング初心者でも比較的すぐにはじめることが可能です。もちろんVBAは実行環境を容易に整えられますが、VB(Visual Basic)と同様の文法で記述されるプログラム言語なため、プログラミングスキルを身につけていくことが必要となります。

RPAとVBAの違いとは?

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

自動化プログラムを自作する手間

操作や業務を自動化させるためには、どんな動作を実行させるのか、人間が指定する必要があります。RPAの場合には、画面の指示に従って、一度覚えさせたい手順(シナリオ)を実践することで、ロボットに記憶させていきます。その際、プログラミングに関する知識やスキルは不要です。作業手順のテンプレートが充実しているため、プログラミングのスキルがない現場の人でも細かい業務の自動化・ロボットの修正調整が可能な点で優れています。プログラミングスキルを持つ人に業務が集中するといった問題も起こりにくいというメリットがあります。対する、VBAではプログラミング言語の知識・スキルが欠かせず、スキルを持った人がいるならすぐに自動化を実行に移せますが、現場のスタッフでは設定や修正など、あらゆる作業ができず、プログラミングスキルを持つ人に一任する形になります。

システムの分かりやすさ

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

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

データの処理能力

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

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

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

RPAとマクロ、VBAどれを導入すべきかを決めるポイント

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

人気の記事