[[20081203183540]] 『オートシェイプの名前をセルに・・・』(CHISA) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『オートシェイプの名前をセルに・・・』(CHISA)

 こんにちわm(__)m
 またオートシェイプについての質問です。

 四角形のオートシェイプを2つ以上作ると、それぞれのオートシェイプに
 マクロのコード上名前がつくみたいです。

 ActiveSheet.Shapes("Rectangle 1").Select
           -----------
             ↑
        (この部分のことです)

 このオートシェイプの名前をセルに表示することはできますか?

 例えば、複数あるオートシェイプの1つを選択(クリック)して、
 ユーザーフォームのコマンドボタンを押すと、
 セルA1にRectangle 1と表示させるみたいな感じです。

 単純に考えて

 Private Sub CommandButton1_Click()
  Cells(1,1).value = ActiveShapes.Name
 End sub

 と書いてみましたが、やっぱりダメでした(;_;)
(CHISA)

 ↓を標準モジュールに記述しシェイプに登録してみてください。

 Sub test()
  MsgBox ActiveSheet.Shapes(Application.Caller).Name
 End Sub

 なお、表示される名前は名前ボックスに表示されるものとは違います。
 (MARBIN)

 MARBINさんありがとうございますm(__)m
 MsgBoxの部分を変更して思いどおりに出来上がりました♪♪♪

 ちなみに上記のコードはシェイプ登録限定で、
 コマンドボタンとかでは動かないんですか?
 (CHISA)

 コマンドボタンなどからでしたら、↓でいけるとおもいます。

 If TypeName(Selection) = "Range" Then Exit Sub
 MsgBox Selection.Name
 (MARBIN)

 MARBINさんばっちりです♪

 ありがとうございましたm(__)m
 (CHISA)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.