|
Sub test1()
Dim shp As Shape
Const nf = -2147024809
On Error Resume Next
Set shp = ActiveSheet.Shapes("図1")
If Err.Number = 0 Then
MsgBox "存在します"
ElseIf Err.Number = nf Then
MsgBox "指定のシェイプは、ありません"
Else
MsgBox "その他のエラー" & Err.Description
End If
On Error GoTo 0
End Sub
エラートラップを拾うカリーニンさんの最初の投稿が
良いと思いますけどねえ・・・。
コレクションをぐるぐる回す方法は、シート内の貼り付ける図形の数なんて
たかが知れていますから、大したことはないですけど、図形名の順次検索ですよね?
Shapes("図1") とすれば、たぶん、ハッシュ法を採用しているはずですから、
検索は速いと思ますよ!!
そうでなければ、コレクションにする意味がないですよね
因みに
通りすがりさんの投稿の場合、
>if IsObject(Evaluate("図1")) Then
セルに図1 という名前を付けても反応してしまいますけどねえ
|
|