2016-07-14 3 views
1

私は単純な問題があります:Book1Book2という2つのワークブックがあり、それぞれの最初のワークシートにImage controlがあり、どちらもImage1と呼ばれています。ただしImage1Book1には画像があり、Image1の画像はBook2ではありません。だから、私はSheet1Book2の下に次のコードを記述します。別のブックのブックを、それ自身のブックで以前に参照していない限り、参照できません。

Private Sub Image1_Click() 
    Image1.Picture = Workbooks("Book1").Worksheets(1).Image1.Picture 
End Sub 

残念ながら、これはエラーになり:私はBook1に別の画像コントロールを作成したとき

Error 438 (Object doesn't support this property or method).

興味深いのは、しかし、です(その後、Image2)とは、次のコードを実行しました:

Private Sub Image2_Click() 
    Image2.Picture = Image1.Picture 
End Sub 

は、このコードの仕事をしただけでなく、私は、BACを行ったとき以前に失敗したコードを実行するには、kからBook2まで、それは機能しました!

外部のワークブックで参照できるようにするには、まず画像をローカルで参照する必要がありますか?もしそうなら、これに対する回避策はありますか?

+1

あなたの最初のコードブロックは私のための最初の時間を働いてみてください:画像は –

+0

@TimWilliamsは、私はあなたが使用しているExcelのバージョンを聞いてもBOOK1にブック2からコピーされたのですか?私は2010を使用しています。 –

+0

私は2013を使用しています。 –

答えて

0

この

Private Sub Image1_Click() 
    Image1.Picture = Workbooks("Book1").Worksheets(1).OLEObjects("Image1").Object.Picture 
End Sub 
関連する問題