Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7499 / 13645 ツリー ←次へ | 前へ→

【38805】挿入した図の名前の付け方 マキチャン 06/6/10(土) 16:24 質問[未読]
【38806】Re:挿入した図の名前の付け方 Kein 06/6/10(土) 17:05 回答[未読]
【38807】Re:挿入した図の名前の付け方 マキチャン 06/6/10(土) 19:56 お礼[未読]

【38805】挿入した図の名前の付け方
質問  マキチャン  - 06/6/10(土) 16:24 -

引用なし
パスワード
   挿入した図がシート上に複数ある場合、その特定のいくつかの図に
名前を付ける場合どのようにすればいいのでしょう?

図に名前をつける場合、例えば

 ActiveSheet.Shapes(1).Name = "AAA"  のようにして

つけられますが、複数ある場合など、どの図が
 Shapes(1)の1にあたるのかが分からないと
つけようがありません。どのようにしたら分かるのでしょう。              
 よろしくお願いします。
     

【38806】Re:挿入した図の名前の付け方
回答  Kein  - 06/6/10(土) 17:05 -

引用なし
パスワード
   シート上での位置が分かれば特定できるわけですから、図形の左上端のセル位置と
右下端のセル位置の範囲を示して、それに対して名前を付ける inputBox を出せば
良いと思います。即ち・・

Dim Obj As DrawingObject
Dim Ad As String, Nm As String

For Each Obj In ActiveSheet.DrawingObjects
  Ad = Range(Obj.TopLeftCell, Obj.RightBottomCell).Address(0, 0)
  Nm = inputBox(Ad & " の範囲にある図形に付ける名前を入力して下さい")
  If Nm <> "" Then Obj.Name = Nm
Next

というようなコードで出来るはずです。

【38807】Re:挿入した図の名前の付け方
お礼  マキチャン  - 06/6/10(土) 19:56 -

引用なし
パスワード
   ▼Kein さん:早速の回答ありがとうございます。
なるほど、

>For Each Obj In ActiveSheet.DrawingObjects

>Next

これで、そのシート上の図形がひとつづつ、手に入るので
これに名前をつければいいのですね。

できそうです。ありがとうございました。

7499 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free