4月、あるTwitterユーザーがMicrosoft Officeのアプリケーションで使用できるプログラミング言語「VBA」をめぐり投稿した以下のツイートが話題を呼んだ。
<世間では何かと物申されることの多いVBAですが、学び始めて4年そこらで、二度の昇進を果たし年収も32.8%増えて、まわりの社員も含めて残業がなくなったうえに、会社の定時が30分繰り上がったのは紛れもない事実で、QOL爆上がりなのであります。>
このツイートは3000人以上のフォロワーを抱える「ゆうせい氏」のもので、同氏のプロフィールには「月100時間を越える残業からVBAを学び人生が好転しました」とも書かれており、VBAの有効性の高さが窺える。
そこで今回は近畿大学経済学部教授の田中敬一氏に、VBAはどれくらいでマスターできるのか、残業が減るというのは本当なのか、といったことを解説してもらった。
まずはVBAがどのようなものなのか。
「VBAとはVisual Basic for Applicationsの略で、WordやExcel、PowerPointなどマイクロソフトが販売しているオフィスアプリケーションに付属しているプログラミング言語のことです。簡単なプログラミングが可能で、複雑な計算や処理を自動実行させることができます。
VBA自体は同社が販売しているアプリケーションすべてに付属しているのですが、Excelには“マクロの記録”という機能が付いており、これがSNSなどで“業務が効率化できる”と話題になっているのでしょう」(田中氏)
マクロの記録とはどのような機能なのだろうか。
「操作を自動で記録してコード化してくれる機能です。例えばExcelを使って集計業務をするとします。このときにマクロの記録のモードに入ってから作業を行うと、マウスやキーボードで操作した一連の動きをコードに置き換えて保存してくれるのです。
ボイスレコーダーのように録音と再生をしてくれるイメージで、コードを書かなくても記録、保存、繰り返し使用できる点が特徴といえます。そして記録したマクロはボタン1つで再現できるので、毎週や毎月同じ作業を繰り返し行うような定型業務をしている人の業務時間を、大幅に減らすことができるというわけです。
現在のバージョンでは関数の記録や条件判断のIF文などの記録ができないので、これらに関しては人の手でコード入力する必要があるのですが、そのほかの多くの機能はコード化が可能です」(同)
Excelといえば関数を使った業務の効率化がメジャーだが、それに似たような機能なのか。
「似ている機能であるとはいえるでしょう。ただしExcelの関数が一般的にセルにコードを打ち込んでいくのに対して、マクロの記録は1度作業を記録させてしまえばボタン1つで一連の作業を自動実行してくれるので、あえていうなら関数の上位互換というようなイメージでしょうか」(同)
では、SNSで話題になっていた“VBAを導入することでまわりの社員も含めて残業がなくなった”という話は、あり得るのだろうか。
「もちろん社員さんの能力や業務内容、作業量によっても変わるので一概に言いにくい部分ではありますが、スキルを持っていればVBA導入で残業がなくなるというのは十分あり得る話でしょう。
というのもVBAを導入していない企業の場合、Excelを使用した定型業務は人間が操作しており、当然相応の業務時間が発生します。それをコンピューターに任せてしまえるわけですから、業務時間が短くなるのは自明です。