在Excel VBA中使用偏移量时出错

我在VBA中使用偏移量函数。 但是,例如,当我在第一行, offset(-5,0)返回一个错误消息。 当然,当我在第一排时,我不能抵消-5行。

我如何检查它?

我试着使用if rangeEx = range("A1")但它不工作。

您可以检查单元格的.Row属性,看它是否小于或等于5。

 Sub Test() Dim RangeEx As Range Set RangeEx = ActiveCell If RangeEx.Row <= 5 Then MsgBox "Invalid!" Else MsgBox "Offset at " & RangeEx.Offset(-5, 0).Address End If End Sub 

第1-5行的结果:

在这里输入图像说明

第6行结果++:

在这里输入图像说明

让我们知道这是否有帮助。

这个例子使用select

 Sub RangeCheck() If ActiveCell.Row < 6 Then MsgBox ".OFFSET(-5,0) will fail" End If End Sub