【问题标题】:Error 1004: Microsoft Excel cannot paste the data错误 1004:Microsoft Excel 无法粘贴数据
【发布时间】:2013-01-25 10:00:35
【问题描述】:

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

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

chtObj.CopyPicture xlScreen, xlPicture
 PasteSheet.Paste

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

谢谢

【问题讨论】:

  • 欢迎来到 StackOverflow!请参阅 stackoverflow.com/questions/13327420/…> 的 SO 答案。
  • 谢谢!这是一个好的开始,但我有预制的图表,我正在尝试切换并更新它们的范围。你知道在不添加新图表的情况下设置图表的语法吗?
  • 试试 SetSourceData - 解释here
  • 很抱歉,我在解释真正的问题时做得很糟糕。我可以很好地更新图表系列。它只是粘贴,有时我运行我的程序并收到错误 - 1004“Microsoft excel 无法粘贴数据”,有时它会顺利完成。
  • 试用我提到的第一个链接中的方法:chtObj。 .ChartArea.Copy、PasteSheet.Range("A1").PasteSpecial xlPasteValues(其中“,”表示新的代码行,您将 A1 更改为 PasteSheet 上所需的任何单元格)。

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


【解决方案1】:

我发现对于非常大的数据点,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 粘贴到另一个工作表的唯一方法似乎是先选择工作表粘贴,然后重新选择您从中复制的工作表。

【讨论】:

  • 我发现“通常有效”的顺序是 - 选择包含要复制的对象的工作表。选择对象。复制它。选择要粘贴到的工作表。选择要粘贴的范围。粘贴。注意 - 我说的是“选择”,而不是“激活”......有时“激活”会产生奇怪的结果......
  • @JumboFive 你太棒了!!
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-28
    • 2020-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多