使用偏移获取应用程序或对象定义的错误

Getting application or object defined error using offset

我写了这个示例代码来重现错误:

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,但我不知道为什么。如果 B1 具有相同的值,通常它应该检查 C1。也许我只是瞎了眼。谁能告诉我为什么这不起作用?

Offset 属性 of Range 对象的参数顺序为:Offset(RowOffset, ColumnOffset),您的代码引用了单元格 C0,但不存在,试试 Offset(0,-1).