我无法将一些Excel图表复制并粘贴为图片并收到错误:“1004”Microsoft Excel无法粘贴数据。“我的代码找到预制图表,更新范围,复制图表并将其粘贴到另一张表。奇怪的是,这个错误是不一致的,有时它会将某个图表粘贴为图片,有时它不会。我可以使用类似的代码复制到单词而没有任何问题,如果我使用基本的副本功能,它可以作为图表重新使用。
这是我用来复制图表并粘贴为图片的功能:
chtObj.CopyPicture xlScreen, xlPicture
PasteSheet.Paste
如果有一些明显的东西我缺失或者有任何工作,我愿意接受想法
谢谢
答案 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”。它保留了电子表格的完整性,包括我的日期和金额以及指向网站的链接。