有效单元格引用停止运行

时间:2018-10-09 06:58:48

标签: excel vba excel-vba

我正在运行一个宏,该宏在使用范围引用的行之后突然在运行中抛出错误“ 1004”,即使该引用在该点之前仍能正常工作。请参见下面的代码段示例。

Option Explicit

Dim ws1 as Worksheet
Set ws1 = ThisWorkbook.Worksheets("Overview")
Dim PasteRange as Range
Set PasteRange = ws1.Range("AJ4:AM4") 'This is actually a variable range, but this is not important for this question
Dim CheckCell as Range
Dim ColCntr as Long
Dim ReviewCntr as Long
Dim LoopCntr as Long
ReviewCntr = ws1.Range("AA1").Value 'This cell only contains numerical values

For Each CheckCell in PasteRange
    If LoopCntr = 0 Then
        'A lot of code happens here, referencing CheckCell, all working 
        'flawlessly. Untill...
        ColCntr = CheckCell.Column + ReviewCntr 'Final good working line
    ElseIf LoopCntr <> 0 Then
        CheckCell.Offset(0, BackSet2).Interior.ColorIndex = 3 '<-- error occurs
        'Some More Code
    End If
    LoopCntr = LoopCntr + 1
Next CheckCell

突然在行上发生对象定义的错误

CheckCell.Offset(0, BackSet2).Interior.ColorIndex = 3

,而且我不知道为什么或如何突然发生此错误,尤其是由于该行上方的引用仍然有效。通过Debug DropDown菜单编译项目不会产生任何错误。在逐步浏览代码时,将鼠标悬停在Checkcell上时,它是有效的,并在弹出窗口中提供值和不存在的值。

代码到达该特定行后,弹出窗口显示为:

  

应用程序定义或对象定义的错误。

将鼠标悬停在该行的BackSet2上将读取一个数值,这意味着偏移量正常工作。将鼠标悬停在此行之前的CheckCell个引用上仍会在弹出窗口中产生相关信息。

有人可以告诉我这里是什么错误吗?

0 个答案:

没有答案