从其他工作簿复制/粘贴

Copy / Paste from other workbooks

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

"This image cannot currently be displayed."

当前版本,我用的是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

您将在复制值后关闭 sheet。粘贴值后使用关闭命令

  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

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

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

KB-Article/Hoftix 能够解决我们的问题 - 它还可以解释为什么它可以在您的工作站上运行,而不能在其他地方运行。 (不同的办公室补丁...)