Library
RPAお役立ち情報「RPAとマクロの違いとは?」

RPAとマクロの違いとは?組み合わせでさらに業務の自動化がパワーアップ!

RPAツールも、Excelで利用できるマクロも、PC上の操作を自動化させることができます。

双方は似ていますが、違う技術を利用した仕組みであり、できることにも違いがあります。

RPAツールによる業務の自動化は、ロボット技術を使ったものであり、マクロによる業務の自動化はVBA(Visual Basic Application)というプログラミング言語を使ったものです。マクロはExcelのツールとして最も使われています。

この記事では、RPAとマクロ双方の違いと比較、作業をどちらにさせるとうまく行くのか、その判断基準、そして併用して活用する方法とその事例をご紹介します。

株式会社MICHIRU 取締役

この記事の監修担当者:
相馬章人

2014年に医療・ヘルスケアITベンチャー企業に入社。人工知能やIoT技術を使用したプロダクト開発およびプロジェクトマネジメントを経験。2018年フリーランスのソフトウェアエンジニアとして企業・大学と連携し機械学習を用いた自然言語解析を行うプロジェクトに参画。2018年より株式会社MICHIRUに参画。主にカスタマーサクセスを担当。

RPAツールとは?

RPAは、Robotic Process Automationのことで、RPAツールとは、ロボットを使った業務の自動化を行うアプリケーションソフトウェアです。

RPAツールの特徴

ロボティクス技術を使った業務の自動化ができるソフトウェア=RPAツールですが、基本的にPC上の操作はシナリオという一連の動きをロボットに覚えさせます。

シナリオが指示する作業を自動でロボットに実行させられるため、業務の自動化が可能になります。

シナリオは、一連の動きを記述した簡易なビジュアルプログラムのことです。シナリオの指令通りに自動でロボットが動くこととなります。

定型的で大量の業務を反復して行うことができるので、作業時間の短縮をはかることができて、業務の効率化には効果が絶大、と言われています。

大企業を中心にWinActorやUiPathといった著名な製品の導入が進んでおり、中小企業にも導入企業が増えています。

RPAツールのメリット

RPAツールのメリットは、シナリオさえ作成すれば、大量の業務を反復して何時間でも行うことができることです。

マクロの場合、基本的にはExcelで完結する作業を自動化できます。

しかし、アプリケーションを切り替える必要がある場合、対応できないことが多くなります。

さらに、RPAのほうが操作が非エンジニアにとって簡単です。基本的にRPAは画像で認識したPCのデスクトップ上のデータをもとに動作します。

シナリオは、RPAにある画像を検索させて、そこでの操作を行わせるものです。プログラムを書く必要はなく、非常に簡単な操作でシナリオを作成できます。

RPAツールのデメリット

これに対して、デメリットは実行速度が比較的遅いことです。

画像認識技術を使う場合、画像の検索やアプリケーションの活性化などを行う必要があるため、処理量が多く時間がかかります。Excelで完結する数値の書換程度であればマクロに一気にさせたほうが早いのです。

マクロとは?

マクロとは処理手順をプログラミング言語で記述したものです。MicrosoftOffice、なかでもExcelで利用します。

集計・読み込み・並べ替えなど、オフィスで行う作業をマクロで処理することは日常的に見られます。

マクロの特徴

主にExcelで使われる自動化ツールであるマクロの機能の本質は、自動で関数を適用し、「数値の変換」を行うことです。これをVBAという言語で行います。

VBA(Visual Basic Application)は、Microsoft Office製品の拡張機能・またはプログラミング言語を指しています。このVBAというプログラミング言語で記述し、自動化を行うのがマクロです。

自動化はマクロもプログラムですので可能なことですが、ExcelVBAプログラミングを必須としているため、難易度はRPAツールより高くなります。

マクロのメリット

プログラミング知識があれば、数値の変換を一気に行う作業、抽出して、転写する作業などにはRPAよりも効率が良い作業もあります。

数千、という単位のデータおよび作業量であれば、Excel上で変換処理したほうが早いでしょう。

VBAプログラミングできっちり変換処理をするので、間違いは生じにくく、正確である点もマクロのメリットです。

今、例えばExcelでデータを管理している場合、Excelだけにデータがとどまっているのだとすると、マクロで処理したほうが早く、正確という作業も多いことでしょう。

マクロのデメリット

しかし、Excelマクロのデメリットは、難易度が高いということです。Excel上マクロを使いこなし、自動化を行うには、VBAの知識が必要です。

しかし、このVBAは、誰もが習得できるというほど、難易度が低くはありません。習得する時間がない場合は、RPAで作業を進めたほうが早いことも多く、あらためて習得することにそれほどメリットが業務上出るものではありません。

また、Excel以外のアプリケーションも含めて業務を自動化しようとする場合、対応できないことが多いです。複数のアプリケーションをまたがって業務を自動化する場合は、RPAを使用するほうが効率がいいでしょう。

RPAツールとマクロの比較

RPAツールとマクロ、双方とも業務を自動化することができる点では同じですが、双方で向いている作業・違いがあります。こうした違いを理解したうえで、どちらが得意な作業なのか、比較して使い分けるべきです。

RPAが向いている作業

複数のアプリケーションをまたいで自動化することがExcelマクロだと向いていないことはご説明した通りです。

複数のアプリケーションを切り替えながら操作する必要がある場合にはRPAを利用すべきです。

マクロないしVBAを利用することがが向いている作業

これに対して、Excelで完結する作業を自動化する場合はVBAが強力なツールとなります。

例えば、あるシートに記載されているデータを他のシートに転写する、複数のシートのデータを集計する、というようなExcelで完結する作業であれば、RPAを利用するよりも速く正確に動作することができます。

併用するとこんなことができる

双方の強みの違いを比較すると、VBAによる数値の変換で一気に値を入れ替える=>その後にシステムへの入力をする、などといった長めの複雑な動きを要求される業務であっても、どちらか強い方で行えばいい、と考えることができます。

そのため、RPAで時間がかかりそうな作業やエラーを起こしてしまいそうな作業は、ExcelVBAのコードを書いて、マクロを使うことでカバーすることも可能です。RPAとマクロとの違いを活かせるシーンです。

それぞれの強みを理解し、自動化作業させることで、より楽に正確に業務を進めることができます。

併用事例

例えば以下のような事例では双方の強みが活かせると思われます。

  • Excelマクロで作成したシートに、RPAで入力作業を行わせる
  • Excelマクロで計算した結果を、RPAでチャットに送信する
  • RPAで基幹システムから情報をコピーしExcelファイルに貼り付け、マクロで計算した結果を、さらにRPAで別のシステムに入力する

併用及び連携の方法・実際にはこうする

併用するのであれば、特別の技術を必要とせず、まずはExcelマクロによる数値変換を行い、その後RPAで自動入力を行うといったように、双方をあくまでも組み合わせることにより、作業を進めることができます。

この方法が最も簡単な連携の方法です。また、小さい運用では多くの場合、これで十分と考えられます。

まとめ

以上の通り、RPAツールと、マクロは違う技術を使っており、それぞれの強みがあります。

RPAツールは、PC上の操作であれば、自動化できます。

基本はこちらを業務に利用し、マクロが強い処理、例えばワンクリックで数値を変換できることを利用した処理・Outlookでのメール送信などを組み合わせて利用することにより、多くの作業を2つの技術で自動化することができます。

VBAプログラミングをすでに習得している方には技術的にもそれほど困難なことではありませんので、ぜひRPAのシナリオ開発や自動化のアイディアを広げるために、この記事をご活用ください。