ワークシートに設置したコマンドボタンからマクロを呼び出す

Excel のワークシートにはコマンドボタンやチェックボックスといったコントロールを設置することができます。ワークシートにコマンドボタンを設置した場合、クリックしたときに指定したプログラム(マクロ)を呼び出して実行することができます。ここでは Excel のワークシートに設置したコマンドボタンからマクロを呼び出す方法について解説します。

(Last modified: )

ワークシートにコマンドボタンを設置する

Excel のワークシート上にコマンドボタンを設置して、クリックしたときにあらかじめ設定しておいたプログラムを呼び出して実行することができます。クリックされたときに呼びだすプログラムは事前に作成しておいてもいいですし、コマンドボタンを設置したときにプログラムを入力することもできます。

事前準備

今回はコマンドボタンをクリックしたときに、事前に作成しておいたユーザーフォームを表示するように設定してみます。 Visual Basic Editor であらかじめ次のようなユーザーフォームを作成しておきました。ユーザーフォームのオブジェクト名は UserForm1 です。

ワークシートにコマンドボタンを設置する(1)

標準モジュールの中のモジュールに次のようにプログラムを記述しました。(モジュールを追加してコードウィンドウを表示する方法については「VBAプログラムの作成と実行」を参照されてください)。先ほど作成したユーザーフォームを表示するプログラムです。あとでワークシートに設置したコマンドボタンをクリックしたときに、このプロシージャを呼び出します。

Option Explicit

Sub テスト()
    UserForm1.Show
End Sub

ワークシートにコマンドボタンを設置する(2)

これで準備は完了です。

ワークシートにコマンドボタンを設置する

それではワークシートにコマンドボタンなどのコントロールを設置します。ワークシートで「開発」タブをクリックしてください。

ワークシートにコマンドボタンを設置する(3)

リボンが表示されたら「コントロール」グループにある「挿入」をクリックしてください。

ワークシートにコマンドボタンを設置する(4)

コントロールの一覧が表示されるので「ボタン(フォームコントロール)」をクリックしてください。

ワークシートにコマンドボタンを設置する(5)

ボタンの左上の位置から右下の位置までドラッグしてください。

ワークシートにコマンドボタンを設置する(6)

「マクロの登録」ダイアログが表示されます。コマンドボタンをクリックしたときに呼び出す Sub プロシージャのプロシージャ名をクリックして選択してください。そのあとで「OK」をクリックしてください。

ワークシートにコマンドボタンを設置する(7)

ワークシートにコマンドボタンが表示されました。

ワークシートにコマンドボタンを設置する(8)

それではワークシートに設置されたボタンをクリックしてみます。

ワークシートにコマンドボタンを設置する(9)

「テスト」プロシージャが実行されて、ユーザーフォームが表示されました。

ワークシートにコマンドボタンを設置する(10)

このように Excel のワークシートにコマンドボタンを設置し、コマンドボタンがクリックしたときに任意のプログラムを実行することができます。

-- --

Excel のワークシートに設置したコマンドボタンからマクロを呼び出す方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。