|
▼ゆっきーな さん:
>▼ichinose さん:
>>▼カリーニン さん:
>>>逆に、私は最初、シェイプを選択したら名前ボックスにシェイプの名前が出る
>>>ので、そこで判定できるかも、と考えたのですが、定義した名前の一覧に
>>>シェイプの名前が出てこなかったので使えませんでした。
>>これは、Shapesコレクションをグルグル回す(For Each等で)と、
>>既定名(名前ボックスの名)では、検索できない という意味ですよね?
>>
>>既定名で運用すると、二つの名前を持ってしまいますからねえ!!
>>
>>Excelを起動した直後に 新規ブックの標準モジュールに
>>
>>Option Explicit
>>Sub test()
>> Dim rect As Object
>> With ActiveSheet
>> Set rect = .Rectangles.Add(50, 50, 50, 50)
>> MsgBox .Shapes("正方形/長方形 1").Name
>> Debug.Print .Shapes("正方形/長方形 1").Name
>> rect.Name = "ichinose"
>> MsgBox .Shapes(rect.Name).Name
>> MsgBox .Shapes("正方形/長方形 1").Name
>> MsgBox .Shapes("Rectangle 1").Name
>> End With
>> Set rect = Nothing
>>End Sub
>>
>>
>>上記のコードを実行してみると、わかるように
>>新規に作成した四角形には 正方形/長方形 1 なんて名前が命名されます。
>>これのVBAで参照可能な既定名は Rectangle 1 になります。
>>
>>この四角形の名前を ichinose に代えた後も
>>正方形/長方形 1 や Rectangle 1 という既定名でもオブジェクトを取得できてしまいます。
>>
>>この辺りの事を考慮すると、仕様をどのようにするのか ということも結構重要になってきますね
>
>
>回答ありがとございます。
>いくつか投稿を頂いているので、全て試したいと思います!
>またご連絡致しますので、宜しくお願い致します。
早速試してみました。
カリーニン様のご投稿頂いた内容で、無事に動きました。
”図1”ですと、ありきたりだと思うので、
”人数情報”という名前を指定する事に致しました。
今のところは動いておりますが、画像を沢山挿入したりして検証したいと
思います!
ご回答誠に有難うございます!
|
|