• ベストアンサー

エクセル マクロ 選択中の複数の図形名を表示するには?

エクセル マクロ 選択中の複数の図形名を表示するには? お世話になります。 図形を選択(単一・複数の時あり)している状態で ボタンを押すと図形の名前がメッセージボックスに表示される といった事をしたいのですが、 最近マクロを始めたばかりでどういうコードを書けばいいのかわかりません 一応↓の様に 単一選択している図形の名前を出すまでは何とか自力で出来ましたが、 Sub 図形名の表示_Click() MsgBox (Selection.ShapeRange.Name) End Sub 複数選択した場合の出す方法がわかりません。 どのようにコードを書けばいいのかご教授ください。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.3

ANo2です。 修正します。さきほどのでは1個しか選択してないとエラーになります。 Sub 図形名の表示_Click()   Dim tmp As String   Dim sp   If TypeName(Selection) = "Range" Then Exit Sub   For Each sp In Selection.ShapeRange     tmp = tmp & sp.Name & vbNewLine   Next sp   MsgBox tmp & "が選択されてます。", vbInformation, "(´^∇^)σ" End Sub

naitou-k
質問者

お礼

回答ありがとうございました。 ちゃんと単一・複数両方とも名前が出てきました^^ まだまだ分からない事だらけなので 教えて頂いたコードなどをもとにもう少し勉強してみたいと思います 助かりました ありがとうございます

その他の回答 (2)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

一案です。 Sub 図形名の表示_Click() Dim tmp As String Dim sp For Each sp In Selection tmp = tmp & sp.Name & vbNewLine Next sp MsgBox tmp & "が選択されてます。", vbInformation, "(´^∇^)σ" End Sub

  • kybo
  • ベストアンサー率53% (349/647)
回答No.1

以下のようにします。 Sub 図形名の表示_Click() Dim C As Variant For Each C In Selection MsgBox C.Name Next C End Sub

naitou-k
質問者

お礼

回答ありがとうございました ご回答頂いたコードをコピーして実行してみたのですが エラーが出てしまいました><