RPAとExcelマクロ(VBA)の違いや上手な併用法
パソコンを使った業務効率化に有用なRPA、Excelマクロ、Excel VBAの違いを解説しましょう。両者は似ているようですが、それぞれ得意な作業範囲が違います。また、現場が作り出したExcelマクロとRPAの併用の是非についても考察しています。業務の効率化に役立つのはどちらのツールなのか、見極めるためにも一度確認してみませんか。
RPAとExcelマクロ(VBA)の比較
まず、RPAとExcelマクロ、Excel VBAの違いを表で、ざっと確認してみましょう。
項目 | RPA | Excelマクロ | Excel VBA |
自動化できる範囲 | パソコン操作全般 | Excelのみ | 各種Office文書作成、Web操作、メール送信 |
連携 | Windowsアプリ、Webアプリ | Excel | Officeアプリ、IE |
扱えるデータ量 | 大量データは非推奨 | 大量データは非推奨 | 大量データは非推奨 |
作業速度 | パソコンの性能次第 | パソコンの性能次第 | パソコンの性能次第 |
プログラミング知識 | なくても可 | なくても可 | 必須 |
RPAではパソコンでできる作業であれば全般的に対応が可能です。一方、ExcelマクロはExcelで行う操作しか記録できず、VBAであれば各種OfficeアプリやIEなどWindows系アプリの操作まで自動化の範囲を広げられます。なお、RPAやExcelマクロはプログラミングの知識がなくても開発は可能ですが、VBAはプログラミングの知識が必要です。扱えるデータ量、作業速度に関しては大量データを扱う場合、一般的にはRPA、EXCELマクロ(VBA)ではなく、高速処理が出来るプログラムを作成する方が精度・速度ともに安定した処理が見込めます。
RPAとExcelマクロ(VBA)には何を任せられるか
次に、RPAとExcelマクロ(VBA)に適した作業をさらに詳しく見ていきましょう。それぞれが得意な作業を見極めて適しているほうを選ぶようにしてください。
RPAに適した作業
RPAはパソコンで操作できるものであれば何でもできますが、Excelではできない高負荷の作業や比較的複雑な作業を任せるといいでしょう。以下にRPAに適した作業の例を挙げます。
- 工数が多く、多分岐する
- 異なるシステムのデータを利用した反復作業
- 自動起動によるスケジュール作業や定期作業
RPAであれば、工数や条件分岐が多数ある作業でも任せやすいです。さらに異なるシステム間との連携が得意なので、人が行うような複数のシステムデータを利用しての反復処理作業もできます。
また、RPAロボットは自動起動が可能なので、Excelのように人が起動させる必要はありません。RPAでは作業のスケジュール予約や定期作業の開始までできるため、作業の完全なる自動化が実現できます。これはExcelにはない大きな利点といえるでしょう。
Excelマクロ、VBAに適した作業
Excelはパソコンに負荷があまりかからない処理の自動化に適しています。Excelマクロで作業内容を登録するには、人が操作して記録するか、VBAで手順を記述するかの2つになります。「マクロの記録」機能ではExcel内の操作、VBAでは主にMicrosoft社製アプリと、一部のWebアプリ操作の自動化が可能です。それぞれにふさわしい作業内容の例を以下にまとめました。
【Excelマクロ】
- Excelでの集計やグラフ作成、印刷
- Excelのフォーム作成
【Excel VBA】
- Microsoft社製アプリの(部分)操作
- 数千件くらいまでのデータ処理
- 条件分岐の階層が少なめな作業
- メール送信
- Webページからの情報収集
比較的単純な作業で自動化の範囲がExcelシート内で完結するのであれば、Excelマクロが適しているでしょう。VBAはExcelと他のアプリ操作を組み合わせた作業の自動化に適しています。特にVBAはWebブラウザのIEを通しての操作が可能で、特定の条件をもとにWebページから情報を収集(データ取得)・利用、外部連携を利用したWebアプリの操作も可能です。ただし、VBAはプログラミングの技術が必要になること、Windows系アプリ以外では相性の問題や仕様変更の可能性があることに留意してください。
RPAとExcelマクロ(VBA)のどちらがいいか見極める
自動化ツールとして、RPAかExcelマクロ(VBA)を選択する際に、それぞれに適した作業内容かどうかという基準のほか、以下にあげる点も考慮しましょう。
- 十分な運用保守体制
- Microsoft社製アプリだけで運用可能か
- 最適手段があっても処理がExcel内ですむか
自動化ツールの開発や運用・保守スキルを持った人材の偏在は否定できません。人材が十分でなければ、運用支援サービスが受けられるRPAがいいでしょう。ツールについて理解できる社員がほとんどいないと、スキルのある人材には大きな負担になります。この点をクリアし、自動化させたい作業がMicrosoft社製のアプリ内ですみ、プログラミングに問題なければVBA開発でも大丈夫でしょう。
また、VBAでなく別の言語が適している自動化作業も多くありますが、Excel内で処理する場合はVBAを用いたほうが自然です。例えば、Webを使った情報取得にはVBAよりも適した言語があるものの、VBAの中に別の言語を入れ込んでは動作が困難になります。RPAは他アプリとの連携が得意ですが、作業手順や件数が多くなく、Excel内で適切に処理できるものは無理にRPA化しなくてもよいでしょう。
RPAとExcelマクロ(VBA)の併用の是非
Excelは単独で表計算機能と自動化も可能な高機能なアプリですが、RPAは「自動化」機能に特化したシステムなので、ほかの業務アプリが不要になるわけではありません。現場でのExcel活用率が高ければRPA導入後もExcelが引き続き利用されていくことでしょう。
Excel利用率が高いほど、今までExcelに頼っていたデータ処理をRPAで代替することは難しいかもしれません。Excelは数式を保持してのデータの演算処理・加工が得意で、これをRPAで代替するとなると、一つひとつ演算作業が必要となり負荷がかかります。
そこで、RPAの導入効果が見込める業務においても、業務の棚卸し後に、自社の事情、コスト面を考慮し、RPAへの切り替えか、現場でのExcel活用や既存マクロの併用を判断すべきでしょう。また、現状のマクロツールは全社最適よりも部分最適であることが多いため、ガバナンスの設定についても検討してみてください。部内での保守や承継についても考えておく必要があるでしょう。
RPAとExcelマクロ(VBA)の役割を見極めたうえで活用を
RPAはパソコンを使った作業の自動化が可能なツールですが、自動化したい内容によってはExcelマクロ(VBA)が適していることもあります。RPAとExcelマクロの併用は、コストや自社の実情を考慮し判断するといいでしょう。ただし、運用に関してのガバナンスを構築し、ブラックボックス化や属人性を回避することが必要です。目的に応じたツールを選択し、業務の効率化を図りましょう。