• ベストアンサー

フォームで作成したボタンのCharacters.Textを取得するマクロ

エクセル97です。 フォームでワークシート上に作成したボタンのCharacters.Textに記入した文字列をそのボタンをクリックした場合取得するマクロはどのようなものになるでしょうか? ちなみにこう書いたらペケでした。 Sub test() Dim SN As String SN = ActiveSheet.activebuttons.Characters.Text MsgBox SN End Sub

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

すでに解決されたようですが、以下でやるとボタンに限らず、図形やチェックボックスなどのオブジェクトの名前がクリックで取得できます。 Sub TEST_Click() MsgBox ActiveSheet.DrawingObjects(Application.Caller).Caption End Sub

AQUALINE
質問者

お礼

なるほど! これですべてOKです!!

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

2000ですが 右クリックで、マクロの登録でaaa()を登録する。 Sub aaa() ActiveSheet.Buttons.Select nam = Selection.Name Selection.Characters.Text = "www" MsgBox Selection.Characters.Text End Sub ボタンをクリックするとwwwと表示されましたが。

AQUALINE
質問者

お礼

ありがとうございます。 この方法でも可能でしたが、シートを保護するとエラーになってしまうので今回はNo1の方の方法でやることにします。 おせわになりました。

  • kajkaj
  • ベストアンサー率13% (2/15)
回答No.1

マクロをいじくって実験してみました 呼び出しもとを特定することで可能かと思います Sub test() Dim SN As String SN = ActiveSheet.Buttons(Application.Caller).Characters.Text MsgBox SN End Sub こうやったらできたというだけなのですべての場合に応用できるかどうかはわかりませんm(_ _)m

AQUALINE
質問者

お礼

ありがとうございます。 うまく動きました。 どういう場合に適用できないかはわかりませんが、今回とりあえず教えてもらった方法で対処することにします。 助かりました。