2016-10-25 14 views
0

私はexcel vbaを学習していますが、私はこのエラーで数時間立ち往生しています。私はここでいくつかの解決策を読んだが、私はそれを修正できない。このコードは写真パスを取得し、セルA1のコメントボックスに写真を挿入します。excel vbaオブジェクト定義のエラー

Sub test() 
    Dim TheFile As String 
    TheFile = Cells(2, 14).Value 

    Range("A1").AddComment 
    Range("A1").Comment.Shape.Fill.UserPicture TheFile 

End Sub 

これはアプリケーション定義またはオブジェクト定義エラーです。私はそれがファイルパス

+0

あなたのコードの作品です'TheFile'がピクチャの完全なパスと名前を持っている限り私にとっては – user3598756

+0

はい、セル値からパスを取る代わりに文字列に貼り付けます。それは動作します –

+0

'Range(" A1 ")、Comment.Visible = True'を追加しようとしましたか?Range(" A1 ").AndComment'と' Range( "A1")の間ですComment.Shape.Fill.UserPicture TheFile'? –

答えて

0

で正しい文字列を返します。たぶん、あなたは括弧を使用する必要がある、またはエラーがalredyそこalthougコメントを追加することで発生する、「TheFile」をチェックすると、コメントが

Sub test() 
    Dim TheFile As String 
    TheFile = Cells(2, 14).Value 

    'Only adds a comment if cell don´t already have one 
    If Range("A1").Comment Is Nothing Then Range("A1").AddComment   
    Range("A1").Comment.Shape.Fill.UserPicture (TheFile) 
End Sub 
+0

ありがとうございます。私は括弧を追加しましたまだ同じエラーがあります –

+0

If-Statementを追加しようとしましたか?コメントを追加するには? 'Range(" A1 ")ならばコメントは何もないThen Range(" A1 ")。AddComment' – FatTony

+0

私の場合、コードは完全に機能します。右のセルからパスを取ってもよろしいですか?セル(2,14)はセルN2です – FatTony

関連する問題