VBA excel + PAste特殊形状

时间:2018-03-26 09:47:41

标签: vba image paste

我在工作表中插入图片(并保存在文档中)时遇到问题。我不是VBA的专家,所以我真的需要有人来帮助我找到错误。

以下是代码:

activesheet.paste

所以在表格“Ficha_AMV”中的C3中我有一张图片,我的目标是将其复制到新的工作表(“ws”)。我需要在ws工作表中保存这张图片,(不是链接)。

所以我试过

ActiveSheet.PasteSpecial Format:="Picture (JPEG)", Link:=False, _DisplayAsIcon:=False 并使用链接

复制

然后我尝试了

{{1}}

并返回以下错误

  

运行时错误“1004”:Worksheet类的PasteSpecialo方法失败

1 个答案:

答案 0 :(得分:1)

如果它已作为图片存在,则使用对象的名称

Option Explicit

Sub test()

    Dim wb As Workbook
    Dim wsSource As Worksheet
    Dim ws As Worksheet

    Set wb = ThisWorkbook
    Set wsSource = wb.Worksheets("Ficha_AMV")
    Set ws = wb.Worksheets("Sheet1")             'change as appropriate

    Dim pic As Shape

    Set pic = wsSource.Shapes("Picture 2")       'change as appropriate

    pic.Copy
    ws.Range("C3").PasteSpecial

End Sub

如果还没有图片使用:

Option Explicit

Sub test()

    Dim wb As Workbook
    Dim wsSource As Worksheet
    Dim ws As Worksheet

    Set wb = ThisWorkbook
    Set wsSource = wb.Worksheets("Ficha_AMV")
    Set ws = wb.Worksheets("Sheet1")             'change as appropriate

    wsSource.Range("C3").CopyPicture
    ws.Range("C3").PasteSpecial

End Sub