4月、あるTwitterユーザーがMicrosoft Officeのアプリケーションで使用できるプログラミング言語「VBA」をめぐり投稿した以下のツイートが話題を呼んだ。
<世間では何かと物申されることの多いVBAですが、学び始めて4年そこらで、二度の昇進を果たし年収も32.8%増えて、まわりの社員も含めて残業がなくなったうえに、会社の定時が30分繰り上がったのは紛れもない事実で、QOL爆上がりなのであります。>
このツイートは3000人以上のフォロワーを抱える「ゆうせい氏」のもので、同氏のプロフィールには「月100時間を越える残業からVBAを学び人生が好転しました」とも書かれており、VBAの有効性の高さが窺える。
そこで今回は近畿大学経済学部教授の田中敬一氏に、VBAはどれくらいでマスターできるのか、残業が減るというのは本当なのか、といったことを解説してもらった。
Excelの作業効率を高める“マクロの記録”
まずはVBAがどのようなものなのか。
「VBAとはVisual Basic for Applicationsの略で、WordやExcel、PowerPointなどマイクロソフトが販売しているオフィスアプリケーションに付属しているプログラミング言語のことです。簡単なプログラミングが可能で、複雑な計算や処理を自動実行させることができます。
VBA自体は同社が販売しているアプリケーションすべてに付属しているのですが、Excelには“マクロの記録”という機能が付いており、これがSNSなどで“業務が効率化できる”と話題になっているのでしょう」(田中氏)
マクロの記録とはどのような機能なのだろうか。
「操作を自動で記録してコード化してくれる機能です。例えばExcelを使って集計業務をするとします。このときにマクロの記録のモードに入ってから作業を行うと、マウスやキーボードで操作した一連の動きをコードに置き換えて保存してくれるのです。
ボイスレコーダーのように録音と再生をしてくれるイメージで、コードを書かなくても記録、保存、繰り返し使用できる点が特徴といえます。そして記録したマクロはボタン1つで再現できるので、毎週や毎月同じ作業を繰り返し行うような定型業務をしている人の業務時間を、大幅に減らすことができるというわけです。
現在のバージョンでは関数の記録や条件判断のIF文などの記録ができないので、これらに関しては人の手でコード入力する必要があるのですが、そのほかの多くの機能はコード化が可能です」(同)
Excelといえば関数を使った業務の効率化がメジャーだが、それに似たような機能なのか。
「似ている機能であるとはいえるでしょう。ただしExcelの関数が一般的にセルにコードを打ち込んでいくのに対して、マクロの記録は1度作業を記録させてしまえばボタン1つで一連の作業を自動実行してくれるので、あえていうなら関数の上位互換というようなイメージでしょうか」(同)
VBAをマスターすれば残業が減るのは確実?
では、SNSで話題になっていた“VBAを導入することでまわりの社員も含めて残業がなくなった”という話は、あり得るのだろうか。
「もちろん社員さんの能力や業務内容、作業量によっても変わるので一概に言いにくい部分ではありますが、スキルを持っていればVBA導入で残業がなくなるというのは十分あり得る話でしょう。
というのもVBAを導入していない企業の場合、Excelを使用した定型業務は人間が操作しており、当然相応の業務時間が発生します。それをコンピューターに任せてしまえるわけですから、業務時間が短くなるのは自明です。
さらに一般的な話ではありますが、人間が繰り返しの作業を行う場合、ヒューマンエラーをゼロにするというのは難しい話です。一方コンピューターであればミスもないわけですから、より業務の効率化を図れるといえるでしょう」(同)
次に気になるのは、VBAを習得するにはどれくらいの時間が必要なのかということだ。
「これも一概には言いにくい部分なので、今回は私が授業を受け持っている近畿大学経済学部を例にご説明します。現在経済学部では1年生後期、2年生前期、2年生後期の1年半でExcelをマスターできるようにカリキュラムを設定しています。
まず1年生後期にはExcelを体系的に学習して、Microsoftが行うMOS試験の合格を目指してもらいます。次に2年生前期には関数を中心に実務的な表を作るような学習。そして2年生の後期でようやくVBAについて学習してもらっています。
大学の授業は1回90分を半期で15回行うので、Excel全体の授業時間で67.5時間、VBAの授業だけで22.5時間を費やしている計算です。ですから最低でもこれくらいの勉強時間は必要になってくるでしょう」(同)
ではSNSで話題を集めているように、市販の本を購入して独学で習得するというのは可能なのか。
「もちろん個人差はあると思いますが、充分可能でしょう。独学でやる場合は、ご自身が読みやすいと感じた体系的な入門書を1冊仕上げることが大切です。またコンピューターに関する本なので、実際に操作しながら勉強するのがベスト。こちらもExcel初心者の方であれば、Excelの入門書を読破したうえでVBAの入門書を読むのが良いと思います。
また社会人の方であれば、何かしらの業務でExcelを使う機会もあるでしょうから、職場の上司や先輩から教えてもらう機会などもあるかと思います。ですので会社内でヒントを得ながら、足りないものを参考書で補うというような学習方法であれば、効率良く学べるのではないでしょうか」(同)
独学ではなくVBAを学べるスクールに通うことを検討する人もいるだろう。
「スクールに通う余裕がある場合、活用して損はないと思います。基本的な話ですが、勉強をしていればわかりにくい部分というのは出てくると思うので、その場その場で講師に直接聞けるのはとても効率の良い学習法です。唯一の懸念は授業料のコストがかかるということでしょうか。それ以外にはマイナス要因が浮かばないほど、スクールでの学習はおすすめです」(同)
VBAは習得して損がないプログラミング言語
だが、プログラミング言語は移り変わりが早いともいわれる。せっかくVBAを学んでも、習得した頃には実用性がなくなっているということもあるかもしれない。
「プログラミング言語の移り変わりが早いというのは間違いありません。しかしVBAは一般的なプログラミング言語とは異なり、Excelに付属している機能なので、Excelがなくならない限り活用できる言語です。Excel自体が表計算アプリケーションとして非常に需要が高いので、VBAの需要はむしろ今後拡大していくのではないでしょうか。
もちろんバージョンアップして体系的なコードが変わる可能性はありますが、それでも基本的な考え方は変わらないと思いますし、何らかの形では生き残っていくはずです。ですからVBAは今からでも学んでおいて損がないスキルといえるでしょう」(同)
SNSで話題を呼んでいた“残業を激減させる機能”はVBAのマクロの記録というものだった。またVBA自体も今後需要が拡大していく可能性が高そうなので、繰り返し行う業務を効率化させたいという方は習得を検討してみてほしい。
(文=あかいあおい/A4studio)