| 
    
     |  | ▼xacronincs さん: 
 こんにちは
 シート上のシェープの名前の有無チェックは以下でも(だいたいは)可能です。
 シェープというより、その名前のオブジェクトが存在するかどうかを判定していますので
 Test要注意のようなこともありますが。
 なお、私自身は使ったことはありませんが、シェープのIDについては以下のコードにいれてみました。
 
 新規ブックに任意の図形を1つ作成して試してみてください。
 
 Sub Test()
 Dim svn As String
 svn = ActiveSheet.Shapes(1).Name
 MsgBox ActiveSheet.Shapes(1).ID
 
 MsgBox IsObject(Evaluate(svn))
 MsgBox IsObject(Evaluate("Test"))
 
 ActiveSheet.Shapes(1).Name = "Test"
 MsgBox IsObject(Evaluate(svn))
 MsgBox IsObject(Evaluate("Test"))
 
 ActiveSheet.Shapes(1).Name = "TestABC"
 MsgBox IsObject(Evaluate(svn))
 MsgBox IsObject(Evaluate("Test"))
 MsgBox IsObject(Evaluate("TestABC"))
 End Sub
 
 Sub Test要注意()
 MsgBox IsObject(Evaluate("A1"))
 End Sub
 
 |  |