みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。
さて、本記事を執筆しておりますのが2019/11/18です。ちょうど一週間後の11/25に「パーフェクトExcel VBA」が発売されます。
今回、出版をお願いしております技術評論社さまのご厚意により、当ブログに「パーフェクトExcel VBA」のまえがきを全文掲載しても良いと許諾をいただきました。
これで、Amazonや楽天ブックスで注文される方も、事前予約されるかたも、その判断材料である「まえがき」をしっかり読んで購入検討できるというもの…
ということで、本記事では「パーフェクトExcel VBA」のまえがき全文を掲載させていただきますね。
まえがきには、以下のようなことをコンパクトにまとめてお伝えしていますので、ぜひご一読くださいませ。
- 現在のExcel VBAを学ぶ環境と、その抱えている課題
- その課題を解決するためにVBAユーザーにどのような「再学習」を提案しているのか
- その提案に基づく本書の構成と読み方、そして得られるもの
そして、興味あるな!と思われたら、手にとっていただければ幸です。
では、行ってみましょう!
まえがき
Excel VBAをスキルとして身につけたいというのであれば、大きな書店やAmazonを覗けば分かるとおり、とてもたくさんの中から書籍を選ぶことことができます。Excel VBAに関して調べたいことがあれば、Googleで検索をすることで多くの解決策を見出すことができます。
私自身、これまでExcel VBAを学ぶ過程でそれらの情報源を大いに活用させていただきましたし、今も活用させていただいています。それにより、Excelを中心とした様々な作業の自動化を実現でき、VBAとそのスキルは「働く」の心強い右腕として力を発揮してくれています。
しかし、学習を進めていくにしたがって、VBAには他のプログラミング言語では、それほど目立たない、いくつかの「弱点」があるように見えてきました。
- 理解があやふやなのに動いてしまっているため、エラーや仕様変更が発生したときの対応に大変な労力がかかる
- 同じ目的に対して、それを実現するための書き方がいくつも存在していて混乱する
- たくさんの「自己流」が存在していて、他のVBAユーザーとの協力体制を築きづらい
- クラスやオブジェクトモジュールなどの概念について学ぶ機会がないため、他の方法で実現してしまっている
なぜ、このような弱点が生まれるかというと、それはVBAという言語の特性であったり、VBAの主なユーザーが専門のプログラマーではないことが多いという事実であったり、様々な要素に起因していると考えています。
この問題を解決するために、本書は以下のステップでVBAというプログラミング言語を再学習することを提案します。
- 言語としてのVBAとその学習環境の特徴を知る
- プログラミング言語VBAの体系を学習の土台として整える
- その土台の上に、主要なライブラリについての知識を乗せ直す
VBAはプログラマーではない多くの方も活用されているので、「初心者向けの簡単に身につけられる言語」と捉えられがちですが、決してそうではありません。まずは、その事実を確認しつつ、学習をする上での心構えを整えます。その役割は1章が担っています。
その上で、値、式、ステートメント、プロシージャ、モジュール、プロジェクトとライブラリという、言語を構成するレイヤーを正しく理解して、言語の構造と体系を理解します。多くの場合、プロシージャやモジュール、ライブラリといった上位レイヤーの理解が不足がちです。しかし、皆さんがExcel VBAを使う目的は、セルやワークシートを操作すること、つまり「Excelライブラリ」の活用です。ライブラリとは何か、どのように作られているのかといった理解は、「Excelライブラリ」について理解を深め、その活用をする上で道標のような役割を果たします。2章から7章までは、下位の小さなレイヤーから最上位のレイヤーまで順番に理解していただくように構成しています。土台を作ることが最大の目的なので、読み飛ばしをせずに、すべてのコードを写経し、理解してください。
8章以降は、主要なライブラリの紹介をします。ライブラリがどういう構成になっているか、また主なクラスやモジュールを使う際のポイントとともに、リファレンス的に主なメンバーとその紹介をしています。紹介しているライブラリはいずれも重要なものなので、すべてをご覧いただければと思います。
しかし、本書は「パーフェクトExcel VBA」というタイトルはついていながらも、ライブラリに含まれるすべてのメンバーとその使い方を網羅的に掲載することはしていません。
VBAの体系が土台として身についているのであれば、効果的に知識を取り入れ、活用することができるため、その役割はMicrosoftによる公式ドキュメント、既存のWebページ、および逆引き辞典などにお任せしています。
14章は、アプリケーション開発の例を紹介しています。13章までの知識の実務への活用イメージを持っていただくとともに、実際に活用するからこそ出てくる問題やその解決の考え方についても触れています。
お手にとっていただいたとおり、本書を読破し、土台を整えて、知識を取り入れるには、それなりの時間を要するものと思います。しかし、それを乗り越えた先、Excel VBAの学習と活用にかかる労力は大きく軽減でき、新たなExcel VBAの世界を魅力的に感じていただけるはずです。
本書を活用することで、ひとりでも多くのExcel VBAユーザーの学習時間、活用時間の価値が高まってくれることを期待しています。
2019年10月 著者