独学でVBAを勉強して、チーム内の仕事を効率化したはいいものの、徐々にメンテするファイルが増えてきたり、エラーで動かないみたいな問い合わせが増えてきて段々プレッシャーと不安に押しつぶされそうなあなた。
そんなあなたにメチャクチャオススメな本があったので紹介します。
かく言う私も↑みたいな状況で、自分が作ったマクロのエラー対応であったり、メンテで一日が終わることもよくあり、
「こんなことなら、VBAに手を出すんじゃなかった…」
そういう風に思う日もよくありました。
そんな不満や不安を払しょくしてくれるのがこの本!
私がごちゃごちゃ言うより、この本の前書きとあとがきを紹介したほうがこの本の本質が伝わると思います。
なんとなく不安を抱えながら、コードと向き合っている。毎日、やるべきことに追われている気もするし、気が付くとVBAが重荷になってきている。
~中略~
このような状況はおこるべくして起こるものだと言えます。
なぜなら、VBAをまなぶための本やインターネットの情報のほとんどが「動くコードを書くこと」に終始しているからです。そして、その結果「動けばいい!」という向き合い方が根付いている人があまりにも多い。
~中略~
うっかり気を抜くとぐちゃぐちゃに絡み合いそうな中を何とか道を整えながら、しかし目的を見失わずに着実に前に進む、そんな生々しい技術が求められます。
~中略~
本書は、そのための知恵と知識を詰め込んだ一冊となっています。
VBAを学び続けるのは本当に大変です。
ほとんどの方が、習得のために個人的に投資をしたり、工夫をして時間を捻出したり、、、しかしながら、そのスキルを現場に活かそうとしても、悲しいかな周囲から十分な協力や評価を得られないこともすくなくないんですよね。
~中略~
VBAは間違いなく皆さんの「働く」の価値を上げるための、最短の近道、そして会心の一手となり得るのですから。
では、この本がなんで脱初心者にオススメか紹介していきます。
- VBAを作ることができて、さらに腕を上げたい人
- 独学ゆえに自分のコードに自信が持てない人
- VBAを布教したい人
- VBAの基礎の基礎が知りたい人
- 体系的にVBAを習ったことがある人
- VBA上級者
目次
VBAの基本的な設定が網羅されている

マクロを独学で勉強すると、設定面は後回しになって、とりあえずコードを書いていく人が多いと思います。
かく言う私も、設定は特に気にせず、コードを動かすことばかりに集中していました。
でも、それって結構もったいなくて、どうもったいないか、この本を読めば理解することができます。
例えば、イミディエイトウィンドウの使い方一つにしても、誰かにイミディエイトウィンドウっていうものがあってね、、、みたいに教えてもらえないとその存在すら知ることができません。
で、巷に溢れているVBA、マクロの本は大体コードの書き方に終始しており、設定面にスポットを当てている本は少ないです。あったとしても、Tips的な感じでちょこっと触れられているだけです。
反面この本はイミディエイトウィンドウの使い方を含め、VBAマクロの基本的な設定や機能の解説がされています。
独学ゆえに抜けがちな知らないともったいない機能や設定ばかり紹介されています。
知っている人からしたら当たり前の機能かもしれませんが、マクロを体系的に学んだことが無い人はたぶん知らないことがほとんどだと思うのでこのタイミングで絶対に知っておいた方が中級者への近道だと思います。
バグの探し方がこれでもかと紹介されている

長年、独学でマクロやプログラミングをやっているとバグに出くわした時の対処法っていうのがぼんやりとできてくると思います。
ただ、その対処法が効率的な方法かどうかは??な所があります。なぜなら他の人がどうやってバグの対処をしているか具体的に知らないからです。
この本ではバグの対処法まで解説されています。
基本的なバグの探し方から、ネットでどうやって検索したらいいかまで実務目線でバグ対処法が紹介されているので、この点は中級者に限らず初心者の人でも参考になると思います。
また、このバグの対処法と言うのはVBAマクロに限らず、他のプログラミング言語にももちろん活かすことができるので、めちゃくちゃ役に立ちます。
VBAを作る前の設計段階の進め方が紹介されている

