ExcelとAccessのスキルアップをサポートするサイトです

ExcelとAccessの学習室

Accessの入門者におススメしたいVBAの解説本3選

この記事はプロモーションを含みます

こんにちは。システム担当の父親、KATSUです。
Excel歴20年、Access歴10年ですが、ブログは60記事を書いた程度です。引き続き渾身の記事を量産していきます。


「Accessの基本は分かってきたのですが、クエリやフォームを手作業で触っているレベルです。
自動化できれば更に便利に使えるのですが・・・。」

Access VBAを使えるようになれば、更に便利さを感じることが出来ます。

この記事を書いている私も、Accessを習得するために何回か挫折と挑戦を繰り返してきました。
これまでもVBA本やネット検索を活用し、最近やっとAccessを使った自動化について身体に染み込んできたところです。

ある程度ネット検索でも欲しい情報を得られますが、やはり体系的に良くまとまっているのは書籍です。
今回は、Access VBAの解説本を3冊紹介します。
それぞれに特徴がありますので、どれが自分にふさわしいかを参考にして頂ければ幸いです。

AccessVBAの学び方

まず、AccessのVBAはExcelと同じ方法で学習できないということを知っておく必要があります。

Excelは「マクロ記録」を使えば、自動化したい機能をVBAコードに変換してくれます。
自動生成では冗長な(可読性の低い)コードが作られますので、多少の手直しをすることで「実戦で使える(可読性の高い)プログラムコード」を作ることができます。
つまり、動作についての書き方を全く覚えていなくても、VBAのコーディングは可能です。

一方、Accessの場合はExcelのような「マクロ記録」がありません
「マクロ」機能自体もありますが、日本語の命令文をブロックで組み立てるような動作です。
小学校のプログラミング教育などで使われている、「Schrach」などにイメージは近いかもしれませんね。
Accessのマクロ機能でも簡単な自動化はできますが、かゆい所に手が届くようなカスタマイズをすることができません。

このように、Accessの場合はExcelのようにゼロからVBAコードを書くことができません。
初心者の場合は、ネット検索でふさわしいコードを探すか、参考になる参考書をそばに置いておく必要があります。
どちらが効率よく学習できるかというと、もちろん参考書を使った方が無駄なことをせずに、学習できますよね?
書籍で学習したコードをそのまま実戦に投入し、同じような機能を後で使いたければ、過去のコードをコピペして使いまわせばいいです。
「参考書で調査」→「実戦投入」→「他に横展開」をぐるぐる回していけば、自然とAccessのVBAプログラミングが身に付きます。

初心者向けの解説本

全くAccessVBAを触ったことの無い人におススメなのが、「Accessマクロ&VBAのプログラミングのツボとコツがゼッタイにわかる本」です。
この本はマクロ機能の使い方から始まり、AccessVBAの初心者レベルまでを解説しています。

一般的なプログラミングの技術書は、範囲毎に高度な内容まで一気に進むので挫折しがちです。

一方、この本では、読者が学習で挫折しにくいよう、少しずつ難易度を上げていくという配慮がされています。
読者に寄り添っている本ですので、アマゾンレビューも上々のようです。

VBAだけでなく「マクロ記録」についても詳しく触れていますので、プログラミング自体が初心者の方でもスムーズに学習できる本です。

