【发布时间】:2017-12-05 19:35:50
【问题描述】:
所以我将一堆数据复制并粘贴到另一个电子表格中。我认为最后一点会很容易,因为我已经在这个脚本中做了很多次。
除非失败。这是我的部分代码:
ProdCK.Worksheets("CK week").Range("A11:AY28").CopyPicture Appearance:=xlScreen
Worksheets("Prod.CK").Paste Destination:=Worksheets("Prod.CK").Range("A1")
ProdCK.Worksheets("CK week").Range("I131:BO148").CopyPicture Appearance:=xlScreen
Worksheets("Prod.CK").Paste Destination:=Worksheets("Prod.CK").Range("A22")
第一个工作正常,但第二个在 CopyPicture 操作时崩溃。我已经通过首先将范围存储在一个范围中,检查数据是否存在于“手表”屏幕中然后在其上调用 CopyPicture 来检查该范围是否存在,但仍然给出了一个
424 错误需要对象
谁能帮我解释一下?
更新:
错误其实是
-2147417851 自动化错误服务器抛出异常
我的错误处理代码有一个错误,它将自动化错误变成了 Object required 错误。同样有趣的是,当我在这个 Sub 中使用可见的 Excel.Application 时,错误不会发生。我的可见和不可见设置之间的唯一区别是Visible = True 和ScreenUpdating = True。
【问题讨论】:
-
你的代码中是否有这 4 个语句,即它们之间没有其他语句?
-
是的,它们是一个接一个的。还有其他的潜艇,我在其中做完全相同的事情,然后它确实起作用了。
-
并且“我已经通过首先将其存储在一个范围内...然后在其上调用 CopyPicture 来检查该范围是否确实存在”是否意味着您尝试插入诸如
Dim rng As Range : Set rng = ProdCK.Worksheets("CK week").Range("I131:BO148") : rng.CopyPicture Appearance:=xlScreen之类的行和它仍然在rng.CopyPicture部分崩溃,而不是Set rng = ...部分? -
是的,这正是我所做的。
-
ProdCK 对象等于什么?