【VBA】どのボタンが押されたのか判定する(Application.Caller)

Excel
この記事は約2分で読めます。

マクロ(Excel VBA)で押されたボタンによって処理を変えたいと思ったことはありませんか?

Applicationオブジェクトの「Application.Caller」を使うことで、どのボタンが押されたのか判断できるようになります!

今回はサンプルとして押されたボタンの名前、文字を判定するソースをご紹介します。

スポンサーリンク

Application.Caller

ボタン(フォームコントロール)でマクロを動かします。

サンプルとして「新規」、「更新」の2種類のボタンを配置して作成したマクロを登録。

ボタン名で判定

設定したボタンを右クリックしてボタンの名前を確認します。
ここでは「新規」がボタン 1、「更新」がボタン 2と設定されています。

新規(ボタン 1)ボタンを選択
更新(ボタン 2)ボタンを選択

ボタンの文字で判定

次はボタンに記載されている文字を判定する方法です。

「Button_Text = Worksheets(1).Buttons(Application.Caller).Text」でボタンの文字を取得できるので、ボタンの文字が確定している場合は、こちらの方が使いやすいかもしれませんね。

新規ボタンを選択
更新ボタンを選択

まとめ

今回は「Application.Caller」の使い方について解説を行いました。

どのボタンを押したのか判定できるようになると、同じ処理をまとめることができるのでコードも見やすなりますね。

この記事が気に入ったら
いいね ! しよう

Twitter で
タイトルとURLをコピーしました