仕事

今さらながらVBAマクロを勉強し始めたら面白くてハマった

時短術の本とか出版してるくせに、マクロがほとんど使えなかった私。

5年以上やることリストに入ってて、すごくそれが罪悪感だったのです。

こういうのってここまで引きずっちゃうと独学でスタートするのは難しい。

なので、数ヶ月前にストリートアカデミーのVBAセミナーに参加して、さわりは理解しました。この「はじめに何をすればマクロを組めるのか」がわかるだけでも、私にとっては行く価値はあったかな。

しかしそれからまた数ヶ月、放置してしまいました。

マクロとVBAの違い

初心者なので間違ってたらすみません。

マクロってのはMicrosoft製品で動く自動化プログラムの総称で、VBAはマクロを動かすプログラミング言語のひとつ、と理解しています。

なので、同じMicrosoft製品であるoutlookでもマクロは動くし、VBA以外の方法でもマクロは作れる、はず。

でも8〜9割がたのいわゆる「マクロ」はExcelをベースにしていて、かつVBAで作られてるのではないかなーと想像します。違ったらごめん。

なので狭義には別物だけど、とりあえずマクロもVBAも多くの人にとっては同じものだと思うので、このブログでも厳格には分けません。

ワーママがマクロを勉強し始めた理由

私がマクロを勉強したいと思ったのは、仕事柄似たような作業を何度も繰り返すのに、毎回同じ作業をやっているのがアホくさかったから。

ただ、繰り返すといっても毎日じゃなくて月に数回程度なんですよね。なのでそこまでの必要性を感じられなかったというのが言い訳です。

最近は個人でも無料で使えるuipathというRPAツールの勉強を始めたんですが、これが意外と難しくて、かつ情報量が少ない。

これならMicrosoft製品だけで自動化が済む作業ならば、情報量も多いVBAのほうがラクに組めるんじゃないかなと思ったのが、重い腰を上げたきっかけです。

やってみたら面白くてハマる

私は15年ほど前に少しだけVB.NETやJavaScriptなどのプログラミング言語を勉強したことがあるので、なんとなくの構造はわかります。

でもほとんど忘れてるのでほぼゼロからのスタートです。

それにマクロについては全くの初心者。まず、書いたプログラムをどうやって実行するのかというのがいまいちわからないレベル。

最終的には、とりあえずボタンを押したら動くマクロにしました。

「Excelブックを開いてシートをコピーする」ところからスタートです。でも、動くと感動。久しぶりにプログラミングの面白さを実感しました。

細かい設定がうまくいかなくてハマっちゃったりして、完成までにものすごい時間がかかってしまいました。

例外処理もほとんどしてないので、ほんとに基本的な動きだけ。いくつかの月次のExcelブックを開いてシートをコピペして、ソートしたり切り取りしたり、列の挿入とvlookupしてからpivot作る、みたいなマクロです。

マクロをあげたら同僚に感謝され、勉強会に発展

この作業は私以外の同僚もやるのでマクロを渡したところ大絶賛されました。

私を含め、これまでマクロを組める社員がいなかったのです。

「自分でも組めるようになりたい」

という声もあり、同僚が自動化させたい作業をVBAで一緒に組むという勉強会を始めました。

ペアプログラミングと言ったらかっこいいですが、私が作った第一弾のマクロをコピペしたり、ググりながら少しずつやりたい動きをさせていくような、そんな勉強会。

何かを新しく学ぶって楽しいですよね。私も楽しみながらどんどん学んでいる同僚の姿を見て、あぁやってよかったなぁと思うのでした。

さて、次はどの作業を自動化しようかな…

こんな記事もおすすめ