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

2種類以上のオートシェープ選択し、グループ化した後に、そのグループ化した図形のオブジェクト名を取得したいです。私の取得の流れです。
(1)すでにグループ化前の図形は複数選択されている。
(2)グループ化後には、グループ図として選択されたままになっているはず。
(3)下記でオブジェクト名が取得できるはず。
  Selection.ShapeRange.Name

ですが、グループ化処理後に、自動的に選択が図形からはずされてしまい、エラーとなってしまいます。
エクセルシート上に他にもグループ化された図形が複数あるため、今対象にしているグループ化した直後の図形のオブジェクト名をどう取得すればよいかがわからないでいます。知りたいのはあくまで、今グループ化したそのオブジェクト名になります。

A 回答 (2件)

sub macro1()


 selection.group.select
 msgbox selection.name
end sub
のようで良いでしょう。


グループ化すると選択が解除される事を見越して
sub macro2()
 dim o
 on error resume next
 set o = selection.group
 msgbox o.name
end sub
のようにしても構いません。
    • good
    • 0

図形をグループ化した時点ではグループ1とかグループ2とかの番号が順番で付きますが、名前ボックスでお望みの名前を入力してEnterすれば別の名前に変更できますね。


マクロの記録で試験したところでは、そのような操作は例えば次のように記録されています。
Selection.ShapeRange.Group.Select
Selection.ShapeRange.Name = "ketugou"
Selection.Name = "ketugou"
名前ボックスでの修正を行わなければ
Selection.ShapeRange.Group.Select
のままでグループ1とかの名前の取得はされていませんね。
    • good
    • 2

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A