壁を壊したい人にも、壊しちゃった人にも

こちらの本は、株式会社プランノーツ代表、タカハシ(@ntakahashi0505)さんの著書です。

まったくの初心者向けの本ではありません。少なくとも、VBEを開いてコードを書いて動かしたことがあって、変数宣言やプロシージャ、If文などの基本的な構文を知っていることが前提です。

今まで知らなかったVBEという画面にふれて、「プログラミング」という世界に飛び込んだ初心者さんは、最初は楽しくても、そのうち厚い壁にぶち当たりますよね。その壁をブレイクスルーするための手助けとなる、そんな本だと感じました。

初心者を超えるための厚い壁

最初は誰もが初心者で、スタートは同じです。マクロの記録とか、コピペとかから、ちょこっと自分の目的に合わせて変えて、というところから始めると思うんです。それだけでも、仕事で効率化できることはありますからね。

ただし、もうちょっと先に進みたくなったとき、壁に直面します。

  • 「コピペの改変はできても、1から書くことができない」
  • 「エラーの対処法がわからない」
  • 「仕様を変えるほどの変更は難しい」

などなど。この壁が、厚いです。おそらく、ここで諦めてしまう人は多いですよね。

残念ながら、この壁をかんたんに飛び越えられる魔法はありません。どこまで続くかわからない厚い壁を、ちいさなスコップで地道に削っていくしかないんです。これは恐らく、プログラムを組めるようになった人はみんな経験していることだと思います。

独学で暗中模索の結果、遠回りになることも

たぶんほとんどの方がそうだと思うんですが、ExcelVBAって、誰かに教えてもらうことは少ないと思うんです。私も、最初の入り口を先輩に教えてもらいましたが、そこから先は独学でやってきました。

自分で調べて解決するのはプログラマには必要不可欠な素質ですし、習得する方法としては、独学はある意味王道です。でも、それでずーっとやっていると、近道の存在に気づかなかったり、第三者視点に欠けたコードになっていたり、ということが往々にしてあると思うんです。

初心者を抜けていろいろ組めるようになってきて、さらに上の道のりを目指す途中で、「えっ、こんな便利な機能あったの!?」とか「こうやれば一発でできるのにめっちゃ遠回りしてた…」とか、そういうことがたくさんあるんです!!(ありますよね? 私だけじゃないよね??)

私なんて、最初、結構長いことイミディエイトウィンドウの存在を知らなくて、変数の中身確認するのにいちいち MsgBox 出してましたからね??

暗闇の中の道案内になってくれる

もちろん、回り道は自分の血肉になるので決して無駄ではないのですが、道に迷いながら壁を壊して回った私からしたら、「うわー、これ、もっと早く知ってればなぁ」ということは、まだまだボロボロでてきます。この本は、そんな「知りたかった」ノウハウを教えてくれています。

壁を掘り進めるのは自分自身にしかできませんが、これから壁を壊す方には真っ暗闇の中を光る妖精さんが道案内してくれる、すでに壁を壊しちゃった人には、「こんな近道も、こんな方法もあるんだよー」と教えてくれる、そんな本だと思いました。

内容紹介

やたら前置きが長くなってしまいました(すみません)。ちょこっと中身を覗きながらご紹介します。

写真は著者のタカハシさんに許可を得て掲載させてもらっています。

第1章 脱初級への第一歩は「道具であるVBE」を使いこなすことから

もうほんと、「自分、使いこなしてねーな!!」と反省しましたよね。プロシージャ間を移動したりジャンプしたりするショートカットとか…! めっちゃ便利じゃん!!!

第2章 イミディエイトウィンドウの神髄

Debug.Printしか使ってなかったアカウントがこちらになります…_(:3 」∠)_ コマンド打てるとか…めっちゃ…便利じゃん…。。

第3章 バグを制するものはVBAを制する

エラーに対する取り組み方、という内容の章ですね。私もこのテーマに関しては自分で記事を書いたことがあります。

エラーは頻繁に出るものですし、ほとんどが「このメッセージが出たら原因は絶対コレ!」というのが明確にわかるものでもありません。でも、避けては通れない道です。初心者さんにとっては、ここが結構厚い壁ですよね。そんな、エラーメッセージを元に原因を突き止めるためのヒントや、具体的な方法について解説されています。

第4章 システムの成功と失敗の分かれ目は設計にあり

