マクロって使っていますか?Excelシート上で同じ操作を繰り返す必要がある場合などで、手動での作業を自動化できる便利な機能です。
この記事では、
という基本的な内容から、
など応用的な内容についても解説していきます。
今回はマクロについて、使い方をわかりやすく解説します!
この記事の目次
マクロとは
マクロとは一般的には「大きい」、「巨大な」という意味ですが、コンピュータ関係ではコンピュータの操作を自動化するための機能のことを指します。Excelのマクロもシート上で行う手動の操作を自動化するために使われます。
自動化するための機能ですので、繰り返し同じ作業をしなければならない場合などに、マクロを実行することで手動の操作が不要になり手間を省くことができます。
Excel以外のMicrosoft Office、例えばWordやPowerPoint、Accessなどにもマクロ機能が備わっています。
ちなみにプログラミング言語では、C言語やC++でもマクロ機能を使用することができます。
VBAとマクロの違い
VBAとマクロは正確にいうと別モノです。
VBAは(Visual Basic Application)の略で、マイクロソフト社が提供しているプログラミング言語の名称です。
VBAはExcel以外にも、Access、Word、PowerPointなどでも使うことができて、これらの操作を自動化するマクロ機能のための道具がVBAということになります。
つまり、マクロとは自動化するための機能のいうことです。
VBAとはそのマクロ機能を実行するためのプログラミング言語ということになります。VBAやマクロについてはこちらでも詳しく解説しています。ぜひ参考にしてください。

マクロを使って何ができるか?については、こちらで詳しく解説していますので、ぜひ参考にしてください。


マクロ作成の準備
マクロを使うために必要な準備について確認しましょう。
マクロを有効にする
セキュリティの設定によってはマクロが使えない場合があります。ですので、まずはセキュリティを設定しましょう。
Excelシートのツールバーから[ファイル]をクリックします。
これでセキュリティの設定は完了です。
Excelシートからマクロを呼び出す
Excelシートからマクロを呼び出せるように設定します。
まず、ツールバーから[ホーム]を選択し、[リボンのユーザー設定]をクリックします。
ツールバーから[開発]が選択できるようになり、[Visual Basic]をクリックします。
開発環境が現れます。
ツールバーの[挿入]をクリックし、[標準モジュール]をクリックするとマクロのコードを記述できるようになります。
マクロを実行、停止終了する方法
マクロを実行、停止する方法についてみていきましょう。
マクロの実行
まず、実行したいマクロをクリックします。そして、F5キーを入力すると実行されます。
また、ツールバーから [実行] ボタンをクリックすることで実行することもできます。
その他にも、ツールバーの[実行] をクリックして [Sub/ユーザーフォームの実行] をクリックすることでも実行できます。
マクロの停止
マクロを停止する場合は、ツールバーの[リセット]ボタンをクリックします。
また、ツールバーの[実行] をクリックして [リセット] をクリックすることでも停止できます。

マクロを強制終了する方法
無限ループなどを実行してしまい、強制終了したい場合があります。
そんな場合は、[Esc]キーまたは[Ctrl] キーを押したまま [Break] キーを押します。
マクロボタンを作成する方法
VBAでマクロのコードを記述して、実行はExcelのシート上で操作したい場合があります。
そんな場合は、シート上にマクロボタンを作成し、作成したボタンをクリックすることで処理を実行できます。
マクロボタンは以下のようにして作成します。Excelシートのツールバーの[開発]をクリックして、[挿入]ボタンからフォームコントロールの[ボタン]をクリックして選択します。
マウスでボタンの大きさと配置位置を設定すると、マクロダイアログが表示されます。
マクロダイアログから処理を行うマクロ名を選択して[OK]ボタンを押します。
マクロボタンが作成されます。
なお今回、処理を行うマクロとして選択したサンプルコードは以下のとおりです。
Sub macro1() MsgBox "Hello VBA!" End Sub
ボタンを押して実行しると以下のようになります。
マクロから他のマクロを呼び出す方法
マクロから他のマクロを呼び出して実行したい場合があります。
Callステートメントを使って以下のように記述します。
Sub macro1() MsgBox "Hello VBA!" End Sub Sub macro2() Call macro1 End Sub
実行結果:
このサンプルコードではmacro2を実行しています。
Callステートメントによりmacro1が呼び出され、MsgBoxが表示されています。
マクロを削除する方法
マクロを削除する方法をご紹介します。
削除したいモジュールを選択して右クリックします。選択したモジュール名の解放をクリックすると削除することができます。
マクロを動かしてみよう!
Excelのマクロの使い方がわかったら、次は実際にマクロを動かしてみましょう!マクロを動かすにはプログラミング言語VBAでコードを記述する必要があります。
VBAでコードを記述するには、VBAで使われる関数やIfステートメント、Forステートメントなどの基本構文を使えるようにならなければなりません。
関数や基本構文について簡単に説明しておきます。
VBA関数を使って簡単にマクロを作ろう!
VBAには関数と呼ばれる便利なツールが用意されています。
Excelシートのセルに入力する関数と似たようなもので、あらかじめ用意されているので、使いこなせるようになると簡単に処理を行うことができるようになります。
VBAの関数については、こちらで詳しくまとめていますので、ぜひ参考にしてください。

Forで処理を繰り返してみよう!
基本構文の代表的なものとしてFor Nextステートメントがあります。For Nextステートメントでは、同じ処理を決められた回数繰り返します。
マクロはExcelシート上で行う繰り返しの作業を自動化する機能でした。ですので、For Nextステートメントを使えるようになれば、マクロで同じ作業を繰り返ことができるようになりますので、自動化へ向けて一歩前進することになります。
For Nextステートメントの使い方については、こちらのサイトで詳しく解説していますので、ぜひ参考にしてください。

Ifで条件により処理を変えてみよう!
基本構文にはFor Nextステートメントの他にも Ifステートメントというものがあります。
条件によって処理を変えたい場合に使います。条件によって処理を変えることができれば、マクロで自動化できる処理内容も増えてきます。
Ifステートメントの使い方については、こちらのサイトで詳しく解説していますので、ぜひ参考にしてください。

まとめ
ここでは、マクロについて説明しました。マクロをこれから使う場合に必要な情報ばかりです。
どれも使いこなすことができるように、この記事を何度も参考にして下さいね!