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

【VBA】どのボタンが押されたのか判定する(Application.Caller) VBA
この記事は約2分で読めます。

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

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

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

スポンサーリンク
[ad01]

Application.Caller

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

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

ボタン名で判定

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

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

ボタンの名称で判定

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

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

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

まとめ

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

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

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

Twitter で

当ブログは投げ銭システムを導入しています。

記事で公開しているVBAのコードが「役に立ったよ!」「有料級の情報だったよ!」と思って下さる方からの応援をお待ちしております。

梅屋ラボを応援する

今後の記事作成の励みになります…orz

VBA
スポンサーリンク
[ad01]
うめをフォローする
梅屋ラボ
タイトルとURLをコピーしました