エクセルでフォームコントロールボタンをシートに設置し、クリックしたボタンのテキストを取得したいことがあります。
この記事では、フォームコントロールボタンをクリックしたときのテキストを取得する方法をご紹介します。
動作イメージ

目次
フォームコントロールボタンのテキストを表示するコード
次のコードは、押されたフォームコントロールボタンのテキストを取得し、メッセージボックスでそのテキストを表示します。
Sub ボタンテキスト取得()
Dim ButtonText As String
ButtonText = ActiveSheet.Buttons(Application.Caller).Text
MsgBox ButtonText
End Sub
フォームコントロールボタンのテキストをメッセージボックスで表示する例
次のように、モジュール作成後コードを入力し、ボタンにマクロ登録を行います。

■実行結果


解説
ButtonTextという変数を宣言し、ActiveSheet.Buttons(Application.Caller).TextでButtonTextに代入します。
メッセージボックスで押されたボタンの文字列を表示します。
フォームコントロールボタンのテキストを取得した後の使用例
私がよく使う使用例について紹介します。
ボタンを押すとそのシートに移動するという簡単なコードです。
STEP
ボタンのテキストとシート名を同じにします。

STEP
次のコードを入力し、ボタンにマクロの登録を行います。
Sub シート移動()
Dim SheetName As String
SheetName = ActiveSheet.Buttons(Application.Caller).Text
Sheets(SheetName).Activate
End Sub
実行結果は、次の通りです。


シート移動のコードは、たくさんのシートを設置している場合に、とてもおすすめです。
コメント