Excel自動化(マクロ)のプロ書籍を紹介「Excel VBA開発を超効率化するプログラミングテクニック 」
書籍「Excel VBA開発を超効率化するプログラミングテクニック 」は、専業VBA開発者の いき(深見祐士)さん著。そしてVBA本の大御所の大村あつし先生が監修。
・「VBAでマクロを作る」
だけでなく、
・「保守性が高く、高速で安定したマクロを作る」
だけでなく、
・「開発を爆速で進めるためのTips」
まで解説された、これまでに無い書籍ということですね。
この本を週末に読み込んでノウハウを実践してみたので、おすすめポイントや読み方を紹介します。
書籍はこちら
この記事は、以下のVoicyの放送のAI文字起こしをベースに記事化しています。詳しくはVoicyにてご確認ください。
第1章 はじめに
本書籍は、専業VBA開発者である、「いき」さんのご著書です。VBA本の大御所である大村あつし先生が監修されています。
いき さんはクラウドソーシングで500件以上の実績を持ち、現在も月20件以上の案件を継続的にこなしているマクロ開発のプロフェッショナルです。
本書の特徴は、単にマクロを作るだけでなく、保守性の高いマクロや高速・安定したマクロの作り方を解説している点にあります。さらに開発そのものを爆速で進めるテクニックまでカバーしている、これまでにない書籍だと言えます。
レベル的には中上級者向けですが、実務でマクロを開発する際の品質や効率を高める知見が得られる好著だと思います。
週末には早速読み込んでノウハウを実践しています。次回以降で、おすすめポイントや読み方をご紹介したいと思います。
第2章 本書のコンセプトと重要ポイント
本書のキーポイントは、著者であるいきさんの長年のVBA開発経験から蓄積されたコード資産の再利用にあると考えられます。
爆速のVBAコーディング映像
実際にいきさんのYouTube動画でライブコーディングの様子を見ることができます。驚くほどスピーディーに開発を進めており、プログラマーとしての実力が垣間見える内容です。
過去に作ったコードを資産として再利用している
いきさんは過去に開発したコードを「汎用プロシージャー」と命名し、整理・保存しています。これはいわば独自に開発したコードの部品です。必要な処理ごとにまとめられた便利な関数がたくさん用意されているのです。
そして新しい案件・開発課題が発生した際、過去の類似処理があればこれらのコードを呼び出し再利用できます。この再利用が開発スピードの大幅な向上につながっていると考えられます。
また、長年の業務経験から洗練された既存コードを流用できるため、開発したマクロの保守性や安定性も非常に高いものになります。プログラム品質が向上する効果があると言えるでしょう。
本書の読者特典として、この汎用プロシージャーの一部が公開されています。購入者はいきさんと同様にこの便利なコード群を再利用可能なのです。マクロ開発時の参考にしたり、処理を省略化するのに大いに役立つはずです。
つまり他者が長年蓄積したコード資産を再利用できるという点こそ、本書の最大の魅力であるといえます。VBA開発者にとって大きなメリットがある商品設計だと言えるでしょう。
第3章 まず読者特典を受け取る
本書には読者特典として、著者のいきさんが長年蓄積してきた汎用プロシージャーが公開されています。
この汎用プロシージャーは、過去の開発経験から洗練された便利なコードのコレクションです。種類ごとに整理された再利用可能な関数が数多く揃っています。
購入者はこうした便利コードを自身のマクロ開発でも利用することができるのです。コピペするだけで高度な処理を実現できたり、開発工数を大幅カットできます。
取得方法は本文またはTwitterで解説されていますので、是非ダウンロードして利用したい特典です。独自のリボンからいつでも参照可能にもできます。
長年培われたプロのコードを再利用できる点が大きな魅力です。マクロ開発者には嬉しい読者向けプレゼントと言えるでしょう。
第4章 事例(1)コードを一発で整形するコマンド (11章)
本章では、VBAコードを自動整形する便利な機能を紹介します。
Asやコメントなどのインデント(字下げ)を揃える作業は手間がかかります。しかしこの機能を使えば、コードをコピーした上で専用のコマンドを実行するだけで、キレイに整形してくれます。
たとえば、As宣言のキーワードを揃えたり、コメントの位置をそろえたりできます。プロシージャの仮引数もスッキリと並べ替えてくれるので、見やすいコードに生まれ変わります。
この自動整形によって、コードの可読性が高まります。メンテナンス性も向上し、他者とのコード共有がしやすくなるでしょう。大変便利な機能です。
こうした効率的な開発を実現するツールこそ、VBAプログラマーならではの視点だと感じました。実際に試用するとその凄みを実感できるはずです。
第5章 事例(2)最終行の取得(改良)(第8章)
この章では、シートの最終行を取得する定番のVBAコードを改良した汎用プロシージャーを紹介しています。
定番のコードは以下の通りです。
Cells(Rows.Count,1).End(xlUp).Row
ただしこの定番コードには、フィルター使用時の動作不良や必要外のデータ行が最終行と判定されるといった欠点があることが指摘されています。
これを改善したGetEndRowプロシージャーは、フィルターや非表示行の影響も受けず確実に最終行を取得できます。コード入力の手間も省けるので大変便利です。
このように定番だが不完全なルーチンをブラッシュアップするのも、実務経験豊かなプログラマーならではのテクニックといえます。参考になる事例です。
第6章 事例(3)配列の中身を一括で見る(第10章)
この章では、配列変数の内容を一括表示するDPAプロシージャーを紹介します。
VBAを使いこなすには配列が欠かせませんが、中身の確認には通常手間がかかります。
しかし、このDPAプロシージャーを使用すれば、イミディエイトウィンドウ上に綺麗に整形された状態で配列の全内容を表示できます。
こうした細やかながら開発効率化に役立つツール提供が、本書の魅力の1つであると感じました。
第7章 事例(4)便利マクロを一括で自分のマクロに取り込む (特典を利用)
ここでは読者特典のコードをマクロに取り込む機能を紹介しています。
開発したマクロ内で特典のコードを参照している場合、そのマクロは自分のPC内でのみ正しく動作します。
なぜなら、特典のコードは自分のPC内にのみ存在しているため、他のPCでは参照されたコードが見当たらないからです。
しかしこの機能を使えば、参照していたコードをまとめてコピーし、マクロプロジェクト内に貼り付けることができます。
すると参照していた外部コードがすべて内包されることになるため、マクロの移植性が高まります。他者へ配布しても動作可能になるのです。
第8章 さいごに
本書の内容は、中上級者向けの難易度だと感じます。
しかし初心者の方にとっても、プロの視点から書かれたコードやテクニックに触れることで、VBA開発の奥深さを知るきっかけとなる有意義な内容ではないかと思います。
また週末には筆者自身も本書を逐一読み込み、いくつかのTipsや特典を実際に試してみました。プログラミングは実践しながら理解を深めていけるものです。身近な課題に取り組むことで本書の価値がより実感できるのではないでしょうか。
レベルの高さに躊躇せず、ぜひ「マクロ・VBAの可能性」についての扉を開いてみていただければと思います。
この記事が気に入ったらサポートをしてみませんか?