从其他工作簿复制/粘贴

时间:2015-10-22 08:27:04

标签: excel image vba excel-vba copy-paste

我编写了代码,用于将其他工作簿中使用的范围复制并粘贴到我的工作簿中。在我的计算机中它可以工作但是当我发送给任何人时,粘贴过程会导致错误消息:

  

"目前无法显示此图像。"

enter image description here

目前的版本,我使用的是xlPasteAll:

Workbooks(fl.Name).Worksheets(sheetindex).Range("A2:P" & Lastrow).Copy
Workbooks(fl.Name).Close
Worksheets(sheetindex).Activate
ActiveSheet.Range(Cells(startrow,1),Cells(rangeCount,16)).PasteSpecial xlPasteAll

2 个答案:

答案 0 :(得分:1)

您可能想要查看此KB-Article。 它描述了将工作表或范围复制到其他工作簿时,其他工作簿中的图像发生的错误。

有类似的问题 - 我们将带有图像的工作表复制到目标工作簿中。如果在保存并关闭目标工作簿之前关闭源工作簿,则会发生此错误。 如果您打开源工作簿并关闭目标工作簿,则图像显示正确(之后关闭源工作簿并手动重新打开目标工作簿)。

KB-Article / Hoftix能够解决我们的问题 - 它也可以解释为什么它适用于您的工作站而不是其他地方。 (不同的办公室补丁......)

答案 1 :(得分:0)

复制值后,您正在关闭工作表。粘贴值后使用close命令

  Sub test()

    Workbooks(fl.Name).Worksheets(sheetindex).Range("A2:P" & Lastrow).Copy
    Worksheets(sheetindex).Activate
    ActiveSheet.Range(Cells(startrow, 1), Cells(rangeCount, 16)).PasteSpecial xlPasteAll

    Application.CutCopyMode = False
    Application.CutCopyMode = True
    Workbooks(fl.Name).Close
 End Sub