私は、文系出身で学生時代にプログラミングなどは全く勉強したことはなく、
就職も人事総務という完全事務系の職場に配属されたので
これまで、プログラミングに触れることはありませんでした。
しかし、人事総務系の業務の中には、
Excelを使った集計作業など、多くの単純作業をアナログに処理している業務があり、
これをなんとか効率化出来ないかと、ExcelVBAを独学で勉強し
これまでに多くのExcelVBAを使った業務効率化ツールを開発してきました。
また、会社でRPAの導入が始まったことをきっかけに、ExcelVBAの開発経験もあったことから
RPA開発も任されるようになり、今では、様々な部署から
ExcelVBAやRPAを使った業務効率化ツールの開発依頼が来るようになりました。
しかし、開発依頼を受けるときに、
そもそもExcelVBAもRPAの違いがよく分かっていない人が多くいるんだなと実感しています。
というのも、こんなやり取りが頻繁にあるからです。
![Aさん](https://tsenblognosusume.com/wp-content/themes/cocoon-master/images/b-man.png)
tsenさん!この業務を自動化したいんですけど!
RPAで出来ますか??
![tsen](https://tsenblognosusume.com/wp-content/uploads/2020/06/aicon.png)
それは、RPAじゃなくて、ExcelVBA案件ですね!
VBAツールを開発しますね^^
こんな具合で、ExcelVBAとRPAの違いがよく分かっていない人が大半だと思います。
そこで、今回は、文系出身の私が、文系でも分かるように
ExcelVBAとRPAの違いをわかりやすく解説してみたいと思います!
- RPAって何?VBAって何?という基礎知識
- RPAとVBAの共通点
- RPAとVBAの違い
- RPAとVBAで業務改善できる事例
- RPAとVBAを使うメリットとデメリット
という内容が知りたい方の参考になると思います。
RPAとは
RPAとは、 Robotic Process Automation(ロボティックプロセスオートメーション)の略称で、
わかりやすく言うと
「人間がコンピューターを操作して行う作業を自動的に行ってくれるソフトウエア」です。
![tsen](https://tsenblognosusume.com/wp-content/uploads/2020/06/aicon.png)
人が手作業でパソコンに打ち込んでいるような作業を
ロボットが勝手に実行してくれるんです!
例えば「インターネットから必要データを引っ張ってくる」とか、
「商品情報をシステムに登録していく」とかです。
RPAは特に決まった手順の定型業務や、繰り返し行う作業の自動化に適していて
教えた作業通りに、ひたすら処理を繰り返していくロボットです。
そのため、人間の判断や意思決定を必要とするものはRPAでは処理できません。
![tsen](https://tsenblognosusume.com/wp-content/uploads/2020/06/aicon.png)
自己学習機能によって、コンピューター自身が判断するようになるものは
「AI」と言われているものですが、「RPA」は「AI」とは全くの別物です!
RPAを導入することで、作業時間を短縮したり、ヒューマンエラーを削減したりなどの
生産性向上が期待できるため、働き方改革の一環として注目されており
多くの企業で導入がされ始めています。
ExcelVBAとは
ExcelVBAとは、Visual Basic for Applicationsの略称で
Microsoft Office製品に搭載されている簡易的なプログラミング言語です。
ExcelVBAを使って開発したツールでは、Excel作業などを自動化することが出来ます。
例えば、このブログでもよく紹介しているExcelの集計業務や、データの加工など
エクセルで毎日・毎月よく行う作業は、ExcelVBAで自動化することで効率化が図れます。
ExcelVBAでは、Excel以外にもMicrosoft Officeソフトであれば自動化することが出来ます。
例えば、OutlookもOfficeソフトのため操作が可能で
一度に同じようなメールを個別に添付ファイルをつけて送ることなども出来ます。
RPAとVBAの共通点
ExcelVBAとRPAの共通点は、どちらもパソコン上で行う業務を自動化してくれるものという事です。
以前、「トイレ掃除を自動化したいんですけどRPAで出来ますか?」
という依頼が来たことがあります(笑)
トイレ掃除は、パソコン上で行う業務ではありませんので、RPAでは出来ません。
お掃除ロボットを購入しましょう^^
ExcelVBAとRPAの違い
![RPAとVBA](https://tsenblognosusume.com/wp-content/uploads/2020/07/jidouka.jpg)
では、逆にExcelVBAとRPAの違いについて分かりやすく説明していきます。
まず、ひとつは自動化できる範囲が違います。
上記でも解説してきましたが
ExcelVBAはExcelを含むOffice系ソフトの作業しか自動化できないのに対して
RPAは、どんなソフトであっても関係なく自動化できるので、
例えば社内システムやアプリケーションと連携した作業を自動操作する事が出来ます。
![Aさん](https://tsenblognosusume.com/wp-content/themes/cocoon-master/images/b-man.png)
なるほど!VBAは主にエクセル、RPAは色んなシステムを操作できるんだね!
もう一つの違いは、導入方法の違いです。
ExcelVBAは、エクセルが入っているパソコンであれば誰でも使用することが出来ますが、
RPAは専用ソフトを導入する必要があります。
RPAの導入方法はデスクトップ型、サーバー型、クラウド型の大きく3つがあげられます。
デスクトップ型であれは、RPAソフトをインストールしたPCでしか利用ができませんし
クラウド型であれば、ライセンスを購入して利用環境を構築する必要があります。
そのため、導入のハードルはExcelVBAのほうが簡単といえます。
また、それに伴い、費用の違いも発生します。
当然、ExcelVBAは無料で使えますが、RPAの場合はライセンス費用がかかります。
そして最後の違いは、開発にあたっての難易度の違いです。
ExcelVBAではVBAというプログラミング言語を使いますので、
プログラミング知識が必要です。
これに対して、RPAではプログラミングなどの知識がなくても
人が操作している画面をそのまま録画するだけで、プログラムが出来上がるため
プログラミング言語は不要です。
しかし、全くのプログラミング未経験者が簡単に開発できるかというとそうではありません!
例えば、変数や条件分岐といったプログラミングの基本的な考え方や
Int型、String型といった基礎的なプログラミング知識は必要です。
![tsen](https://tsenblognosusume.com/wp-content/uploads/2020/06/aicon.png)
文系出身だと、そもそもプログラミングの基礎知識がないので
誰でも簡単に開発できるという認識は間違いです。
実際に、私は最初全く意味不明で開発することが出来ませんでした。
よって、
開発にあたっての難易度はExcelVBAのほうが少しハードルは高いくらいで
RPAも開発難易度はゼロではない
という感じでしょうか。
RPAとVBAで業務改善できる事例
RPAとエクセルVBAでできる業務改善事例には以下のようなものがあげられます。
- エクセル申請書を1つのエクセルに集計する
- エクセルの内容を転記する
- ファイル名称を一括変更する
- エクセルの各シートを分割する
- Outlookメールと連携してメールを一斉に送る
- エクセルの各シートを全て印刷する
- フォルダを一括作成する
これらの具体的なVBAコードは当ブログでも解説していますので
あわせて参照してください。
これに対して、RPAでできる業務改善事例には以下のようなものがあげられます。
- エクセルの情報を経理会計システムに転記入力する
- Web上から情報を取得して、別システムへ入力する
- PDF化された請求書からRPAで支払いシステムへ自動入力
- 申請された人事データを複数のシステムに自動登録
- メール内容を元に発注システムへ自動入力する
- 在庫の変動を元に各出品サイトの情報を自動で書き換える
![Aさん](https://tsenblognosusume.com/wp-content/themes/cocoon-master/images/b-man.png)
なるほど。もしかしたら自分が自動化したいと思っているものは
VBAでも十分できてしまうかも・・
RPAやVBAを使うメリットとデメリット
![メリット](https://tsenblognosusume.com/wp-content/uploads/2020/07/meritto1.jpg)
RPAやVBAを導入することで様々なメリットがあります。
最も大きなメリットは、「業務効率があがり生産性が向上すること」です。
業務スピードが早くなることで、残業をカットできたり、
自動化ツールが動いている間は、別の業務を遂行することができるので生産性が向上します。
手作業では半日以上かかっていた業務が、たった数分で終わらせることも可能です。
また、RPAやVBAを使うことで、人的ミス無くすことが出来ます。
機械は正確です。打ち間違え、見間違いなどによるミスが発生することはありません。
![tsen](https://tsenblognosusume.com/wp-content/uploads/2020/10/aicon2.jpg)
そういう意味では、人よりも優秀ですね。
しかし、RPAやVBAにもデメリットはあります。
それは、トラブルが発生した時に対応できる人が限られてしまうことです。
RPAやVBAに限らず、便利に自動化されてしまっているツールを使っている場合に起こりがちですが
その自動化ツールが一体、何をどうやって処理しているのか理解せず使用してしまっていると
いざシステムが止まった時に、手作業で出来なくなってしまうデメリットがあります。
![tsen](https://tsenblognosusume.com/wp-content/uploads/2020/06/aicon.png)
ただ単に「このボタンを押せばいい」と理解するのではなく、
「このボタンを押すとこういう操作が行われているんだ!」と理解しておくことが大切です。
RPA導入を検討する前に
昨今は、RPAという言葉が独り歩きしていて、
事務作業の自動化というとRPAだ!と直結してしまう人がいるのですが
先ほどもあげたように、RPAには導入コストもかかりますし、開発ハードルもゼロではありません。
また、RPAでなくてもVBAで十分解決できる事務作業もたくさんあります。
いきなりRPAを検討するのではなく、VBAで対応できないかも検討してみてください。
また、業務効率改善には、そもそもその業務をする必要があるのかを検討することも大切です。
![tsen](https://tsenblognosusume.com/wp-content/uploads/2020/10/aicon2.jpg)
そもそもやらなくてもいい無駄な業務を効率化するために、
RPAやVBAツールを開発するなんて
それこそムダな作業になってしまいますからね。
まとめ
今回は、どちらも開発経験のある私が
ExcelVBAとRPAの違いをわかりやすく解説してきました。
今回の記事がRPAやVBA導入に迷っている方の参考になれば幸いです。
ここまで読んでいただきありがとうございました。