工作表类的运行时错误'1004'PasteSpecial方法已完成(仅当CHROME打开时)

时间:2019-10-18 21:13:02

标签: excel vba paste

我刚遇到此错误。我不确定它的形式。我已经运行了数千次这样的代码,而现在由于某些愚蠢的原因,它失败了。我一直在看这段代码,而且几个月来我都没有变过,除了这还是VBA录制工具生成的相同代码。这是错误消息:Error Message

这是我的程序卡住的部分代码:

Sheets("Sheet1").Select
Cells(wHeaders, 1).Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Copy
Workbooks(CurrWB).Activate
Sheets(CurrSheet).Select
Sheets(CurrSheet).Activate

Cells(CurrRow, CurrCol).Select
ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:= _
    False, NoHTMLFormatting:=True     'THIS IS THE LINE WITH THE ERROR

ActiveSheet.Paste
Selection.EntireColumn.AutoFit

因为没有任何更改,并且代码生成器仍在创建同一行,所以我非常困惑。帮助将是惊人的。同样因为我知道你们都会问,是的,所以定义了我的变量。

Dim CurrSheet As Variant
Dim CurrWB As Variant
Dim CurrCol As Variant
Dim CurrRow As Variant

最后一个是Sub中传递的,即Sub CoolProg(Optional wHeaders As Integer = 1)

更新:   我不确定为什么会这样,但是当我对调试器所在的行进行以下编辑时,错误似乎消失了。

Worksheets(CurrSheet).PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:= _
    False ', NoHTMLFormatting:=True

我所做的只是注释掉NoHTMLFormatting部分,有人可以帮我理解为什么会起作用,也许是此错误的根本原因是什么。我想确保自己理解这一点,以便可以解决所需的代码。

更新#2    ....因此,仅当我打开Goog​​le Chrome浏览器窗口并运行此代码时,才会发生此错误。我关闭了Chrome,它正常工作。有一个类似的任务依赖于此,但是我知道它的计算量很大,并且在其中使用了此子对象,因此无法完成。我检查了任务管理器,发现chrome在顶部(PS吸了资源),所以我杀死了它,现在它可以工作了。如果有人可以解释发生了什么,那将是惊人的。

更新#3

我在有问题的线路运行之前添加了2秒的暂停,这似乎可以解决问题。我不知道为什么这行得通,但是似乎消耗了更多资源,并且我的机器需要一些时间来释放一些资源,以便它可以工作。如果有人对为什么这是一个行之有效的解决方案有所了解,那就太好了。现在的代码如下:

Cells(CurrRow, CurrCol).Select

Application.Wait (Now + TimeValue("0:00:02")) 'Added this line for the delay
ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:= _
    False, NoHTMLFormatting:=True 'this is the problem code

0 个答案:

没有答案