MacroCat@Siro - ExcelVBA・PHP・フリーランス

ExcelVBA、WEBスクレイピング、その他技術に関して書いていきます。

ExcelVBAのプロが本気でおすすめする本をご紹介

読者になる/フォローする

f:id:sirosiro346:20171105221956p:plain

こんばんわ、siroです。
昨日の書いた記事がここ最近で一番アクセスがあって驚いています。振り返りって大事なんですね。
www.macrocat.net


さて、最近よく

どのようにExcelVBAを極めていったのですか?

と質問される機会が増えてきたので、習得までに至った経緯とおすすめの本(現場に必ず持っていっています)をご紹介したいと思います!

ExcelVBAとの初めての出会い

私が初めてExcelVBAに出会ったのでは、前に勤めていた会社のプロジェクト開発です。
ExcelVBAを使ったシステム開発をしたのが初めての経験でした。

それまではWEB開発がメインだったので、お作法もよくわからないままアサイン。
よくわからないにもかかわらず、まさかの3名体制のプロジェクトでした (PM一人、PL一人、プログラマ一人)

え、作るの俺だけ?まじで?

と思ったのですが、一人で作り上げることを学んでほしいという上司の思いもあり、開発することに。
※この上司には本当にお世話になったので今でも頭が上がらないのですが・・・笑


VBAの基本の書き方を学習
 (変数、クラス宣言、if、for、foreach、with etc...)
・クラスモジュール、標準モジュール、ユーザフォームの違いについて学習
・セル操作の学習
・マクロの記録でソースコードを自動で出力して利用する方法の理解
・エラー処理の書き方学習

上記のようなことを自分で調べたり、上司に質問したりしてなんとかシステムを作り上げた。
というのが最初の経験でした。


なんとか作り上げたといっても、ソースコードは見やすくなかったですし、開発の速度も今思えばとても遅かったと思います。
4ヶ月ぐらいの開発規模でした。

転機

実は、ExcelVBAを使ったシステム開発!はそのあとあまりやっていませんでした。
ただ、WEB開発プロジェクトに参画した際に必ずと言っていいほどVBAで自動化ツールを作っていました。

データ移行ツール、テストデータ自動作成、自動化テストツール etc...

特にやってくれと頼まれたわけではなかったんですが、それってVBAでいけるんじゃ・・・と提案したらそれが通って作るということが多かったですね。
みんな作業が楽になるのは大歓迎なのでそういった提案は通りやすかったんですねきっと。笑

ただ、この時も開発速度、ソースの見易さ、ExcelVBAに対しての意識はそこまで高くなかったと思います。
速く、綺麗に(後から見てもわかるように)、正確にというのは全然意識できていなかったと思います。
便利なツールを導入(もしくは作って)プロジェクトを円滑に進めなければ!という使命感を優先してしまっていたのかもしれません。


また、仕事量は多かったので自動化ツールを作る暇がない時もあったんですが、費用対効果を考えて導入すべきだと思った時は提案していました。
今思えばそれが自分の忙しさに拍車をかけていたような・・・笑


そういった生活を続けていくうちに、
もっと早くきれいなコードが書けるようになったら自動化ツール提案をもっとできるのになー
と悩み、調べることに。


ExcelVBAを書いているブログを読み漁る日々を何日か続け、以下ブログに出会います。

tonari-it.com


ここのブログのVBAの記事の見易さは異常だと思います。笑
それでいて体系的になっていて、とても実務的。

VBAがそれなりにわかる人向けな気もしますが、1から読んでいくと習得はとても速いと思います。(もっと早く出会いたかった・・・)

そして、さらに調べて本を出していることを知ります。

f:id:sirosiro346:20171110164950j:plain

この本は、VBAを書く人全員に読んでほしいですね。
本当に書くのが速くなるし、ソースコードを財産にできるので開発をするたびに手札が増えていきます。

効率的に、やればやるだけ学習できることをExcelVBAで実現するためのバイブル

といっても過言ではないと思います。


ソースって書いたら忘れたり、その時だけ必要なものを調べて書いていたりするので頭に入れるには何度も何度も書く必要があるんですよね。ふつうは。
ただ、その何気ない作業も少しのエッセンスを入れるだけで効率的に覚えたり、別のソースを書くときに流用できるよう作るコツがあるんですよ。
会社でソースを書いていた時は、そこまで詳細なテクニックを教えてくれる人がいなかったので、本を読んでとても感動したのを覚えています。


私はランサーズでスポット常駐というサービスを活用し、スポット的に企業に行きExcelVBAの開発をしているんですが、現場には必ずこの本をもっていっています。
VBAのエディタの設定方法が体系的に書いてあり、実務に即したサンプルコードがのっているので、
あれ?どうやるんだっけ?
と悩んだときに即対応できるからです。

私が持ってっている本はこちら。
綺麗に使っているつもりなのですが、本の下の方が少しすれています・・・笑
f:id:sirosiro346:20171105225731p:plain

最後に

私はまだまだExcelVBAを完璧にマスターしたとは言えません。
ですが、上記紹介したブログや、そのブログの内容をぎゅっとまとめた本を活用し開発がとても速く正確になったのを実感しています。

ExcelVBAの本については、10冊以上読んでいますがダントツでこの本がおすすめです。
少しでもExcelVBA開発に携わっている方は是非読んでみてください。

CONTENTS

第1章 脱初級への一歩は「道具であるVBE」を使いこなすことから
第2章 イミディエイトウィンドウの神髄
第3章 バグを制する者はVBAを制する
第4章 システムの静甲と失敗の分かれ目は設計にあり
第5章 できる担当者のコーディングは発想からして違う
第6章 リーダブルコードでVBAを資産化する
第7章 「変化」への耐久性を持たせるためのVBAの作法
第8章 VBAは個人作業のみならず「チーム」にも革命をもたらす

Amazonはこちらから

https://www.amazon.co.jp/dp/4798049999

ではではノシ