私はもともと、未経験者向けのVBAのインストラクターの補佐や、エクセルを土台にしたレポート資料の作成をVBAで自動化していました。現在は、職場でWinActorを使い、プライベートではUiPathを使ってRPAに携わっています。また、RPAやVBAの魅力を伝えるサイトも作成しております。もしよかったら、是非ご覧ください。
RPAの中で大きなシェア占めるUiPathどの中身はVB.NETの記法が多く取り入れられています。VB.NETとは、大まかに言ってVBAの仲間ですので、VBAとRPAは密接な関係を持っていると言えます。
今回は、改めてVBAがRPAにとってなぜ重要な存在なのか、現場での経験をもとに書いてみたいと思います。
VBA経験者だと、RPA未経験でも採用してくれる
私がRPAの職業に就いたきっかけは、VBAの能力を活かして次のステップへ転職しようと思った時でした。求人サイトに「VBA」「業務自動化」など検索ワードを打ち込んでいくと、偶然、RPAに出会いました。「RPA未経験者も可」「VBA経験者優遇」と書かれた文字に惹かれ、今の職場に就いています。未経験者可のRPAの求人には少し怪しさもありますが、今でも、RPA未経験者可の求人には「VBA経験者優遇」との記載をよく見ます。
未経験からRPAの職に就きたいと思う人にとって、VBAはRPAへの近道であると思います。
営業さんから「このExcel、RPAで自動化できる?」
実のところ、現場ではRPAが魔法のツールとして広まり、何でもRPAで業務自動化をお願いされます。特にこれは営業の方に多いのですが、エクセルの関数を少し直して、VBAを組めばほとんど業務自動化できる案件を依頼してきます。
例えば、あるホームページから1か月分のデータをcsvでダウンロードして、それをExcelに貼り付け、関数の列を加え、VLOOKUP関数で紐づけ、ピボットテーブルで集計して、ファイル名の後ろに「yyyymm」と付けて、Outlookで担当者に送ってほしいと言われたとします。
この業務、すべてVBA内だけで自動化が完結できます。簡単なホームページへのアクセス、データのダウンロードもVBAでやろうと思えば可能です。もちろん、RPAでやることも可能ですが。作業内容がシンプルで、ExcelやOutlookを中心した業務の場合、VBA内で自動化したほうがいいケースが多いです。
脱エクセルのために。VBAからRPAに翻訳する力になる
逆のケースもあります。中には、ExcelやAccessでやっていた業務を自動化するために、むしろExcelを経由しないほうがいい、既存のデータベースのクエリを作り、RPA上で処理をしたほうがいいケースがあります。その時にExcelで何をやっているのか、マクロやVBAで何をやっていたのか、同じ内容をRPAでやるためにはどうすればいいのか考える必要があります。つまりVBAの読解力が求められるのです。
また、前任者から引き継いだVBAを分析する場面に多く遭遇します。手順書の一部に、マクロで自動化をしてくれていることがあります。もちろん、そのマクロをそのまま使ってもいいのですが、やはり余分な箇所が多かったり、少し手を加える必要があります。RPAのフローを綺麗にする上で、VBAを分解する力は求められることが多いです。
VBAは、RPA導入成功の鍵を握る!?
RPA導入を進めていくと、1台あたりの稼働時間の限界がやってきます。これも私の経験なので、参考程度に聞いてほしいのですが、RPAのシナリオ総数が40件を超え、毎日10時間以上可動し続けるようになった頃、すべてのRPAのシナリオを見直すことになりました。私の場合、情報システム部も含めた全体会議を開き、ひとつひとつのシナリオを見直して、「これ、RPA以外にもできるんじゃないの?」「ここは社内システムのSQLを変更すればいいのでは?」と、内容を洗い出し、システム化を図り、適切な台数でRPAの運用をするようにします。
もしも情報システム部から「RPAのほとんどの自動化はVBAでできるじゃないか。わざわざRPAで自動化する必要なんてないじゃないか」と言われることが予想されます。そこでVBAでの自動化を進めていれば、そう言われることはありません。もしも、VBAだけで完結する業務を画像マッチングなどを使いながらRPAで自動化していたら、RPAの評価それ自体が低くなってしまいます。RPAの開発ライセンスを増やす必要はない、最悪、次年度のRPAのライセンス更新はしないと判断される可能性もあります。
RPA導入が成功する鍵は、「RPAでしかできないこと」を分別する力だと思います。Microsoft Office製品をインフラとして使い続けている限り、VBAの自動化は非常に大きな力を持っています。より効率的に、適切なRPA運用のために、VBAは必要不可欠だと思います。
VBAからRPAへ、RPAからVBAへ
私はVBAの能力が評価されてRPAの職場に就きました。そしてRPAの現場から改めてVBAの魅力を再発見している最中です。VBAを学ぶことはRPAを学ぶことと密接に繋がっていると思います。RPAがバズワードとなっている今だかこそ、あまり注目を浴びてこなかったVBAが再評価されることでしょう。