シート上にボタンを作成してボタンからマクロを実行する方法について説明します。
フォームコントロールのボタンを作成する方法と図形にマクロを登録する方法を説明しています。
知りたいところの見出しをクリックしてご覧ください。
マクロボタンの作り方
まず初めに実行するマクロを用意しておきます。
今回は標準モジュールに以下のプロシージャを用意しました。
実行されると「ボタンから実行されました。」のメッセージが表示されます。
このプロシージャ「Sample」を呼び出すボタンを作成していきます。
開発タブの中にある「挿入」をクリックします。
フォームコントロールのところにある四角いアイコンのボタンを選択します。
マウスでカーソルを当てるとそれぞれのアイコンの名前が表示されます。
▽Excelのバージョンによってツールバーの見た目が違いますが、Excel2021ではこんな感じです。
ボタンを押すと「マクロの登録」というウィンドウが表示されます。
プロシージャの一覧から「Sample」を選択して「OK」ボタンを押します。
「OK」ボタンを押したあとはシート上でボタンを設置したい場所を選んでマウスをドラッグして設置してください。大きさや場所はあとからでも変更可能です。
初めは「ボタン1」のようなエクセルで自動的に付けられた文字がボタンに表示されていますので、ボタンの上で右クリックをして「テキストの編集」を押してボタンに表示する名前に変更してください。
今回は「実行」という名前のボタンにしてみました。
ではボタンを押してみます。
マクロが実行されて「ボタンから実行されました。」のメッセージが表示されました。
図形(オブジェクト)をマクロボタンにする方法(色や形が自在)
上で説明したのはマクロボタンとして用意されているフォームコントロールを使用した方法でしたが、普通の四角や丸などの図形や画像をボタンにすることもできます。
例で角が丸い四角の図形をボタンにしてみます。
まずは図形を作って、図形のテキストをボタンの名前にしておきます。
図形の上で右クリックをして「マクロの登録」を押します。
実行したいマクロを選択して「OK」ボタンを押します。
これで図形をボタンにすることができました。
ボタンを実行して確認してみましょう。
マクロボタンの編集(実行するマクロを変更する)
マクロのプロシージャ名を変更するとどうなるかやってみます。
下の例では「Sample」という名前から「Sample_1」にプロシージャ名を変更してみました。
再びボタンからマクロを実行しようとすると↓のエラーメッセージが表示されました。
「マクロ’sample.xlsm!Sample’を実行できません。このブックでマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります。」と書いてあります。
マクロボタンにはプロシージャ名「Sample」のマクロを実行するように設定していたので、その「Sample」がなくなってしまい、実行できなくなってしまったためエラーが表示されました。
プロシージャ名を変更したときは必ずボタンの設定をもう1度設定しなおすようにしましょう。
ボタンンの設定を変更したい場合はボタンの上でマウスを右クリックし、「マクロの登録」を押します。
元々設定した「Sample」はなくなり、「Sample_1」が選択できますのでこれを選択して「OK」ボタンを押します。
これで設定は完了です。
ボタンからマクロが実行できるようになったことを確認してみてください。
マクロボタンを削除する方法/マクロボタンが消えない場合
マクロボタンの削除方法についてです。
ボタンの上で右クリックするとメニューが表示されますが、「削除」がありません。
そしてdeleteキーやbackキーを押してもボタンが消えないので焦ることがあります。
右クリックしてメニュー(赤点線枠)が表示されたら、メニュー以外のところで左クリックをしてみてください。
そうするとメニュー表示が消えてボタンを選択しているだけの状態になります。
この状態になったらdeleteキーやbackキーで削除が可能です。
ボタンの移動をするときもこの方法でやってみてください。
※コードのコピー利用について
・コードのコピーは自由におこなっていただけます。
・気を付けて作成はしていますがコードには誤りがある可能性があります。
・自身の環境で動作確認をしていますが、すべての方の環境で同様に動くことは保証できません。
・データの破損等の責任は負いかねますのでご自身の責任のもとお使いください。