マクロ(VBA)

私がマクロVBAを布教する理由

私がもし大学生に社会人になるにあたって勉強しておいた方がいいことは何ですかって聞かれたら食い気味に「マクロと簿記3級」って答えるでしょう。

それぐらいマクロってオススメなスキルです。

じゃあ、何で私がそこまでマクロVBAをおススメするのかその理由を紹介していきます。

圧倒的な学習コストの低さ!

プログラミング界隈でよく学習コストと言う言葉が飛び交っていますが、マクロVBAほど学習コストが低いものは無いです。

要するに、ズブの素人でもちょっと勉強したらすぐにマクロVBAを作れるようになっちゃいます。

勉強方法について詳しくは別動画で紹介していますが、入門書を1冊読めばド素人でも業務で使えるマクロを作れてしまいます。

今人気のPythonと比べるとその学習コストの低さがわかると思います。私はPythonも独学で勉強をしているのですが、Pythonは入門書1冊読んだどころで全く何も作れないと言っても過言ではありません。せいぜいインストールの方法と基礎文法を学べるぐらいです。実際に作っていくにはいろんな知識が必要になってしまうので、学習コストは高くなってしまいがちです。

じゃあ、なんで学習コストが低いことがオススメなのかと言うと、モチベーションにつながるからですね。

学習コストが高いとどうしても、強靭な精神や具体的な目標が無いと途中で断念しがちになってしまいます。Twitterでもよく駆け出しエンジニアとつながりたいみたいなタグをつけている人をウォッチしているのですが、こういう人たちは殆ど2、3ヵ月経ったら更新が途絶えています。

一方、マクロは入門書を1冊読めばすぐに業務に活かすことができます。で、実際に自分で作ったマクロで業務効率化ができるようになるとモチベーションは爆上がりします。

これはもう体験してもらった方が早いですが、もう本当にモチベーション爆上がりします。

なので、三日坊主で終わることなく継続してマクロVBAを学ぶことが出来るようになり、より効率化が進む好循環になります。だからオススメなのです。

スキルが無いサラリーマンの自信につながる

私は社会に出て、いろんな部署を渡り歩いていたせいで、これ!という明確なスキルが身につかなかったんですね。

経理なら経理系、人事なら人事系の知識であったり、スキルって日に日についていくじゃないですか。

私にはそういったものがなかったのでめちゃくちゃコンプレックスでした。何か身になるスキルを勉強したいと思って、英語の勉強をしたり、公認会計士の勉強をしたりしましたが、こういった知識は業務で使う事は無かったので、結局3日坊主で終わってしまいました。

で、ひょんなことからマクロVBAの勉強を始めることになるのですが、マクロVBAが作れるだけで結構な自信につながります。というのも、Excel博士みたいな人はそこそこいますが、VBAまで作れる人っていうのは少なくとも私の周りにはあまりいませんでした。

なので、マクロVBAは作れるだけで立派なスキルになるのです。

もちろん、マクロだけではまだスキルとしては弱い部分があるので、マクロで培った基礎知識を元にそういったプログラミング的な案件に首を突っ込んでいくとどんどんそっち方面の知識をつけることが出来るようになります。

それに絡んでくるのが次の布教ポイントですね。

他のプログラミング言語にも活かせる

マクロVBAの勉強をするとなんと、その知識を他のプログラミング言語にも活かすことができます。

私の場合、マクロVBAを勉強した後、JavaScriptであったりさっきも言ったPythonの勉強をしました。

マクロの勉強後だったらこれらの入門書ぐらいだったらさーっと読めば理解できるようになるぐらいの基礎ができあがっています。

乱暴な言い方をするとそれぞれのプログラミング言語の入門書はすっ飛ばして、各論の本をいきなり読んでもある程度は理解できると思います。もちろん、言語ごとの書き方の微妙な違いやルールは憶えないといけないですが…

それぐらいマクロVBAを勉強するだけでプログラミングの素地ができあがるんですね。これってめちゃくちゃコスパ良いと思いませんか。業務の効率化もできるし、他のプログラミングにも活かせるって最強だと思います。

Excelで作りたいものを作れるようになる

Excelはある程度の関数が使えたら業務に困ることは無いと思います。ただ、業務の自動化であったり効率化などは関数だけではどうしても実現できないことが出て来てしまいます。

ただ、マクロVBAであれば、大体の事は実現できてしまいます。関数であれこれやっているときに、あぁここは手作業になっちゃうかって場面に出くわしてもマクロが作れたら解決できてしまいます。

ちなみにですが私はマクロを勉強してからはなんでもかんでもマクロVBAで作っていたので逆に関数の知識がどんどん減っていってしまいました。関数で一瞬で終わることもマクロを作ったりしていたので、何で関数使わんのと正論を言われることもありました…

その話はいいとして、自分の実現したいことを実現できないと結構なストレスですよね。ただ、マクロを作れるとそういったストレスから解放されるので最強の人になれます。

1次元高い視点で考えられるようになる

マクロを作って業務効率化をしていると、マクロを盛り込むことによるフローの見直しと言う課題にぶち当たります。

このフローの見直しは結構大変です。部内での調整や説明会、使うファイルの配布といった作業が盛りだくさんです。

この作業は大変ではありますが、やり切った後には業務フロー全体を俯瞰して見れるようになります。

マクロを作っていなければ自分の作業だけに没頭して終わっていたと思いますが、フロー変更を通してフロー全体を見れるようになることにより、かっこいい言い方をすると一次元高い視点でフロー全体を見れるようになります。

そうなることにより、自分の業務だけではなく、他の業務についても自然と粗であったり、無駄が見えるようになってきます。ただ、他の業務、他人の業務効率化はあまり手伝わないほうがいいって言う話は別動画でもさんざん言っているので適度な付き合い方をおススメします。

手伝う手伝わないを横に置いて、フローを改善できる視点と言うのはどこの組織でも重宝されるスキルなので、マクロを勉強することによってそういった視点を培えるのもオススメなポイントですね。

関連記事