見出し画像

ExcelVBAによる業務効率化の学習順序と教材一覧

ITエンジニアではない、一般的なビジネスマンがExcelVBAによる業務効率化ができるようになるための学習順序と、各学習レベルにおけるおすすめの教材一覧について綴ります。

学習順序


Excelというアプリケーションで行う作業を自動化する、ExcelVBAというプログラミング言語の扱いを学ぶ学習ですので、これらへの理解度や知識の解像度によって学習のステージをレベル分けしています。

0:Excelの基本的な機能を把握する

1:コードの基礎的文法を身に着ける

2:ルールや作法に則った設計を体得する

2.5:クラス・オブジェクトを理解する

3:Excel以外のアプリケーションを巻き込んだ自動化を体得する


ステージ0:Excelの基本的な機能を使いこなせる

マクロでExcel作業を自動化するためには、前提としてExcelに標準搭載されている基本的な機能を把握・理解し、活用できてている必要がありますので、ステージ0として位置付けています。
Excelの標準機能では何ができ、何ができないのかをしっかり把握してマクロに任せるべき部分は何なのか具体的なイメージができるようになりましょう。

【マクロによらなくてもできることの例】

  • 複数シートからの集計 ⇒SUM関数やINDIRECT関数等

  • 特定の条件を満たす行にのみ○をつける ⇒IF関数等

  • 特定の条件を満たすセルに色を付けて表示する ⇒条件付き書式

  • 複数の項目に分けての集計・集計項目の入れ替え ⇒ピボットテーブル

  • 人数の数値が入ったセルを「○人」と表示する ⇒セルの書式設定

 日常の業務で毎日Excelを使用している方でも、意外とご存知ないこともありますので、まずはここで紹介するYouTube動画を一通り流し見してみてください。
 なお、MOS等の資格試験の勉強を通してExcelの基礎を学ぶというのも手段の一つではありますが、マクロ開発の習得という目標を達成するための準備にしか過ぎないので、あまりこの段階の学習に時間をかけていただきたくはありません。さくっと流し、知らなかった機能について頭の中に付箋を貼る程度でよいです。

YouTube動画:最強のエクセル使い方講座【たった1動画で全てが分かるExcelの教科書】(ユースフル/スキルの図書館)


ステージ1〜3共通の教材と学習の指針

マクロの作成においては、

  • 教科書(考え方の軸)とする教材からインプットする
    参考にできる実例をネット検索する

  • 実際にコードを書いて実践する

という3つのアクションをバランスよく繰り返すことが重要です。とくに、学習ステージが上がるほど 「参考にできる実例をネットで検索する」が非常に重要になってきます。ExcelVBAの提供者であるMicrosoftの公式ドキュメントや、先駆者のブログ記事などを検索ワードを工夫しながら自分の課題を解決する方法を検索するクセをつけてください。

一方で、ネット記事などをそのままコピペで用いるだけでは、エラーへの対応能力や質の高いコードを書く力も身につきませんので、1つ目に挙げたとおり、情報が洗練された「教科書」を自分の軸として持ちましょう。

初学者の「教科書」としては、株式会社すごい改善の吉田拳氏著の「たった一秒で仕事が片付くExcel自動化の教科書」で間違いないでしょう。

また、「パーフェクトVBA」という書籍は学習中盤から後半にかけて強力なパートナーとなります。とくに第1章はVBAの体系的理解に大いに役立ちます。

書籍:たった一秒で仕事が片付くExcel自動化の教科書(吉田拳)

書籍:パーフェクトVBA(高橋宣成)


ステージ1:コードの基礎的文法を身に着ける


変数、条件分岐、繰り返し処理といった文法を覚え、教材の真似をしながらその用い方を学びます。
実際にコードを書いて実行し、その結果が反映される様子がわかりやすいため、動画教材中心の学習がおすすめです。
教材は豊富にありますが、解説と実践のバランスが非常に良いカリキュラム構成となっている、Udemyの「Excel VBA[第○弾]」シリーズで間違いないでしょう。Udemyは定期的に大幅な値引きセールを実施しているので、ぜひそのタイミングで購入してください。
また、内容は少しだけ高度になりますが、全ステージ共通の教材として紹介している高橋宣成氏の著書「パーフェクトVBA」をこの段階の学習で購入し、最初の方や気になるところをつまみ読みしていると次の学習ステージへの橋渡しになりますので、余裕のある人は実践してみてください。
「ステージ1」というとまだまだピヨピヨなイメージになってしまいますが、このステージのスキルを習得すると、目の前の小規模な作業であれば十分に自動化することができるようになります。