(function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a;b[a]=b[a]||function(){arguments.currentScript=c.currentScript||c.scripts[c.scripts.length-2];(b[a].q=b[a].q||[]).push(arguments)};c.getElementById(a)||(d=c.createElement(f),d.src=g,d.id=a,e=c.getElementsByTagName("body")[0],e.appendChild(d))})(window,document,"script","//dn.msmstatic.com/site/cardlink/bundle.js?20210203","msmaflink");msmaflink({"n":"Accessマクロ\u0026VBAのプログラミングのツボとコツがゼッタイにわかる本 2019\/2016対応 (ツボとコツシリーズ)","b":"秀和システム","t":"","d":"https:\/\/m.media-amazon.com","c_p":"\/images\/I","p":["\/51eTEsTLd9L._SL500_.jpg","\/418fgsMc+wL._SL500_.jpg"],"u":{"u":"https:\/\/www.amazon.co.jp\/dp\/479805755X","t":"amazon","r_v":""},"v":"2.1","b_l":[{"id":1,"u_tx":"Amazonで見る","u_bc":"#f79256","u_url":"https:\/\/www.amazon.co.jp\/dp\/479805755X","a_id":1680230,"p_id":170,"pl_id":27060,"pc_id":185,"s_n":"amazon","u_so":1},{"id":2,"u_tx":"楽天市場で見る","u_bc":"#f76956","u_url":"https:\/\/search.rakuten.co.jp\/search\/mall\/Access%E3%83%9E%E3%82%AF%E3%83%AD%26VBA%E3%81%AE%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%AE%E3%83%84%E3%83%9C%E3%81%A8%E3%82%B3%E3%83%84%E3%81%8C%E3%82%BC%E3%83%83%E3%82%BF%E3%82%A4%E3%81%AB%E3%82%8F%E3%81%8B%E3%82%8B%E6%9C%AC%202019%2F2016%E5%AF%BE%E5%BF%9C%20(%E3%83%84%E3%83%9C%E3%81%A8%E3%82%B3%E3%83%84%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA)\/","a_id":1679849,"p_id":54,"pl_id":27059,"pc_id":54,"s_n":"rakuten","u_so":2},{"id":3,"u_tx":"Yahoo!ショッピングで見る","u_bc":"#66a7ff","u_url":"https:\/\/shopping.yahoo.co.jp\/search?first=1\u0026p=Access%E3%83%9E%E3%82%AF%E3%83%AD%26VBA%E3%81%AE%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%AE%E3%83%84%E3%83%9C%E3%81%A8%E3%82%B3%E3%83%84%E3%81%8C%E3%82%BC%E3%83%83%E3%82%BF%E3%82%A4%E3%81%AB%E3%82%8F%E3%81%8B%E3%82%8B%E6%9C%AC%202019%2F2016%E5%AF%BE%E5%BF%9C%20(%E3%83%84%E3%83%9C%E3%81%A8%E3%82%B3%E3%83%84%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA)","a_id":2262602,"p_id":1225,"pl_id":27061,"pc_id":1925,"s_n":"yahoo","u_so":3}],"eid":"8VuCE","s":"s"});

中級者までの内容を丁寧に解説している解説書

AccessVBAを軽く触ったことのある方は、「Access VBA 実践マスターガイド~仕事の現場で即使える」がオススメです。

AccessVBAを体系的に学べ、親切に解説してくれている本です。
特に特筆すべきところは以下の3点です。

  • フォームのカスタマイズについて親切に解説
  • VBAコードでどんな処理をおこなているか、1行ごとていねいに注釈を入れている
  • トランザクション処理についても優しく解説してくれている。

テーブルやクエリを使ったAccessの操作はできるけど、VBAを使った自動化を経験したことのない方にはピッタリの書籍です。
この本の内容が実戦できれば、Accessの中級者以上まで成長できるでしょう。

(function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a;b[a]=b[a]||function(){arguments.currentScript=c.currentScript||c.scripts[c.scripts.length-2];(b[a].q=b[a].q||[]).push(arguments)};c.getElementById(a)||(d=c.createElement(f),d.src=g,d.id=a,e=c.getElementsByTagName("body")[0],e.appendChild(d))})(window,document,"script","//dn.msmstatic.com/site/cardlink/bundle.js?20210203","msmaflink");msmaflink({"n":"Access VBA 実践マスターガイド~仕事の現場で即使える","b":"","t":"","d":"https:\/\/m.media-amazon.com","c_p":"","p":["\/images\/I\/51snfIwKmcL._SL500_.jpg"],"u":{"u":"https:\/\/www.amazon.co.jp\/dp\/B07VN3PH3D","t":"amazon","r_v":""},"v":"2.1","b_l":[{"id":1,"u_tx":"Amazonで見る","u_bc":"#f79256","u_url":"https:\/\/www.amazon.co.jp\/dp\/B07VN3PH3D","a_id":1680230,"p_id":170,"pl_id":27060,"pc_id":185,"s_n":"amazon","u_so":1},{"id":2,"u_tx":"楽天市場で見る","u_bc":"#f76956","u_url":"https:\/\/search.rakuten.co.jp\/search\/mall\/Access%20VBA%20%E5%AE%9F%E8%B7%B5%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%BC%E3%82%AC%E3%82%A4%E3%83%89%EF%BD%9E%E4%BB%95%E4%BA%8B%E3%81%AE%E7%8F%BE%E5%A0%B4%E3%81%A7%E5%8D%B3%E4%BD%BF%E3%81%88%E3%82%8B\/","a_id":1679849,"p_id":54,"pl_id":27059,"pc_id":54,"s_n":"rakuten","u_so":2},{"id":3,"u_tx":"Yahoo!ショッピングで見る","u_bc":"#66a7ff","u_url":"https:\/\/shopping.yahoo.co.jp\/search?first=1\u0026p=Access%20VBA%20%E5%AE%9F%E8%B7%B5%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%BC%E3%82%AC%E3%82%A4%E3%83%89%EF%BD%9E%E4%BB%95%E4%BA%8B%E3%81%AE%E7%8F%BE%E5%A0%B4%E3%81%A7%E5%8D%B3%E4%BD%BF%E3%81%88%E3%82%8B","a_id":2262602,"p_id":1225,"pl_id":27061,"pc_id":1925,"s_n":"yahoo","u_so":3}],"eid":"RjeXF","s":"s"});

