2012-02-22 13 views
0

私のツールバーにマクロを追加しました。基本的なチェックをしたいと思います。マクロを実行するかどうかをユーザーに尋ねるのではなく、マクロが使用されているドキュメント内に常にある特定のイメージがあるかどうかをドキュメントで確認したいと思います。 (他の提案も大歓迎です)Excel VBA - 画像上に条件がある場合

ActiveSheet.Shapes.Range(Array("Picture -767")).Select 

これは画像の選択に使用するコードです。私はイメージを管理する方法を見つけることができませんでした。私がしようとしているのは、

If Image is found then 
    Part1 
    Part2 
Else 
    MsgBox 'Macro is not intended for this document' 
End if 

すべてのご協力ありがとうございます!

答えて

1

これは動作するはずです:

Option Explicit 

Sub PicTest() 
Dim Shp As Shape 

    On Error GoTo ErrorExit 
    Set Shp = ActiveSheet.Shapes("Picture -767") 
    On Error GoTo 0 

    ActiveSheet.Shapes.Range(Array("Picture -767")).Select 
    Part1 
    Part2 
    Exit Sub 

ErrorExit: 
    MsgBox "Macro is not intended for this sheet" 
End Sub 
+0

オプションが明示的に何ですか? – CustomX

+0

作品、thaznks! – CustomX

+0

VBAでツール>オプション>エディタ> [x]自動構文チェックに移動し、それをオンにします。これはOPTION EXPLICITをあなたが開いたり/追加した新しいモジュールの一番上に置きます。既存のモジュールに手動で追加できます。 OPTION EXPLICITは本質的に「コードチェッカー」であり、すべての変数を宣言し、それらの使用をチェックし、大量のスペルやコードエラーを指摘します。これにより、時間の経過とともに何時間ものデバッグが省かれます。 OK? –

関連する問題