動画:Excel VBA[第○弾]シリーズ(エクセル兄さん、たてばやし淳、Ritz!(リッツ)プログラミング教室)


ステージ2:ルールや作法に則った設計を体得する

ExcelVBAでは、同じ処理結果を出すための方法がいくつもあります。
所属部署など、自分以外の関係者を巻き込んだ業務効率化を成し遂げるためには、同僚が修正したり、後任が理解し引き継げたりと、関係者と一緒に管理できるアプリケーションにすることが好ましいので、VBAのコードの可読性が重要になります。よって、「パーフェクトVBA」を軸としたコードの記述に関する作法を身につけましょう。同書は、実務で直面するVBAならではの問題等についても、プログラミングという業務を俯瞰した視点から言及されていますので、より視野が広がります。
また、Excelの作業を自動化するのが目的なので、Excelのブックやシートの構成がVBAで処理するのに適したデザインになっているかによって、コードの書き方・書きやすさ等が左右されますので、作業効率化の成功のカギになります。そういった視点の指針は、株式会社すごい改善の吉田拳氏の提唱するデータベースファーストの原則」に関する記事やSNS投稿で学んで体得するのが効率的です。
これらを体得してご自身が現在使用しているExcel様式のデザイン、ご自身で書いたコードを振り返ってみると、自ずと課題が見えてくるようになり、単なる「作業自動化」に留まらなない、周辺関係者を巻き込んだ、業務の形そのものをデザインする「業務効率化」の道筋が見えてくることでしょう。

書籍:パーフェクトVBA(高橋宣成)

SNS:吉田拳氏のTwitter等


ステージ2.5:クラス・オブジェクトを理解する

ステージ2までで作業自動化及び業務効率化ができるスキルがしっかり身についていますが、「オブジェクト指向プログラミング」を習得することにより、さらに洗練されたプログラムの開発ができるようになるほか、Excelのアプリケーションの成り立ちそのものへの理解が深まります。
パーフェクトVBAをメインの教科書をとしつつ、「オブジェクト指向」という概念は多くのプログラミング言語で共通する知識となりますので、Pythonなど他言語の教材も考え方の参考にすることができます。ステージ1,2の学習の中でも触れることはありますが、プログラミング初学者にとっては少し難易度の高い考え方になりますので、ステージ2.5という位置づけにしました。

書籍:パーフェクトVBA(高橋宣成)

大学講義資料:プログラミング演習 Python 2019(京都大学)



ステージ3:Excel以外のアプリケーションを巻き込んだ自動化を体得する

ここからは完全にExcelVBAの用い方の学習としては「応用」というレベルになります。
前ステージまでは基本的にExcelというアプリケーションのみで行う作業の自動化でしたが、EdgeやChromeなどのブラウザから情報を取得してくる「スクレイピング」などの、Excel以外のアプリケーションを巻き込んだ自動化について学ぶステージです。
具体的にいうとWindowsのDLLである「Win API」というライブラリの用い方が学習内容のほとんどとなります。
なかなか適切な教材が少ない中、「大村あつしのExcel VBA Win64/32 APIプログラミング」という良書がありますので、"応用編の教科書"としてこの書籍をもち、適宜実装したい内容に応じてネット検索してください。

書籍:大村あつしのExcel VBA Win64/32 APIプログラミング(大村あつし)

まとめ

今回紹介した教材は、どれも無料か数千円程度で購入できるものに限定しています。
ExcelVBAに関する教材は潤沢にありますので、高額な教材やセミナー等でなくても、十分に良質なものがあります。
当記事で紹介しているものも含めて、評判の良い教材を複数購入してみて、自分に合うものを選べば、それが正解といってよいでしょう。

マクロ開発の学習手順と教材について、一例を紹介させていただきましたが、参考のひとつとしつつ、ぜひ自分で手を動かしてコードを書く時間を大切にしてスキルアップしていただければと思います。

この記事が気に入ったらサポートをしてみませんか?