マクロ(VBA)

マクロ(VBA)を作ってて嬉しかった瞬間

マクロ(VBA)を独学で勉強していて業務を効率化していると嫌な事にもたくさん出会います。

それは他の動画にしているのでそちらを見てもらえればと思うんですが、でも反対に嬉しい事あったりします。

というわけで、今回は独学でマクロ(VBA)を勉強していて嬉しかったことを発表していきます。この気持ちを思いだしてまた一緒に勉強に励みましょう。

ただ、同僚にはマクロは作らないように!(ホラーボイス)

では、発表していきます。

数時間かけてバグを見つけた時

独学でマクロ(VBA)とかプログラミングをやっていて一番の障害がバグですね。聞ける人がいれば問題ありませんが、周りに聞ける人がいないと自分でバグの原因を探すことになります。

ネットで調べてすぐに出てくるレベルだったらまだいいですが、業務で作ってるものって込み入ってるので、ネットで調べても同じような条件が無くて…ってなることよくあると思います。

そういった時は、自分の仕事が終わった残業時間にエラーコードを元にバグを探し回るのですが、やっぱりすぐに見つからないんですね。

一つ一つ可能性を潰していって、数時間後に原因を見つけてすんなり動いた時はマジでオナ禁3日目ぐらいの快感を味わう事が出来ます。

あと、爆弾処理班が赤のケーブル切った後ぐらいのフーーーーーーって感じを体感できます。

まぁ、バグの原因何てほとんどスペースかクォーテーションなんですけどね。

こうやって、泥臭くバグを探す経験を積んでいくと、自然とどんどんバグ探知の嗅覚が研ぎ澄まされてきますので、バグ探しは本気でやることをおススメします。

大幅な業務効率化ができた時

手作業が多い仕事をなんとなくマクロに置き換えよっかなって考えて、特に深く考えずに作りはじめて、なんとなく完成したら実はめちゃくちゃ効率化できてたときはメチャクチャ嬉しいですね。

おれ天才ちゃう?って思って、誰かに共有したいんですけど、そのすごさを理解してくれる人はなかなかいません。悲しい。

でも、たまに理解してくれる子もいるんですよね。当時、私の下にかわいい女の子の後輩がいたんですね。その子はとにかくExcelというかPC全般が苦手らしくいつも事務作業に苦労していました。

大変そうだなぁーって思って時間を見つけては手伝ってあげたり、マクロを作ってあげたりしていました。

いつも作ったマクロを見せると「え、え、え、何したんですか??え、もう終わったんですか?え、先輩、魔法使いだったんですか」みたいなことを言ってくれて嬉しかったですね。

美人は男の扱い方うまいわって体感したエピソードですね。まぁ、こんなかわいい子でも徐々にですね、ええ、モンスター化していくんですね。

他の動画で紹介したピエン顔で寄ってくるのがこの子ですね。適度な距離で手伝っておくのが正解でした。

たかがマクロですが、可能性は無限だと思います。難しいコードが書けなくても、ちょっとした気づきで大幅な効率化が出来ることがあります。

逆に、肩をぶんぶん回して、やったんでーって時は大体できあがるものはたいしたことないんですよね…メチャクチャショックです。

知識がついたことにより、過去のコードを大幅に減らすことができた時

マクロ歴が長くなってくると、知識ってどんどんついていきます。

たまに、マクロの勉強しはじめの頃に作ったコードをみて大爆笑することがあります。

何でこんな無駄なコードを書いたんだろうと当時の事は全く思いだせませんが、今の自分の知識をフル動員して書き換えたらコードの量を1/3ぐらいにできた時は自分の成長を実感できてうれしかったですね。

昔はコードの綺麗さなんてどうでもいい!とりあえず動いて残業から解放されたらなんでもいい!って思っていましたが、他人にマクロを渡す量が増えてきてからは少し考え方を買えるようにしたんですね。

そのきっかけが野良マクロという言葉を知ってからです。

要は私みたいな素人が作ったマクロをが社内に溢れることにより、作った人がいなくなった時にメンテ等に時間がかかるもしくはできなくなって最終的に組織の生産性を下げるという話でした。

まぁ、この野良マクロって言う言葉自体もいろんな人の思惑が垣間見えますし、組織の生産性とか知った事ではないですが、自分が作ったマクロが誰かの迷惑になるのはなんか許せなかったので、できるかぎり誰が見てもわかるようにわかりやすいコードを書くように心がけています。

正直、そういったことに気を使いながら作ると時間がかかってしまいますが、そこは大人なので我慢します。

他人が作ったコードを読めて、改変できた時

マクロの勉強を始めたての時は人が作ったコードを見た時、何が書いてあるか1mmも理解できませんでした。

やっぱり自分なんて全然だめなんだって思っていました。

そんな自分でも色んなタイプのマクロを作っていくことにより、徐々にではありますがコードを理解できるようになっていきました。

もちろん、最初から最後まで完璧に理解するのは難しいですが、ここでは何をしている!ぐらいは分かるようになりました。

他人のマクロが読めるようになると、さっき言ったような野良マクロをメンテできるようになります。

面白いことに、野良マクロ製作者の方が野良マクロを理解できるみたいですね。

逆にちゃんとしたエンジニアの人が書いてるコードは私には難しすぎる場合がよくあります。

プログラミングのアレルギーが減った

たぶん、私はマクロを触っていなかったらJavaScriptとかPythonの勉強を始めることはなかったと思います。

だって、そういうものはちゃんとした専門の教育を受けた人たちだけが作れるものだと思っていたからです。

ただ、マクロVBAの勉強をやっていって、薄っすらでもプログラミングをかじることによってそういった思い込みは無くなっていきました。

たまたま、本屋さんでAIで話題のPython!的な見出しの入門書を読んだ時に、やってることほとんどマクロVBAと一緒やんって思ったんですね。(まぁ入門レベル何でツッコミはしないでください)

でも、そんぐらいの思い込みの方が勝手なハードルを自分の中で作って何もしないよりかは全然いいと思います。

とんだ副産物ですがマクロを勉強したことにより、プログラミング言語全般に興味を持てたのは一番の収穫だったと思います。