- 投稿日:2024/09/16
- 更新日:2025/09/29

はじめに
2020年代の現在においては、表計算ソフトとしてExcel、仮にExcelを使っていたとしてもデスクトップアプリを使っていない方が多くなったかもしれませんが、Excelの歴史とともに存在するマクロ(VBA)は初心者向けの知識を習得しているだけでもかなりExcel操作の選択肢が広がります。
私自身は、職場でExcelを使い続けて15年以上になりますが、関数と比較してマクロは敷居が高いため今まで使おうと思ったこと自体ありませんでした。
ところが、いざ学んでみるとExcel操作の選択肢が一気に広がりました。そこで、マクロを学ぼうと思った契機からスタートし、お勧めの学習教材の紹介等を行っていきたいと思います。
学ぼうと思った経緯
実はExcelマクロを学び始めたのは今年の4月に入ってからと、かなり最近の話です。
今年3月末に、チャンネル登録しているとあるYouTubeアカウントにて、自己啓発としてUdemyで学び始めたという動画が上がっていました。
その動画はExcelとは関係ない、全く別の分野を学習するという内容でしたが、ちょうど4月初めまでUdemyがセール中ということを謳っていたため、面白そうな講座はないかと思いサイト内を色々見まわしていたところ、前々から修得してみたいと思っていたExcelマクロの講座に目が行きました。
UdemyのExcelマクロの講座の中では一番人気だという、エクセル兄さん(たてばやし淳)の講座を複数購入し、動画にて学習を始めました。
なお、Udemyではちょうど今もセール実施中(9月19日まで)です。しかも、楽天リーベイツを経由すると、15%のポイントバックがあります。Excelマクロ以外にも様々な講座がありますので、是非興味のある方は覗いてみるといいでしょう。
Udemyの他、書籍でも学習
Udemyにてたてばやし淳氏の講座で一通り学習した後、早速職場で実践を始めました。毎月機械的な定型作業が発生する業務があるため、これを順次マクロ化していきました。
なお、更に学習を進めることはできないかと思い、良さそうな書籍を探した結果、同じくたてばやし淳氏が出している『エクセル兄さんのVBA塾』と『Excel VBA 脱初心者のための集中講座』の2冊の書籍に出会いました。前者が初心者向け、後者が初級者向けの位置づけです。この2冊の書籍の良いところは、各章の内容ごとに、著者自身がExcelを操作しながら解説する動画をYouTubeにアップロードしているため、活字を読んでも分からなかった部分を解説動画を見ることで理解できるという点にあります。座学のメリットを取り入れた書籍と言えるでしょう。
書籍で取り上げてほしかった内容
Excelマクロを一から学習する際には、Udemyは必ずしも必要ではなく、『エクセル兄さんのVBA塾』一冊だけで良いと思いました。
しかしながら、Udemyでは取り上げているのに2冊の書籍いずれも取り上げておらず残念だった内容が一つあります。
それは、「Application.GetOpenFilename」のコードです。このコードを使うと、ダイアログボックスから任意のExcelファイルを呼び出して操作することができ、職場でも活用しています。個人的にExcelマクロでは必須と思ったコードであるだけに、書籍の方で取り上げられていなかったのが残念でした。
また、Udemyと書籍の双方に取り上げられていなかった内容として個人用マクロブックの活用があります。個人用マクロブックを作ると、いちいちマクロを組んだExcelファイルを起動しなくても、ショートカットキーから一発で任意のマクロを実行させることができるようになります。個人用マクロブックの詳細は、こちらをご覧ください。個人用マクロブックも便利なだけに、紹介されていなかったのが残念でした。
生成AIと組み合わせるのも便利
近年、ChatGPTや、リベシティでもお馴染みのPerplexity AIなどの生成AIが注目されています。
生成AIはマクロ(VBAのコード)作成も大変得意にしています。「こういったことができるマクロを作ってほしい」といった会話からVBAのコードを一から作ってもらうこともできますし、自分で作ったコードがエラーになった場合に、コードをコピペで貼り付けることで、「ここが間違っているからこのように改善するとよい」といった提案もしてもらえます。
CopilotというExcelをはじめとしたMicrosoft Officeのデスクトップアプリに組み込むことのできる生成AIもあります。
生成AIと組み合わせることで、従来よりも楽に簡単にマクロを組み立てたり修正したりすることができる時代になりました。
しかしながら肝に銘じておきたいのが、「生成AIがあるからマクロは勉強しなくていい」という考えは誤りだという点です。生成AIが導き出したコードに誤りがある場合も多いですし、そもそもコードをどのようにExcelに貼り付ければよいのかが理解できていないとマクロを活用することができません。
生成AIに頼るのは便利ですが、最低限の知識は修得しておく必要があります。
終わりにー関数との位置づけー
最後に、Excelを扱う人なら多くの人が使っているであろう関数との位置づけについての個人的見解を述べたいと思います。
Excel関数は視覚的に理解しやすく、敷居が低いのが特徴です。使いこなしていけば大変便利であることに間違いはないものの、一つのセルに対しての命令を一行で書かないといけないので、複雑な処理はどのように書けばよいのか分からなくなってしまいがちです。仮に書けたとしても、他人が読んだ時に可読性(=一体何の操作を行っているのか理解すること)が悪くなってしまいます。
この点、マクロ(VBA)の場合は、命令文を必ずしも一行で書く必要はなく、複雑な処理でも一行一行順を追って区切って書いていけばよいので、可読性も保つことができます。
私の場合、関数を使いこなす技術はせいぜい初級者レベルしかありませんが、初級者レベルのマクロの知識を習得できたことで、関数が中級~上級レベルでマクロの知識が皆無の人たちと同程度の選択肢が広がったのではないかと思います。
マクロは関数と比べると導入の敷居はどうしても高いですが、初級者レベルの内容であれば、中級~上級レベルの関数を習得するよりも簡単だと思います。
Excelを扱う皆さんの参考になれば幸いです。