Excel 运行时错误';1004';粘贴工作表类fialed的特殊方法(仅当CHROME打开时)

Excel 运行时错误';1004';粘贴工作表类fialed的特殊方法(仅当CHROME打开时),excel,vba,paste,Excel,Vba,Paste,我最近遇到了这个错误。我不知道它是从哪里来的。我已经将这段代码运行了数千次,现在由于一些愚蠢的原因它失败了。我一直在看这段代码,几个月来都没有改变。除此之外,这段代码仍然是VBA录制工具生成的相同代码。这是错误消息: 这是我的程序被卡住的代码: Sheets("Sheet1").Select Cells(wHeaders, 1).Select Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select Selection.Copy W

我最近遇到了这个错误。我不知道它是从哪里来的。我已经将这段代码运行了数千次,现在由于一些愚蠢的原因它失败了。我一直在看这段代码,几个月来都没有改变。除此之外,这段代码仍然是VBA录制工具生成的相同代码。这是错误消息:

这是我的程序被卡住的代码:

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(可选Wheader为整数=1)

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

Worksheets(CurrSheet).PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:= _
    False ', NoHTMLFormatting:=True
我所做的只是注释掉了NoHTMLFormatting部分,有人能帮我理解为什么会这样,也许是这个错误的根本原因。我想确保我理解这一点,以便我能够修复需要修复的代码

更新#2 .... 因此,只有当我打开一个GoogleChrome窗口并运行此代码时,才会发生此错误。我关闭了Chrome,它工作了。有一个类似的任务依赖于此,但我知道它的计算量非常大,它在其中使用了这个sub,我无法通过它。我检查了任务管理器,发现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

隐式后期绑定:
ActiveSheet
生成一个
对象
。尝试使用
工作表
对象。
作为变量
只是更晚绑定
CurrSheet
想成为
工作表
CurrWB
想成为
工作簿
CurrCol
CurrRow
想成为
长整型。另外:@MathieuGuindon I疲劳
工作表(CurrSheet)。粘贴特殊格式:=“HTML”,链接:=False,显示图标:=False,NoHTMLFormatting:=True
并且我在同一点上得到相同的错误。还有,为什么这会突然停止工作?您是否尝试过使用
Range.PasteSpecial
,这样您就不需要选择任何单元格和激活任何工作表了?几乎不需要选择和激活,而且它们是一种极易出错的方法。