EXCEL 2010 VBA复制图形

EXCEL 2010 VBA复制图形,vba,excel,Vba,Excel,因此,我对excel复制/粘贴的工作原理感到困惑。我有一个代码,它只是把一张图复制成一张图片,然后粘贴到一张新的纸上 Worksheets(redemp).ChartObjects("Chart 6").CopyPicture pasteRow = pasteRow + 24 Worksheets("print").Cells(pasteRow, 2).Select Worksheets("print").Paste 如果我手动运行宏,它大部分时间都会工作(打开

因此,我对excel复制/粘贴的工作原理感到困惑。我有一个代码,它只是把一张图复制成一张图片,然后粘贴到一张新的纸上

    Worksheets(redemp).ChartObjects("Chart 6").CopyPicture
    pasteRow = pasteRow + 24
    Worksheets("print").Cells(pasteRow, 2).Select
    Worksheets("print").Paste
如果我手动运行宏,它大部分时间都会工作(打开多个excel文件) 如果我通过VB脚本运行宏,并且没有打开其他EXCEL文件,那么它大部分时间都可以工作。 如果我通过VB脚本运行宏并打开另一个EXCEL文件,则代码在20%的时间内有效,在80%的时间内,我会得到“运行时错误1004:工作表类的粘贴粘贴方法失败”

我做了不少研究,但还没有找到解决办法。谢谢你的帮助

代码

试试这个:

ActiveWorkbook.Worksheets(redemp).ChartObjects("Chart 6").CopyPicture
pasteRow = pasteRow + 24
ActiveWorkbook.Worksheets("print").Cells(pasteRow, 2).PasteSpecial

尝试粘贴特殊的而不是粘贴没有帮助,出现完全相同的错误目的地工作表是否曾经受到保护?没有保护。正如我所描述的,这是一种非常奇怪的行为。谢谢,但之前尝试过,但没有解决问题。编辑帖子以引用活动工作簿,以确保它不会试图粘贴到其他工作簿。谢谢,但是也没有帮助。你能给我一个你的数据的例子,这样我就可以清楚地看到你在用什么,并且自己运行一些测试吗?当然,我刚刚添加了代码。VBA所做的是在场景列表中循环,并为每个场景将会计表和图表复制/粘贴到同一工作簿中的新工作表中。
ActiveWorkbook.Worksheets(redemp).ChartObjects("Chart 6").CopyPicture
pasteRow = pasteRow + 24
ActiveWorkbook.Worksheets("print").Cells(pasteRow, 2).PasteSpecial