У меня работает макрос, который неожиданно выдает ошибку '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
ссылки, расположенные до этой строки, по-прежнему отображается соответствующая информация во всплывающем окне.
Может кто-нибудь сказать мне, в чем здесь ошибка?