トップページ

#0_1 マクロとVBA


はじめに

これから何回かに分けてマクロ/ExcelVBAの解説を行っていきます。基礎の基礎と位置付けた第0章ではまず「マクロ」「VBA」の定義、違いについて解説したいと思います。

初学者の方はマクロとVBAは同じものと思っている方が大半だと思います。実際私もそうでした。勘違いしっぱなしでも大して弊害はないのですが、せっかくなので言葉の定義から入っていきましょう!

それ以降、徐々にマクロを記述していくことにしましょう!

マクロとVBA

「マクロ」とは一言で言うと本来手作業で行うべきExcelの操作を、自動で実行してくれる「プログラム」のことです。

対してVBAとはこのマクロという名のプログラムを記述する「プログラミング言語」のことです。VBAは元々Excelに標準装備されてる機能なので、Excelを普通にインストールすれば、特に何もしなくてもVBAでマクロを記述することができます。

ちなみに本サイトでは「Office 2016 for Mac」を用いて解説します。OSによってVBA開発環境の整え方やデザインは多少の差異がありますが、気になる範囲ではないので安心してください!

マクロの機能と特徴

1. 繰り返しの作業を自動化

やはり最大のメリットはこの自動化にあると言えるでしょう。今までExcelを用いて1時間2時間かかっていた作業がたった一回のクリックで終わってしまうのです!マクロを覚えれば日々の作業が格段に楽になり、かつ機械による処理なので当然ミスが断然無くなります。

2. 条件分岐を行うことができる

これはつまりセルやシートの状況に応じた処理を行うことができるということです。例えば有名な例で言えば成績処理です。例えば「90点以上を優」「80点以上を良」「60点以上を可」「60点未満を不可としセルを赤く塗りつぶす」という条件処理を自動で行うことができるのです。

3. 独自の関数を作成できる

Excelには約350個ほどの関数が備わっているのですが、求めている計算結果はそれを複雑に組み合わせないと実現できないという状況にぶち当たることがあります。しかしこうした時にマクロで作成した独自関数が威力を発揮します。この独自関数のことを「ユーザー定義関数」と呼びます。

4. イベントマクロを作成できる

通常マクロの実行には、何かボタンをクリックしたり手動でプログラムを走らせると実行されますが、このイベントマクロとは「ブックを開く」「セルをダブルクリックする」と言った特定のユーザー操作(イベント)に反応して自動的処理を行うプログラムです。

一例を下に示しておきます。

5. ダイアログボックスを作成できる

登録フォームなどで良く見かけるダイアログボックスをマクロを用いて作成することができます。通常ユーザーフォームと呼ばれており、その上にはテキストボックスやラベルなどのコントロールを配置することができます。