こんにちわ、中川です。
ちょっとした業務を効率化、改善したい時にVBAによるツール開発やRPAによる業務の自動化が手段としてよく挙がります。
ではどちらが優れていて、どちらを採用すべきなのでしょうか?
結論はお分かりだと思いますが、両者をつまく使い分ける、または両者をうまく組み合わせて使うのが正解です。
VBAの使いどころ
VBAの強みは何といってもMicrosoft Office(Excel、Word、PowerPoint、Outlookなど)の操作に長けていることです。
Office、特にExcel上での業務(転記、レポート作成、データ集計、データ分析など)を効率化するにはVBAが持ってこいです。
それまで手作業で数時間、数日間掛けていた業務が、VBAでシステム化することで一瞬で業務が完了するようになったという話には枚挙にいとまがありません。私自身、何度も経験しお客様に喜ばれています。
世の中のほとんどのWindowsPCにはOfficeがインストールされていると思います。Officeの中でもExcelの利用割合は非常に高いです。
VBAはOfficeがインストールされていれば即開発することができます。
Webアプリケーションのようにサーバが必要であったり、開発環境を整える必要があったりということがありません。
つまりOfficeを用いた業務を大仰な準備も必要なく、サクッと改善するのに非常に向いているのです。
逆に使い勝手は悪いケースとして、規模が大きいシステム開発(というか2人以上で開発する場合)には向いていません。
例えばソースコードのバージョン管理、フレームワークの導入、テスト機構などが備わっていませんし、そういった仕組みを導入することを想定もされていないように思います。
※いずれもやってやれないことはないですが、結構大変でした。
良い意味では枯れた技術なのですが、その分モダンな開発は難しいのです。
また一般的にパフォーマンスも良いとは言えません。
まぁ大規模な基幹システムなどをVBAで開発しようなどと考える人は少数だと思いますが。
また、そもそもですがVBAはプログラム言語のためプログラミングができる必要があります。
会社や部署にVBAをできる人がいるとは限りません。その場合は外注するか自分達で勉強するしかありません。
そうなると途端に敷居は高くなります。
RPAの使いどころ
次にRPAの使いどころについて。
RPAはやはり複数のアプリケーションをまたいだ操作を自動化することに長けています。
例えば、
- ブラウザで検索、ファイルダウンロード → Windowsアプリケーションにインポート
- AシステムからBシステムにデータを転記
- PDFを読み込み → Excelファイルに転記、集計
など。
「VBAはプログラミングが必要だが、RPAはノンプログラミングできる!」という意見があるかもしれません。
確かにそういう側面はありますが、RPAを使って本当に業務価値を上げようとすると勉強はある程度必要です。
学習コストはVBAに比べればRPAの方が低いと言えるかもしれませんが、導入コストは通常RPAの方が高くつくことが多いかもしれません。
そうは言ってもノンプログラミングで開発できることは大きな魅力と言えるでしょう。
再度、結論
ということで「VBAとRPAのそれぞれの特徴を理解してうまく使い分けましょう」というのが結論ですが、それだとピンと来ないかもしれないのでもう少し。
- Office単体の業務を効率化したいのであればVBA、複数のアプリケーション(Office含む)が関連する業務を効率化したいのであればRPA
- VBAを開発できる人がいる、ITに詳しい人がいるのであればVBA、そうでないならばRPA
というのが簡単な目安になります。
※もちろん各社の様々な事情があるため、一概には言えませんよ。
またVBAとRPAを組み合わせて業務効率化をすることも多々あると思います。
その場合、
どの部分をVBAで処理し、どの部分をRPAで自動化するのか
は最初に設計しておきましょう。
「VBAが得意だからVBAでできることはVBAで開発する」「RPAをやってみたいからできるだけRPAで頑張る」となりがちです。
ですがそれだとVBA、RPAのそれぞれの良さを活かすことができません。
VBAでもRPAでも実はやろうと思えば似たようなことを実現できます。
例えば、
- VBAでブラウザの操作
- VBAでエラー発生時のメール送信
- VBAで定期的に処理を実行
- RPAでExcelのデータ集計
- RPAでExcelのレポート作成
はいずれも可能です。
ですがどちらで処理すべきか(あるいはまったく別の方法で実現するのか)は前もってしっかり考えるようにしましょう。(自戒を込めて)
お金をあまりかけずにとりあえずRPAを試してみたいなら「WinAutomation」がおすすめです。
詳しく知りたい方はご連絡ください。