2015-08-11 5 views
1

Я написал этот пример кода reporduce ошибку:Получение приложения или объекта определяется ошибка с использованием смещения

Sub test() 

Dim rng As Range 
Dim cell As Range 

Set rng = ThisWorkbook.Worksheets(1).Range("C1:C3") 

For Each cell In rng 
    If cell.Value2 = cell.Offset(-1, 0).Value2 Then 
    cell.Offset(1, 0) = "TRUE" 
    End If 
Next cell 

End Sub 

В строке If cell.Value = cell.Offset(-1, 0).Value2 я получаю Application or Object defined error, но я понятия не имею, почему. Обычно он должен проверять C1, если B1 имеет то же значение. Может быть, я просто слепой. Может ли кто-нибудь сказать мне, почему это не работает?

ответ

1

Offset свойство Range объекта имеет порядок аргументов: Offset(RowOffset, ColumnOffset), код относится к клеткам C0, что не существует, попробуйте Offset(0,-1).

Смежные вопросы