マクロとはアプリケーションを自動的に動かす機能の総称です。
Excel マクロが Excel に作業してもらうための作業手順書であること、Excel マクロを作るためのプログラミング言語が、Visual Basic for Application (VBA) であることを知っておきましょう。
そこでマクロとVBAの違いから始めます。VBA と似たような名前の VB、ビジュアル スツーディオ コード(Visual Studio Code) などとの違いも見ていきます。
Excel を使うと、繰り返し行う作業が発生します。例えば、月初や月末に必ず繰り返される作業かもしれません。毎日行われるルーティンかもしれません。一つの書類を作成するために毎回コピペを繰り返すこともあるかもしれません。
そのような Excel で繰り返し行われる作業を、自動的に行われるようにする仕組みを「マクロ」といいます。いわば Excel に作業してもらうための「作業手順書」が Excel マクロです。マクロを作っておくと、Excel はマクロに指示されているとおりの作業を行ってくれます。
同時に聞くことの多い「マクロ」と「VBA」という言葉の違いについて確認します。
「マクロ」とは、アプリケーションを自動的に動かす機能のことで、Excel だけにある機能ではありません。Word や PowerPoint でも、マクロを使えます。
これに対して「VBA」は「Visual Basic for Applications」の略で、Office アプリケーションでマクロを作るときに使うプログラミング言語の名前です。
例えばホームページを作るときに専用で使う言語で、HTML / CSS コードというのがあります。これと同じで、Office アプリでマクロを作るときには VBA を使います。
VBA(Visual Basic for Applications)と Visual Basic(VB)は、どちらもマイクロソフトが提供するプログラミング言語ですが、いくつかの違いがあります。
VBA は主に Microsoft Office アプリケーション(Excel、Word、PowerPoint 等)の操作を自動化するために使用されます。
実行環境としては、Office アプリケーション内で動作し、独立して動作することはできない。
VBA は Officeアプリケーションに組み込まれているため、特別な開発環境を用意する必要はありません。Officeアプリケーションの機能を利用して、簡単にマクロを作成することができる。
Visual Basic (VB) は、様々な種類のアプリケーション開発に利用される。特に Windows アプリケーションの開発に適しているとされる。より複雑なアプリケーションの開発が可能で、広範な機能を持っている。
VB は Visual Sudio という開発環境を使用して開発され、独立して動作することができる。VBA は Office アプリケーション内で動作するのに対し、VB は独立したアプリケーションとして動作する。
パソボラの月2回の土曜日午後の HP 作成勉強会も Visual Studio Code (VS Code) をインストールして、HTML/CSS でのホームページ作成を学習している。
Visual Studio で扱われるプログラミング言語には、このほかに C++、Python、Java Script 等も含まれる。
これからマクロ学習を始めるにあたり、お願いしたいことです。
自分だけが使う小さなマクロを作るところからスタートします。
自分の手でコードを入力して、マクロが動く様子を見て喜びを感じていただきます。
Copilot への依頼も、実践してみて、その結果依頼内容次第で回答が大きく異なるということを実感してみましょう。
Excel VBA に限らずプログラミングは、書籍を読んだり話を聞いただけでは習得できません。自分の手を動かしてコードを入力することが必要です。
ちなみに、入力すると言うことは、コピペをすることではありません。自分の手を動かしてキーボードから入力することです。
マクロコードの作成を Copilot に依頼する場合も、依頼の内容次第で回答が異なります。依頼のしかたを実践してみて、そのコツをつかむようにしましょう。
説明を聞いたり読んだりするだけではわからなかったけど、自分で依頼内容を入力してみると理解できるというところも存在するはずです。
自分の指示どおりに Excel が動く様子を見ることは、嬉しく感じるものです。その喜びを大切にしましょう。
喜びを味わいながら、楽しみながら、プログラミング学習を継続しましょう。
他の人にも使ってもらうマクロを作ろうとすると、考えなけれなばらないことが猛烈に増えます。まずは自分だけが使う、小さな Excel マクロを作ることからはじめましょう。
Excel マクロを作れるようになるために、最初に学習しなければならないことは、大きく3つ(VBE の使い方、プログラミングに共通する考え方、オブジェクトを取得・操作するコード)に分類できます。
これらに加えて、今回は Copilot の使い方も確認しておきましょう。
本サイトでは、Copilot に実際依頼してその結果を受け取りながら、マクロ作成での活用の仕方を学びます。
VBE の起動のしかた、画面の表示、マクロの搭載、マクロ としての VBA コードの表示、マクロの実行、デバッグ操作を実践します。
Copliot に作成を依頼して生成してもらう VBA コードだが、そのコードの概要を知るためにも、希望通りにならない時や、問題発生時にデバッグするときの為にも、プログラミングコードの基本的な知識を身に着ける必要があります。
それは以下のプログラミング項目に対する認識を持っていただくことが必要です。
演算子と関数
Excel には、掛け算を行う「*」や、文字列を連結する「&」などの演算子と、SUM、IF、VLOOKUP などの関数がある。プログラミング言語にも、何らかの計算やデータ処理をおこなうための、演算子や関数がある。
プログラミングでは、これら演算子や関数の、読み方や書き方、動作ルールを学習する必要がある。
変数
プログラムの途中で、一時的にデータを入れておく「名前の付けられた箱」に例えられるのが変数です。
条件分岐
何らかの条件に応じて、処理を切り替えるときの書き方。
ループ処理
ループ処理は、同じことを何度も繰り返して行いたいときの書き方。
作業手順書とは「何かを○○しなさい」という指示・命令が、時間軸に沿って書かれたものです。
Excel に作業を行ってもらうための作業手順書である Excel マクロには、セルやワークシートといった「Excel の要素(オブジェクト)を○○しなさい」といった指示・命令が書かれることになります。
Excel マクロの理解には、このオブジェクトを取得・操作するコードを読み取り理解する必要があります。