PR

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

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

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

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

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

Application.Caller

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

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

ボタン名で判定

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

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

ボタンの名称で判定

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

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

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

まとめ

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

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

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

Twitter で
この記事を書いた人

便利なガジェットレビューやPCのトラブル解消記事を書いています。
単調な繰り返し作業が苦手なので、作業効率化の仕組みを記事にしています。
月間9万PVを突破しました!
商品レビューのご依頼は「お仕事の依頼について」をご確認ください。

うめをフォローする
VBA
タイトルとURLをコピーしました