プロが教えるわが家の防犯対策術!

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

お世話になります。
図形を選択(単一・複数の時あり)している状態で
ボタンを押すと図形の名前がメッセージボックスに表示される
といった事をしたいのですが、
最近マクロを始めたばかりでどういうコードを書けばいいのかわかりません

一応↓の様に 単一選択している図形の名前を出すまでは何とか自力で出来ましたが、

Sub 図形名の表示_Click()
MsgBox (Selection.ShapeRange.Name)
End Sub

複数選択した場合の出す方法がわかりません。
どのようにコードを書けばいいのかご教授ください。

A 回答 (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
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/09/01 22:18

一案です。



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
    • good
    • 0

以下のようにします。



Sub 図形名の表示_Click()
Dim C As Variant
For Each C In Selection
MsgBox C.Name
Next C
End Sub
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/09/01 22:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!