Excel VBA と RPA(BizRobo!)の使い分け
Excel の中で完結する作業は VBA、複数のシステムをまたぐ作業は RPA、という基本の考え方と、両方を組み合わせるときの役割分担の例を紹介します。
それぞれの得意分野
Excel VBA と RPA は、どちらも作業を自動化する道具ですが、得意な分野が違います。どちらか一方にこだわるより、作業の性質に合わせて選ぶ・組み合わせる方が、作りやすく、止まりにくい仕組みになります。
- Excel VBA:Excel の中での集計・加工・帳票作成が得意。大量のデータを速く処理できる。Excel が入ったパソコンがあればすぐ使える
- RPA(BizRobo!):Web システムや複数のアプリをまたいだ操作が得意。サーバーでのスケジュール実行や、実行状況の一元管理ができる
判断の目安
迷ったときは、次のように考えると整理しやすくなります。
- 作業が Excel の中だけで完結する → VBA
- Web システムへの入力やダウンロードが中心 → RPA
- 決まった時刻に、人がいなくても動かしたい → RPA(サーバーでのスケジュール実行)
- データの加工が複雑で、件数が多い → 加工は VBA、システム操作は RPA
組み合わせの例
実際の業務では、両方を組み合わせることがよくあります。たとえば、毎朝の売上報告の作業を次のように分担できます。
[組み合わせの例:毎朝の売上報告]
1. RPA:基幹システムにログインし、前日の売上 CSV をダウンロードして共有フォルダに保存
2. VBA:CSV を読み込み、店舗別・商品別に集計して報告用の Excel を作成
3. RPA:作成された報告書をメールで関係者に送信、または社内ポータルに登録組み合わせるときの注意
受け渡しのファイルの形(場所・名前・列の構成)を、両方の担当者で取り決めておくことが大切です。VBA の担当者が列を1つ追加しただけで、RPA 側のロボットが止まる、ということが起きます。また、RPA から Excel のマクロを動かす場合(DA を使うなど)は、マクロの中でメッセージボックスを出すと処理が止まってしまうため、ロボットから呼ぶマクロは、画面への表示を出さない作りにしておきます。
保守する人を考えて選ぶ
技術的にどちらでも作れる場合は、作ったあとに保守する人が慣れている方を選ぶのが現実的です。VBA が得意な人が多い職場なら VBA で、RPA の運用体制が整っている職場なら RPA で、という判断も十分に合理的です。当サイトの運営者は Excel VBA の解説サイトも運営しているので、あわせて参考にしてください。
※BizRobo! は RPA テクノロジーズ株式会社の製品です。本サイトは同社とは関係のない個人の解説サイトです。画面や機能の名称は、製品のバージョンによって異なる場合があります。
ほかの記事
BizRobo!の基本BizRobo! の構成を理解する(Design Studio・Management Console・RoboServer の役割)BizRobo! を使い始めるときに最初に混乱しやすい、Design Studio・Management Console・RoboServer の役割分担と、ロボットが作られてから実行されるまでの流れを整理します。BizRobo!の基本ロボット開発の進め方(業務の洗い出しから手順書・分割まで)いきなり Design Studio を開くのではなく、業務の手順を書き出し、例外を洗い出し、ロボットを小さく分けてから作る進め方を解説します。手戻りを減らすための準備の型です。BizRobo!の基本タイプと変数の考え方(データ設計でロボットを読みやすくする)BizRobo! の変数とタイプ(.type ファイル)の関係、グローバル変数の使いどころ、変数名の付け方など、ロボットのデータ設計の基本を解説します。BizRobo!の基本DS と DA の使い分け(Web 操作とデスクトップアプリ操作)BizRobo! で Web システムを操作する DS ロボットと、デスクトップアプリを操作する DA(Desktop Automation)の違い、それぞれが向いている業務、組み合わせるときの注意点を解説します。