デスクの横に置いておきたい逆引きリファレンス

AccessVBAはマクロ記録を使えないので、手元にリファレンスを持っていた方が、明らかに作業が進みます。

リファレンスとして使えるのが「AccessVBA逆引き大全 600の極意」です。
コードサンプルは豊富にあります。

全てを使う必要はありませんが、相性のよいものをいくつかピックアップして使えば強力な武器になります。
私もこれまでもたくさんお世話になってきましたし、これからもお世話になるでしょう。

(function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a;b[a]=b[a]||function(){arguments.currentScript=c.currentScript||c.scripts[c.scripts.length-2];(b[a].q=b[a].q||[]).push(arguments)};c.getElementById(a)||(d=c.createElement(f),d.src=g,d.id=a,e=c.getElementsByTagName("body")[0],e.appendChild(d))})(window,document,"script","//dn.msmstatic.com/site/cardlink/bundle.js?20210203","msmaflink");msmaflink({"n":"AccessVBA逆引き大全 600の極意 Office365\/2019\/2016\/2013\/2010対応","b":"","t":"","d":"https:\/\/m.media-amazon.com","c_p":"\/images\/I","p":["\/51MQrHucthL._SL500_.jpg","\/41zEFqUqNoL._SL500_.jpg","\/51k3EswdIcL._SL500_.jpg"],"u":{"u":"https:\/\/www.amazon.co.jp\/dp\/4798057614","t":"amazon","r_v":""},"v":"2.1","b_l":[{"id":1,"u_tx":"Amazonで見る","u_bc":"#f79256","u_url":"https:\/\/www.amazon.co.jp\/dp\/4798057614","a_id":1680230,"p_id":170,"pl_id":27060,"pc_id":185,"s_n":"amazon","u_so":1},{"id":2,"u_tx":"楽天市場で見る","u_bc":"#f76956","u_url":"https:\/\/search.rakuten.co.jp\/search\/mall\/AccessVBA%E9%80%86%E5%BC%95%E3%81%8D%E5%A4%A7%E5%85%A8%20600%E3%81%AE%E6%A5%B5%E6%84%8F%20Office365%2F2019%2F2016%2F2013%2F2010%E5%AF%BE%E5%BF%9C\/","a_id":1679849,"p_id":54,"pl_id":27059,"pc_id":54,"s_n":"rakuten","u_so":2},{"id":3,"u_tx":"Yahoo!ショッピングで見る","u_bc":"#66a7ff","u_url":"https:\/\/shopping.yahoo.co.jp\/search?first=1\u0026p=AccessVBA%E9%80%86%E5%BC%95%E3%81%8D%E5%A4%A7%E5%85%A8%20600%E3%81%AE%E6%A5%B5%E6%84%8F%20Office365%2F2019%2F2016%2F2013%2F2010%E5%AF%BE%E5%BF%9C","a_id":2262602,"p_id":1225,"pl_id":27061,"pc_id":1925,"s_n":"yahoo","u_so":3}],"eid":"0oGWm","s":"s"});

まとめ

今回はAccess VBAの解説本を紹介しました。
Accessの場合はExcelのように「マクロ記録」といった便利な機能が使えないので、手元に解説本があった方が効率は高いです。

初めのうちは、本の内容を理解するのと、使いたいコードを探すのに、結構な時間をとられるでしょう。
しかし、自分の型が出来上がったら、コピペで新しいデータベースに展開できます。
作りたいシステムを自分で作れるようになったら、入力や集計にかけていた時間を大幅に減らせます

AccessのVBAを使ったプログラミングができれば、他のプログラミング言語の習得へのハードルが下がります。
業務システムでも使われる「VB.NET」は、文法が近いのでスムーズに習得できるでしょう。
また、WEBシステムでよく使われている「PHP」も、データベースを扱う点では共通していますので、文法が違うと言えども考え方をそのまま転用できます。

コロナショックによってリモートによる作業が普及した今、生き残るためにはITリテラシーを更に高めなければなりません。
働きながらスキルを積み上げていくための手段としても、「まずAccessを習得する」というのはとても有効です。

あとは実際に手を動かして学習していけば、きっとよい結果が出るはずです。