0

我在复制和粘贴一些 Excel 图表作为图片时遇到问题,并收到错误消息:“1004”Microsoft Excel 无法粘贴数据。”我的代码找到了一个预制图表,更新了范围,复制了图表,并将其粘贴到另一个工作表中。奇怪的是,这个错误是不一致的,有时它会将某个图表粘贴为图片,有时它不会。我可以使用类似的代码复制到word没有问题,如果我使用基本的复制功能,它可以重新粘贴为图表。

这是我用来复制图表并粘贴为图片的功能:

chtObj.CopyPicture xlScreen, xlPicture
 PasteSheet.Paste

如果有什么明显的我遗漏了,或者如果有任何变通方法,我愿意接受想法

谢谢

4

2 回答 2

2

我发现对于非常大的数据点,excel 很容易失去对这些点的引用。因此,如果您复制并粘贴图片,我相信它仍会以某种方式保留指向这些数据点的链接,这些数据点可能会不稳定并导致弹出 1004 错误。在 Floris、chuff 和其他 SO 成员的帮助下,我的工作是复制 chartArea 并使用 pastespecial 方法粘贴

ActiveSheet.ChartObjects(chtName).Activate
ActiveChart.ChartArea.Copy
PasteSheet.Select
PasteSheet.PasteSpecial Format:="Bitmap", Link:=False, DisplayAsIcon:=False

不幸的是,使用格式化为位图的 pastespecial 粘贴到另一个工作表的唯一方法似乎是先选择工作表粘贴,然后重新选择您从中复制的工作表。

于 2013-02-10T20:57:20.637 回答
0

唯一对我有用的是选择性粘贴,然后是“XML 电子表格”。它保留了电子表格的完整性,包括我的日期和美元金额以及网站链接。

于 2014-03-10T21:36:50.600 回答