マクロを実行する方法はいろいろあります。
ここでは主な方法をいくつか紹介します。それぞれ利点、注意点がありますので誰がどのような用途で使用するのかを考慮して適切な実行方法をとるようにしてください。
リボンからマクロを実行する
リボンの「開発」タブまたは「表示」タブにある「マクロの表示」をクリック、またはショートカットキー Alt + F8 を押すことで、マクロダイアログボックスが表示されます。
そこでマクロ名を選択して「実行」ボタンを押すことでマクロを実行します。
アドインのマクロはこのダイアログボックスにはマクロ名が表示されませんが、直接マクロ名を入力することで実行できます。
ショートカットキーでマクロを実行する
さきほど開いたマクロダイアログボックスからマクロ名を選択して「オプション」をクリックすると、マクロにショートカットキーを割り当てることができます。
ショートカットキーは Ctl + 「 」 で、「 」には半角のアルファベットのみ割り当て可能です。アルファベットを小文字にすると Ctl + 「 」、大文字にすると Ctl + Shift + 「 」 になります。
Excelに標準設定されているショートカットキーと同じキーを割り当てるとマクロのショートカットキーが優先され、もとの設定は無効になります。
シート上に実行用ボタンを設置する
マクロを用いたツールなどでよく使われる方法です。
ここでは一般的によく使われる「フォームコントロール」のボタンを紹介します。
「開発」タブの「挿入」から「ボタン(フォームコントロール)」をクリックします。
シート上のボタンを配置したい位置にマウスをクリックしながら、任意のサイズにドロップします。(位置とサイズは後からでも変更できます)
「マクロの登録」ダイアログボックスが表示されるのでボタンに登録したいマクロ名を選択して「OK」をクリックします。
ボタンの表面の文字(“ボタン1″等)をクリックして、任意の文字に編集します。
適当なセルをクリックして選択を解除すれば登録完了です。
選択解除されている状態でボタンをクリックすると登録したマクロを実行します。
ボタンを編集する方法
Ctlを押しながらボタンをクリックすると再び選択状態になります。
選択状態にすればボタンの位置、サイズ、表示文字を編集することができます。
また、ボタンを右クリックすることでメニューからの操作も可能です。
ボタンを配置することで誰でも簡単にマクロを実行することができます。
やたらと複数のボタンを並べてしまうのも誤操作の原因となります。ボタンの色を変えたり配置を区分けしたりといった工夫をしましょう。
図形や画像からマクロを実行する
おなじようにExcelのシート上に配置した図形や画像にもマクロを登録することができます。
登録したい図形や画像を右クリックしてメニューから「マクロの登録」を選択します。
クイックアクセスツールバーに登録する
クイックアクセスツールバーにマクロを登録すると、すべてのExcelブックのすべてのワークシートからすばやくマクロを呼び出すことができるようになります。
クイックアクセスツールバーに登録する方法についてはこちらの記事で紹介しています。
VBEからマクロを実行する
VBEを起動した状態からマクロを実行することができます。
この方法はプログラムを作成しているときの動作確認テストや、デバッグをするときに便利です。
VBEから実行する方法もいくつかあります。
「ツール」から実行
メニューバーの「ツール」→「マクロ」を選択するとマクロダイアログボックスが開かれるので、実行したいマクロ名を選択して実行します。
Sub/ユーザーフォームの実行
まずコードウィンドウで実行したいマクロのプロシージャ内をクリックして、カーソルがプロシージャ内にある状態にします。
その状態からメニューバーの「実行」またはツールバーにある右向きの三角形 ▶ボタンをクリックします。
また、同じようにカーソルをプロシージャ内に置いた状態で F5 ボタンを押して実行することもできます。
引数を受け取るプロシージャはこの方法で直接実行することはできません。
ステップ実行
同じくカーソルを実行したいプロシージャ内に置いた状態で、メニューバーの「デバッグ」→「ステップイン」を選択する、もしくは、F8 ボタンを押すことで、マクロを1行ずつ実行することができます。
デバッグをするときにどこで問題が発生しているのかを調べるときなどに便利です。
まとめ
ここではマクロを実行する主な方法を紹介しましたが、マクロを実行する方法は他にもあります。
代表的なところではユーザーが実行を意識することなく、Excelを操作した結果(イベント)をトリガーにしてマクロを実行する方法です。(イベントマクロとも呼ばれます)
例えば、「ブックを開いたとき」「シートをアクティブにしたとき」「セルをダブルクリックしたとき」「セルの値が変わったとき」などです。
イベントマクロについては後日別途紹介したいと思います。
コメント