この章は、VBAを組む前段階のお話。プログラムを組みやすい、その後も保守しやすいシステムを作るために知っておきたいこと。ここで、Excelシート上でもデータベース形式でデータを扱っておくということに言及されています。

ちょうど同じ日(運命☆)に発売された、自著のAccess本のレビューをタカハシさんが書いてくださったのですが、

私はExcelユーザーはみんなAccessを学ぶべきだと思っています。

というのも、お仕事で本当に「データ」の力を最大限に活用するのであれば、データベースの知識は必須中の必須なんです。

世の中の全てのホワイトカラーがデータベースをきちんと理解してお仕事をしていたら、それはもう大いに生産性が上がることでしょう。

出典:「Accessデータベース 本格作成入門」は親しみやすいイラストと解説で学べる初心者向け入門書

と、仰っています。Excelでシステムを組むなら、データベースを知っておくと全然違いますよね。

第5章 できる担当者のコーディングは発想からして違う

この章は、プログラミングにおける設計のお話。

やっぱり最初の頃って、1つのプロシージャにずばーっと書いてしまったりするんですが、あとあと保守しにくくなっちゃいます。プログラムの汎用性のある部分を「部品」として分割させると、テストも楽だし再利用できるしいろいろ美味しいですよね。

第6章 リーダブルコードでVBAを資産化する

リーダブルコード! めっちゃ大事!!! コードを読みやすくするため、変数の宣言方法や変数/プロシージャの名前のつけ方など、コーディングのルールを決めておきましょう、という内容です。

私もつい先日、命名規則について記事を書いたのですが、ホント言うとこれは「最初に知っておくべきだった」と思っています。他の言語とかチームでプログラミングする人には当たり前のことかもしれないんですが、独学派が多いVBA界隈ではかなりこのへん知らなくてなんとなくやってる人が多いと思うんです。

これから始める方はホント、この章、めっちゃ大事!!!

第7章 「変化」への耐久性を持たせるためのVBAの作法

自分以外の人が使うシステムを組むことになったら、必ず直面する問題。その対処法や、それを見越してのシステム設計について。

自分で作って自分だけで使うものは、問題って起こりにくいんです。「これをやったらダメ」ってことを知っているから、エラーが起きない使い方がわかるんですよね。でも、第三者が使うと、想像もしなかったことが起きますからね。行列削除されたり、シート名変えちゃったり。ダメって言っても、やりますからねw

他にも、データの読み込み先が変わったり、「ここは変わらないよ」と言われてたことがあっさり変わったり。涙が出るほどあるあるですね。私も完全に同業種なのでよくわかります! 酒を飲み交わしたい!!

とにかく、一度作ったら終わりじゃなくて、使っていくうちに絶対直さなきゃいけないんです。その修正を楽にするためにも、事前のシステム設計と前章のリーダブルにするルールはとても大事!

第8章 VBAは個人作業のみならず「チーム」にも革命をもたらす

最後に、VBAシステムの運用面に関することや、その付加価値について。

ExcelVBAのシステムは、Excelさえインストールされていれば動くので、手軽に社内でシステムが組めちゃいます。でも、導入は手軽でも、実用に耐えるシステムの構築・運用は簡単じゃありません。「使う側」と「作る側」のギャップが大きくなりがちで、さらに社内でやっているからこその甘えもあったりして、「作る側」のブラックボックス化は深刻な問題です。

せっかくの良いツールを上手に使い続けていくためにも、「個人」ではなく「チーム」で運用したほうがいいし、そのためにやるべきこと、知っておくべきこと、などが紹介されています。

おわりに

私は、自分でもVBAの本も書いてますし、さすがに初心者とは名乗れないと思っているので、この本は「知ってることが多いかな?」と思って、知識の再認識・再確認を期待して読み始めました。そしたら、知らないことってまだまだ全然あるんですよね。反省とともに、とても勉強になりました。

初心者から脱却したい人のためにとってもおすすめ!!! なのですが、中級者以上の方にも、気づかせてくれることがたくさん! と、思いました。

最後になりますが、タカハシさん、書籍の出版おめでとうございます。次も待ってます!ヽ(゚∀゚)ノ

  • このエントリーをはてなブックマークに追加
  • follow us in feedly 636
  • RSSを登録

公開日:2017/04/28


コメントを残す




*印は必須項目です。コメントは承認制ですので、反映までしばらくお待ち下さい。(稀にですがスパムの誤判定にて届かないこともあるようですので、必要な際はお問い合わせからお願い致します。)


back to top