Excel VBA質問箱 IV

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

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


5914 / 76732 ←次へ | 前へ→

【76423】Re:VBAについて
発言  ichinose  - 14/11/28(金) 12:56 -

引用なし
パスワード
   ▼カリーニン さん:
>逆に、私は最初、シェイプを選択したら名前ボックスにシェイプの名前が出る
>ので、そこで判定できるかも、と考えたのですが、定義した名前の一覧に
>シェイプの名前が出てこなかったので使えませんでした。
これは、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 という既定名でもオブジェクトを取得できてしまいます。

この辺りの事を考慮すると、仕様をどのようにするのか ということも結構重要になってきますね
2 hits

【76412】VBAについて ゆっきーな 14/11/27(木) 18:03 質問[未読]
【76413】Re:VBAについて カリーニン 14/11/27(木) 20:32 発言[未読]
【76418】Re:VBAについて ichinose 14/11/28(金) 8:39 発言[未読]
【76419】Re:VBAについて ichinose 14/11/28(金) 8:50 発言[未読]
【76420】Re:VBAについて カリーニン 14/11/28(金) 9:35 発言[未読]
【76423】Re:VBAについて ichinose 14/11/28(金) 12:56 発言[未読]
【76426】Re:VBAについて ゆっきーな 14/11/28(金) 13:13 発言[未読]
【76428】Re:VBAについて ゆっきーな 14/11/28(金) 13:46 お礼[未読]
【76431】Re:VBAについて カリーニン 14/11/28(金) 21:07 お礼[未読]
【76424】Re:VBAについて ゆっきーな 14/11/28(金) 13:09 発言[未読]
【76427】Re:VBAについて ゆっきーな 14/11/28(金) 13:40 お礼[未読]
【76414】Re:VBAについて カリーニン 14/11/27(木) 20:51 発言[未読]
【76416】Re:VBAについて カリーニン 14/11/27(木) 23:13 発言[未読]
【76417】Re:VBAについて 通りすがり 14/11/28(金) 4:27 発言[未読]
【76425】Re:VBAについて ゆっきーな 14/11/28(金) 13:12 発言[未読]
【76429】Re:VBAについて ゆっきーな 14/11/28(金) 13:47 お礼[未読]

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