独学でVBAマクロを勉強して業務で使っている場合って、わりかし行き当たりばったりで作っていくことって多くないですか?
で、それがどんどん大きくなっていって、最終的に完成したはいいものの、ものすごいコード数になって、他人が読んだら全く理解できないようなできあがっちゃいます。
私もいつもそうで、他人に引き継ぐときはいつも苦労していました。
そうならないように、この本ではVBAマクロを作る前の段階からの”設計”について解説がされています。
例えば、マクロを作る前にそもそも元ファイルの形を綺麗にするであったり、表記の揺らぎを防ぐ工夫であったり、元データの整理からその後どういったVBAマクロを作っていけばいいのか一連の流れが解説されています。
この章を読んで思ったことはやっぱり行き当たりばったりで作るより、立ち止まって整理してから作ったほうがいいんだなという当たり前のことに気づかされました。
実務にすぐに活かせる読みやすいコードの書き方を習得できる

やっぱり独学でVBAマクロを勉強していると、自分が欲しいコードをネットから引っ張ってきて、強引につなぎ合わせることが多くなります。
もちろん自分で考えながら書くこともありますけども、ベースとなるのは人が書いたコードになります。
なので、読みやすさとかメンテのしやすさは二の次になります。
でも、独学者も好きでこの状況に陥っているわけではなく、漠然と読みやすい、メンテがしやすいコードを書いた方がいいのは理解しているけど、そういった切り口の解説本やネット記事ってそこまで数が多くなく、なかなか出会う機会が無いんですよね。
この本ではそういった読みやすいコードの書き方が1章丸々使って解説されています。
では、読みやすいとはどういうことかと言うと、簡単に言うと…
- シンプル
- 適度にコメントで補足されている
- コードが少ない
- 余計な回り道をしない
これらの要件を満たすコードのことを指します。
私自身、「とりあえず動けばいいっしょ!!」という考え、前提でVBAマクロを作ってきたので、この章は目からうろこがポロポロポロ落ちましたね。
自分のコードを人に見せる時ちょっと恥ずかしい人、自信が持てない人にオススメな章ですね。
変化に対応できるバグが出にくいコードの書き方が紹介されている

「あの、昨日まで動いてたんですけど、急に動かなくなりました」
「エラーが出て使い物にならないから早くなおせ!」
「こんなことならマクロなんか使わず、自分でやったほうが早いわ」
こんな心ない言葉を浴びせられた人も少なくないと思います。
何が言いたいかと言うと、VBAマクロを渡す相手というのはえてして、斜め上の使い方をしてくるという事です。
そんな使い方あったか!みたいな感じで平気で前提を崩して使いやがります。
まぁ、そこまで込みで設計できていない私の力不足であるというのは否定できないのですが、独学でVBAマクロを勉強している人はこういう斜め上の使い方、または変化に対応するコードを書くのは苦手だと思います。
さっきも言った通り、とりあえず動けばいい精神なので、プラスαユーザーの行動をカバーできるほどの余地がコードに含まれていないのです。
具体例で言うと、シート名を変えられたりとか、列を挿入されたりとか、項目名を変えられたりとか…
この本ではこういった”変化”に対応できるコードの書き方が紹介されています。
ネットに転がっているコードは基本的には動くことに焦点が当たっているので、こういった変化をカバーできていません。
このネットのコードを元にしているから日々、ユーザーからの心無い言葉を浴びる日々が続きます。
変化に対応できるコードが書けるだけで、アホみたいなやつとのやり取りを減らすことができますよ。
チーム内でどうやってVBAを共有するか理解できる

この本は一貫して、VBAマクロを資産と見なすというスタンスで書かれています。
良質なコードを蓄積していき、それを流用することですぐにわかりやすいコードが書けるようになる。
その資産化を実現するためにどうやってチーム内でVBAマクロを共有するか、色んなツールを使って紹介されています。
私は独学でVBAマクロを勉強していて、一人で作って一人で渡していたので共有という事をほとんどしていませんでした。
ただ、私は思うところがあり転職することになり、その時めちゃくちゃ苦労しましたね。VBAマクロをほとんど触ったことが無い人への引継ぎと自分が書いたコードの読みにくさに。どれぐらい読みずらいかと言うと自分で書いたコードなのに解読するのに1日かかるとかざらでした。
もっと早くこの本に出会っていればあんな苦労しなくて済んだのになって思います。
そういう被害者を出さないという意味でもこの本はオススメです。
中級者になるためには人の意見が大事
やっぱり自分ひとりで勉強していると、どうしても成長が鈍くなってしまいます。
身近にアドバイスをくれる師匠がいれば簡単に成長できると思いますがそういう人がいない場合はこの本を読むことをおススメします。
”動かす”ことは割と誰でもできます。
ただ、”読みやすく”であったり、”シンプル”になると難易度は格段に高くなります。
成長スピードを上げるという意味でこの本はオススメなので、私と同じような悩みを持っている人に届くことを祈っております。