マクロ(VBA)に興味あるけど、自分みたいな文系が独学で勉強できるかなって心配に思ってる人多いと思います。
まず、マクロにチャレンジしようとしただけであなたはかなりえらいです。私は嫌々マクロの勉強を始めましたが、積極的に興味を持っているだけで絶対に習得できると言っても過言ではありません。
で、プログラミングの全くの素人でもマクロ(VBA)は作れるかっていう疑問ですが、結論を言うとだれでも作れます。
これは断言できます。
しかも、マクロ程コスパのいいスキルは無いです。少しの勉強で誰でも作れるようになって、自分の業務を効率化できちゃいます。簿記3級ぐらいのコスパのいいスキルになっています。
じゃあ、具体的にどうやって勉強していけばいいかわからないと思うので、今回は私が実践した勉強法を紹介していきます。
目次
入門書は1冊だけ読めばOK!
業務効率化が叫ばれて久しい為、マクロ(VBA)の入門書は星の数ほど出版されています。
ってなるとどれを選んだらいいかわからないと思いますが、マクロぐらいだったらどの入門書でも大差ないと思います。
私が読んだ本はこれです。
(2023/12/05 17:08:27時点 Amazon調べ-詳細)
会社近くの紀伊国屋で目についたのでこれにしました。内容は普通でした。難しくも簡単でも無く入門書としては過不足がない内容でした。
どうしても、プログラミングというかマクロにアレルギーがあるのであれば、漫画から入るのもありだと思います。
この本は読んでみた感じ導入にはちょうどいいと思います。
とりあえず、入門書1冊読んでください。
で、入門書を読む際のポイントですが、最初から最後まで全部理解しようとしないでください。中には難しいわりに、実際は殆ど使わない内容が解説されていたりします。
どれが使ってどれが使わないかは実践してみないと判断できない部分ではありますが、全く理解できそうにない部分は飛ばしてわかりそうな所だけ読むことをおススメします。
難しい所で立ち止まってしまうと、絶対に自分にはプログラミングなんて無理なんだって諦めてしまうのでスルースキル大事です。
入門書を読み終わったらとりあえず作る!
入門書を読み終わったらとりあえず、自分の業務用に1つマクロを作ってみましょう。
いきなり作れないよ!って思われてかもしれませんが、入門書を1冊読み終わったら簡単なマクロだったら作れるようになっています。
私が初めて作ったマクロはシートを一つずつブックにするマクロを作りました。
初めてこのマクロが動いた時はメチャクチャ感動しました。あの感動は今でも覚えています。
ここのポイントは、この達成感と感動を体感してもらう事です。この達成感を感じることができれば、マクロ製作者としてのスタートを切ったようなものです。
この達成感が無いとどうしても後が続かなくなってしまい、すぐにマクロと距離を取ってしまう事になります。
マクロ(VBA)を作る時は必ず意図を書く!
自分でマクロを作っていると、作ってる時は楽しくてゴリゴリコードを書いていけるんですね。
で、問題なく動かすこともできて完了!ってなるんですが、後日、数か月後とかにそのマクロでエラーが出て、チェックしないといけなくなったとき、自分が書いたコードの意図がわからなくて、愕然とすることがあります。
私もエラーが出たので修正しないといけないのですが、自分が書いたコードの意図が全く分からず、なんでこんなコード書いてるの?これはどこに影響してんの?と冷や汗をかきながら一日かけて修正作業をしたことがあります。
そういったことを防ぐために必ずマクロを作る時はできるだけ細かくコメントアウトでコードの意図、このコードは何をしているのか書くことをおススメします。
このコメントは未来の自分を必ず助けてくれますし、仮に他人があなたのマクロを見た際もすぐに全貌をつかむことが出来るようになります。
マクロを作ってる時はコードを書くことが楽しくてコメントは後回しにしがちですが、必ず書くようにしてください。
人が作ったマクロを見まくる!
次にどんどんいろんなマクロを作りたいという気持ちが出てくると思います。
その時近道になるのが、人が作ったマクロを見る方法です。プログラミングの有名な格言で車輪の再開発はするなという言葉がありますが、すでに誰かが作っているものがあるならそれを使うほうが断然コスパがいいんですね。当たり前の話ですけど。
なので、他人が作ったマクロを見まくりましょう。
ただ、ここで一つ注意があるのですが、人が作ったマクロを全文読み解けるようになるのはかなりの知識が必要になります。
自分で作っていけば分かると思いますが、作った本人しかわからないような意図が反映されたコードというものが存在したり、あってもなかったもどちらでもいいコードが紛れ込んでたりします。
なので、全文を理解しようとすると、これまた詰まってしまう事になるので、オススメな方法が部分的にざっくりとパクるっていう方法ですね。
細かく見ちゃうとどうしてもわからない部分が出てきて詰まっちゃうので、こういうループの仕方があるんだとか、こういう書き方をすればわかりやすいんだとか、ここで別のコードに飛ばすんだとか…内容と言うよりかは概念的な所をパクるのがオススメです。
答えはネットに転がってる!
ここまできたらあとはもうネットで調べまくりながら、作っていくとどんどん力をつけることができます。
今の時代便利になっていて、大体の事はネットで調べると答えが転がっていたりします。自分でうんうん考えることも時には大切ですが、ネットで答えを探す方法と言うスキルを磨くことも同じくらい重要です。
あともう一つ大切なことが、さっき言った事とちょっと矛盾するんですけど、エラーが出た場合は出来るだけ自分で原因を突き止めることをおススメします。
エラーは避けては通れない道です。
ただ、根気強くエラーの原因を自分の力で直していくと徐々にあたりがついてくるようになります。そうなるとエラーが出てもたぶんここだろなとすぐに直せるようになります。
エラーを直す作業だけは近道はしない方がオススメです。
何時間も探し回ってやっとエラーの原因を見つけた時はオナ禁3日ぶりぐらいの快感を味わえますので、ドMの人にはオススメです。
で、ここまでくると、マクロで培ったプログラミングの基礎を他のプログラミング言語に活かすことだってできちゃいます。
私の場合はPythonに移っていきました。
ホームページに興味がある人はJavaScriptとかPHPにもスムーズに移行できると思います。
こうやって黙々と勉強を進めていけばスキルは着実についていきますので一緒に頑張りましょう。