こんにちは、hokkyokunです。
VBAの書籍ってたくさんありますよね。
レベル別にVBAの本をまとめましたので紹介します。
hokkyokunと申します。
大企業でもなければ、スタートアップでもない普通の会社で、
IT系の業務もやっていない、ただのサラリーマンです。
非効率の塊のような部署で時期によっては三桁の残業をしていたのですが、必死に独学でVBAを覚え、数十時間の残業時間を削減した経験があります。
現在は社内SEとして他部署のマクロVBAの開発を行ったり、自身の部署の改善を現役で行っています。
初級者編
エクセルVBAをさわったことがない。
興味があるけど何から始めればいいかわからないという方向けの書籍です。
Excel マクロ&VBA [実践ビジネス入門講座]【完全版】 第2版
この本、私が最初に購入した本です。
マクロとVBAの違いも判らず、コードを記述する場所も知らないし、マクロの記録って言葉もわからない状態で買ったのを覚えています。
基本的な概念や用語、エディターの使い方からブック、シート、セルの扱い、重要なメソッド(autofilter,sort,find等)の使い方も網羅しているので、この一冊をしっかり理解すれば業務レベルの操作には困らないです。
Excel マクロ & VBA やさしい教科書[2021/2019/2016/Microsoft365対応]
初心者用にマクロを初めて触るところから実務レベルまで網羅している書籍です。
この本の特長として、主題が細かく区切られています。例えば「Valueプロパティでセルに値を入力する」とか。
よって、実務をしながら「これってどうやってやるんだっけ」という疑問に対し、逆引き的に使えるようになっています。
実際にプログラムを作りながら学習するのには最適の一冊です。
図解! Excel VBAのツボとコツがゼッタイにわかる本 “超”入門編
他の書籍はどちらかというと辞書的に「こういうことするためにこうコードする」とか、「Findメソッドとは○○である」という書き方をしているのに対し、
この書籍は物語的に「マクロとは何か」から「これができたら次はこれをやってみようと」ストーリーに則って学習していくスタイルです。
よりこちらの方が初心者向けで、PCが苦手な方でも入りやすい構造になっています。
一方で、情報密度としてはどうしても下がってしまうので、これ一冊でVBAをマスターするのは少し厳しいかもしれません。
プログラミングで挫折経験のある方やPCに苦手意識を持っている方向けの書籍です。
入門者のExcel VBA 初めての人にベストな学び方(ブルーバックス)
数行書いて動作を確認するというVBA(というかプログラミング全般)の基本となる概念で書かれている本です。
実務で使うプログラムを作る工程も勉強できるので、プログラミングとは何かを学ぶには最適の一冊です。
ただ、これもボリュームとしてはそこまで多くないので、辞書的な本がもう一冊は必要かも
中級者編
ある程度コードは書けるようになり、実際にプログラムも数個以上作ることができるようになった人向けです。
この段階の人はきれいなコード(読みやすく、修正や追加のしやすいコーディング)を書くためにどうすればいいかを学ぶと良いでしょう。
また、ある程度かけるようになるので、逆引きやコードレシピがあると学習やコーディングのスピードが上がります。
Excel VBA 逆引き大全 600の極意 Microsoft 365/Office 2021/2019/2016/2013対応
逆引き辞書です。
例えばワークシートを追加したいなと思ったときに、ネット検索をしたり、初心者向けの書籍をなんとなく読み返していては時間と労力の無駄になる場合もあります。
そんなとき逆引き辞書があると便利です。
私もよくお世話になりました。
ある程度コードが書けるようになっているのであれば、一冊手元に置いておくと良いでしょう。
Excel VBAコードレシピ集
コードレシピ集です。
これも辞書的な役割ですが、「こういうことしたい」というアイデアに対し、模範的なコードを書いてくれています。
パーツ的にそれらを組み合わせて、プログラムを作っていくことができます。
ちゃんとした人のコードも学べるので、きれいなコードを書く練習にも役立ちます。
ExcelVBAを実務で使い倒す技術
中級者になったらまず最初に買うことをお勧めします。
この方のエディタの設定方法を知るだけでも半分くらい元が取れる(笑)と個人的には思っています。
まさか、中級レベルの技術を持っていながら、エディタ真っ白のまま使ってないですよね(笑)。エディタいじるだけでコーディング速度めっちゃ上がりますよ!!
個人的に、コードは「動けばいいや」を卒業させていただいたありがたい本です。
上級者編
VBA開発に慣れ、きれいなコードを書く意識が十分についた状態からさらに高みを目指すための書籍です。
上級者になるためには、大きく三つの克服するべき課題があります。
- オブジェクト指向や、スコープの範囲など高度なプログラミングスキルが身についている
- 開発者の手元を離れ、別の担当者が使っても大丈夫な状態にできる
- エクセルを超えて、Outlookやディレクトリ管理、時にはウェブスクレイピング(インターネットから情報取得)まで、操作する範囲を自在に拡張できる
パーフェクト Excel VBA
VBAの構造を理解するのに適しています。
体系的にVBAという言語を整理することができます。
今まであやふやに理解していたモジュールやライブラリなどの概念、クラスモジュールの考え方など、VBAをエクセルを動かすスクリプトから、いちコンピューター言語に昇格させるための良書です。
Excel VBA でちゃんとしたアプリを作る本
この書籍は中級者向けとするか迷いました。
理由はこの本のコンセプトが「きれいなコードを書く」であると私には感じられたからです。
ただ最終的にこれは上級者向けと判断しました。
なぜならこの本は「他人にプログラムを使わせる」ことを意識しているからです。
個人的に難しい構文やクラスを使うことだけが上級者ではないと考えています。
むしろそういった小難しい技を使うよりも誰が使っても、どんな状況で使っても、エラーを出さずに安全に処理ができることが最も上級者とそうでないものを分けるカギだと考えています。
そんな安全にプログラムを作るための技を習得できる本です。
プログラマーの本気がExcelを覚醒させる 超絶Excel VBA
最初に浮かんだキーワードが「VBAの限界突破」です。
正直そこまでVBAでやるか?というのが印象ですが(Pythonでやればいいんじゃない?)
業務によってはPython使用が認められないところもありますし(うちの会社はそう)、VBAをこすり倒す必要がある人にとってはとても参考になると思います。
特にWebAPIを叩く方法は結構惹かれる人がいるんじゃないでしょうか。
例えば、為替レートを常時アップデートして、会計、経理の処理を自動化させるとか「めっちゃムネアツ!!」な人いると思います
業務改善コンサルタントが教える Excel VBA自動化のすべて〜35の事例で課題解決力を身につける
この著者の考えにはかなり共感させられます。
小難しいテクニックで初心者を煙に巻くタイプではなく、骨太に業務の構造を理解し、体系だってプログラムを作っていくタイプなので、業務改善を目指す方にはぜひ読んでいただきたい一冊です。
一応、初学者でも大丈夫とのことですが、ハードルは高い気はします。。
ただ、プログラムに慣れている人よりも、業務経験の長い人の方がすんなりこの本は読みこなしそうな気もします。課題解決についての経験も積んでいると思うので。
また、意外に解説している書籍がないので貴重な一冊なのですが、OutlookのVBAでの操作が記載されています。
そのため、Outlookを操作して、作成したファイルを添付してメールで自動送信も可能です。
メール操作を実現させるとたいていの人は喜んでくれますので(その割には大して難しいことはしない)、コスパはかなりいですよ。
ぜひ学んでみてください。