在Excel VBA中使用偏移时出错

时间:2014-04-02 16:07:53

标签: excel excel-vba vba

我在VBA中使用偏移功能。但是,例如,当我在第一行时,offset(-5,0)会返回错误消息。当然,当我在第一行时,我无法抵消-5行。

我该如何检查?

我尝试使用if rangeEx = range("A1"),但它不起作用。

2 个答案:

答案 0 :(得分:2)

此示例使用选择

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

答案 1 :(得分:2)

您可以检查单元格的.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行的结果:

enter image description here

第6行的结果++:

enter image description here

如果有帮助,请告诉我们。