错误1004:Microsoft Excel无法粘贴数据

时间:2013-02-09 23:35:33

标签: excel-vba error-handling copy-paste word-vba vba

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

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

chtObj.CopyPicture xlScreen, xlPicture
 PasteSheet.Paste

如果有一些明显的东西我缺失或者有任何工作,我愿意接受想法

谢谢

2 个答案:

答案 0 :(得分: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格式化为位图粘贴到另一个工作表的唯一方法是首先选择工作表,然后重新选择复制的工作表。

答案 1 :(得分:0)

唯一对我有用的是Paste Special然后是“XML Spreadsheet”。它保留了电子表格的完整性,包括我的日期和金额以及指向网站的链接。