【Excel VBA】フォームコントロールボタンのテキストを取得する

エクセルでフォームコントロールボタンをシートに設置し、クリックしたボタンのテキストを取得したいことがあります。

この記事では、フォームコントロールボタンをクリックしたときのテキストを取得する方法をご紹介します。

動作イメージ
フォームコントロールボタンのテキストを取得 実行結果1
目次

フォームコントロールボタンのテキストを表示するコード

次のコードは、押されたフォームコントロールボタンのテキストを取得し、メッセージボックスでそのテキストを表示します。

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

実行結果は、次の通りです。

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

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次