Excel VBA質問箱 IV

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

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


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

【72289】Shapeのインデックス番号を固定したい マクロはひとまずコピペ 12/7/9(月) 11:16 質問[未読]
【72290】Re:Shapeのインデックス番号を固定したい UO3 12/7/9(月) 12:33 発言[未読]
【72293】Re:Shapeのインデックス番号を固定したい マクロはひとまずコピペ 12/7/9(月) 16:45 お礼[未読]
【72295】Re:Shapeのインデックス番号を固定したい マクロはひとまずコピペ 12/7/9(月) 23:07 発言[未読]
【72296】Re:Shapeのインデックス番号を固定したい UO3 12/7/10(火) 5:59 発言[未読]
【72297】Re:Shapeのインデックス番号を固定したい マクロはひとまずコピペ 12/7/10(火) 10:38 お礼[未読]

【72289】Shapeのインデックス番号を固定したい
質問  マクロはひとまずコピペ  - 12/7/9(月) 11:16 -

引用なし
パスワード
   ワークシートに多くの図形があり、そのうちの特定の図形のみ、そのインデックス番号を基に移動・回転をさせています。 ActiveSheet.Shapes(i)

ところが別の図形を消したり、新たに追加したり、あるいはこのファイルを別人のPC環境で使うとインデックス番号が変わってしまい、別の図形が選択されてしまいます。

インデックスを固定する、あるいは独自な図形名を付けてそれを基にインデックス番号を求める、ようなことはできないでしょうか?

【72290】Re:Shapeのインデックス番号を固定したい
発言  UO3  - 12/7/9(月) 12:33 -

引用なし
パスワード
   ▼マクロはひとまずコピペ さん:

▼マクロはひとまずコピペ さん:

こんにちは
その図形を選択して

Sub Sample()
  Dim i As Long
  Selection.Name = "好きな名前"
  i = ActiveSheet.Shapes("好きな名前").DrawingObject.Index
  MsgBox i
End Sub

でも、無理やり ActiveSheet.Shapes(i) とせずとも
ActiveSheet.Shapes("好きな名前") で指定可能ですよ。



【72293】Re:Shapeのインデックス番号を固定したい
お礼  マクロはひとまずコピペ  - 12/7/9(月) 16:45 -

引用なし
パスワード
   UO3さん、

「インデックス番号がどうなっているかは気にせず、図形ごとに名前をつけてやれば、その名前から図形をリファーできる」 

何とも単純明快、まさに狙っていたことです。 トライアルをやってみましたが完璧です。 誠にありがとうございました!!!

【72295】Re:Shapeのインデックス番号を固定したい
発言  マクロはひとまずコピペ  - 12/7/9(月) 23:07 -

引用なし
パスワード
   遅まきながら、ですが EXCEL2010 Pro Plusの場合、

「ホーム」 > 「検索と選択」 > 「オブジェクトの選択と表示」でずらっと出てくる一覧表でオブジェクトの名前をダブルクリックすれば、直接変更することができることを知りました。 こうして名前を固定すればあとは、VBAで名前を引数にして指定できますね。

【72296】Re:Shapeのインデックス番号を固定したい
発言  UO3  - 12/7/10(火) 5:59 -

引用なし
パスワード
   ▼マクロはひとまずコピペ さん:

そうです。
でも、バージョンを問わず、
・名前を変更したい図を選択
・エクセル画面の左上、名前ボックスに図の名前が表示される。
・そこをクリックして好きな名前にしてエンター

これでもいいんですよ。

【72297】Re:Shapeのインデックス番号を固定したい
お礼  マクロはひとまずコピペ  - 12/7/10(火) 10:38 -

引用なし
パスワード
   「名前欄に画像名が出てきて直接編集すればよい」
うーん、言われてみれば自明の理なんですが、簡単なことだったですね。 

たまたま持っている2003時代の解説書を責めるつもりはないですが、ピンポイントのヒント集みたいで網羅性が欠けていて、悩ましかったです。 MSのVisualStudioに入ると、網羅性はあるのでしょうが、辞書みたいなもので全くとっつきにくい、、、簡単にヘルプが使えればよいのですが。  ということでMSは上質の解説書を発行するマーケット・オポチュニティーを残してくれている、と理解しましょう! 真剣に悩んで問題点を煮詰めて相談すればこうしてネットでご親切な答えがいただけることに感謝します。  

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