使用偏移获取应用程序或对象定义的错误
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)
.
我写了这个示例代码来重现错误:
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)
.