Excel VBAを使って作業を自動化するには・・・という本ではなくて、自分で作ったExcelVBAのコードを、可読性が高く、メンテナンスしやすいものにするにはどうすればよいのかという、コード記述の作法について、初心者向けに解説された本です。
2019年に出版された本ですが、表紙がなんとも牧歌的といいますか、表紙だけを見たとき、Excel97あたりのマクロ本?はたまた、20世紀のCQ出版から出た技術書?のような印象を受けました。でも、温かみのある、初心者にやさしそうな感じですね。確かにわかりやすい内容です。
プログラミングをメイン業務とされている方は、作成したコードは、自分以外の人にもわかるようにと、業務を始めた初心者の段階で、見やすいコードの書き方の教育を受けたり、また、関わっているプロジェクト毎に、作成するコードの書き方ルールが細かく規定されているのかもしれません。
今回取り上げた本の対象読者は、Excel VBAで自分のやりたいことは一通りできるのだけれど、使うのは自分だけなので、動けばOK!コードの見やすさ、メンテナンスの良さなどは特に考えていなかった・・・という人が、一歩進んで、他の人に引き継ぎたい、自作のExcelマクロでの自動化ツールを、会社の正式ツールとして育てていきたいと考えている人向けに書かれています。
表紙にも次のような言葉が。
・「動けばOK」から卒業しよう!
・生産性が上るコードの書き方
・変更やトラブルに強いコードを書くための基本を身につけよう!
著者は立山 秀利氏。氏の著作はとてもわかりやすく、過去にも何冊も読ませて頂き、文字通り「いつもお世話になっております」とご挨拶させて頂きたくなります。
私の浅い読書経験では、Excel VBAに的を絞ったプログラミング作法の解説本は、以前紹介しました「Excel VBA を実務で使い倒す技術 高橋宣成著 秀和システム 2017年4月 発行」くらいしか思いつきません。
この本では、プログラミング作法と共に、Excel VBA のコードを書くためのツール「VBE」についても、その使い方を詳しく説明されており、目からウロコが落ちまくったのを思い出します。
話を今回の立山 秀利氏の「実務で使えるExcel VBAプログラミング作法」に戻しますが、私の読後感では、上記の高橋宣成氏の本よりも、さらに初心者向けに書かれているのではという印象です。
最初は、コードの改行や、字下げ等の見た目の改善から入り、
・プロシージャや変数の名前の付け方、漢字を使うのはどうなのか?
・コメントの入れ方
・変数は宣言して使う
・数値の直接指定(マジックナンバー)は駄目。
などを経て、プロシージャの分け方、SubまたはFunctionプロシージャの使い分け、Excelシートでのセル位置の指定方法、withステートメントを使ってのコードを短くする方法など、段々と高度なテクニックに移っていきます。
そのどれもが、ただ単に「こうしなさい」ではなく、やらなかった場合に誘発するトラブルについてもわかりやすく教えてくれるので、記憶に残りやすいです。
特に、変数名については、その命名方法が細かく説明されており、自分のやり方はまだまだ浅いなと反省させられました。
本書の冒頭で、「半年後の自分は他人」との言葉があり、人に見せなくても、自分自身が後から見てすぐに理解できるコードというのは大切です。私自身、修正の必要が出てくるたびに一からコードの動作を追っていかないと理解できないというのを何度も経験しており、時短のために作ったExcelマクロなのに本末転倒・・・と何度思ったか知れません。
今回読んでみて、「実務で使える」という意味を改めて考えさせられました。まだまだ修行は続きます。